2013-06-27 24 views
0

我在iPhone openGL ES項目中使用多重取樣。只需使用glClear命令就可以使渲染器利用率達到近42%。這是應該的方式還是我做錯了什麼?我正在使用iPod Touch第4代進行測試。glClear對填充率有很高的影響嗎?

回答

1

您的意思是渲染器的利用率在由場景組成的渲染中達到〜42%+與僅由場景組成的渲染相比,渲染器的利用率爲42%

glClear()是PowerVR GPU上的一種非常高效的操作,因爲清除是在由GPU處理的圖塊上完成的。我可以考慮的唯一情況是如果測試只包含一個清晰和交換每幀,而不是交換(其中GPU工作將被優化),那麼清楚地引入開銷的情況。

Apple's online documentation給出了glClear是如何解釋他們的圖形驅動程序的一些見解。

如果您想了解更多有關的PowerVR架構,以及如何像glClear操作()進行處理,我也建議閱讀「SGX架構開發者指南」 &「的PowerVR性能的建議」上想象的documentation page

+0

沒有。只有glClearColor和glClear命令以及我的其他繪圖代碼都被註釋掉了,它的利用率達到了42%。 glClear與使用填充顏色渲染全屏矩形相同嗎? – rakeshbs

+0

啊,好的。如上所述,沒有工作的渲染將被優化。你會看到渲染器的工作量增加,因爲GPU已經被告知處理清晰(這是非常便宜的,但肯定比不渲染任何東西更昂貴)。 這不是一個全屏四。當glClear被調用時,標誌被傳遞給GPU,指示哪些緩衝區應該被清除(優化路徑)。 在PowerVR GPU上,除非需要保留以前的渲染,否則應始終使用glClear。該標誌還表示以前的圖像不需要上傳到GPU。 –

+0

因此在使用多重採樣時獲得如此高的利用率是正常的。如果我關閉多重採樣,只需glClear()並且不需要其他繪圖代碼就可以降低到18%左右。 – rakeshbs