2016-09-23 148 views
-2

我要實現上,我對此有一點想法移動設備的GLSL着色器分析工具。 的GLSL着色器分析工具包的想法是運行在不同的移動設備這程序,然後,得到的藝術家一個簡單的印象哪個操作是最昂貴的:FShader,VShader,光柵化或帶的寬度。但我不知道如何測量VShader(VShader部分的想法是測量移動設備在給定着色器時可支持的最大頂點數)。GLSL着色器分析工具

總之,我尋找有關在移動設備上的OpenGL基準,幫助。

PS,我已經吸引了許多屏幕四邊與給定的着色器上實現FShader分析,減去吸引了許多屏幕四邊爲void FShader的性能。在測試過程中深度寫入和深度測試關閉。我只想了解一下成本的一般概念,並且不想涉及編譯器和硬件。

最佳

+0

問問你的導師,如果分配不明確。這是你的實習,而不是我們的。 – 2016-09-23 14:58:48

回答

1

我知道這可能毫無意義的衡量它沒有這個天真的方式

的着色器。這是完全有可能在軟件中調節靜態模型,等等一些廠商完全關閉屏幕的幾何形狀可能不會使它的GPU在所有如果駕駛者能夠確定整個繪製操作是多餘的。

基準應該總是測量真正的應用程序實際做什麼,否則你不知道你實際測量的是否代表真實。

真正的應用程序不會使所有的幾何形狀的圓臺之外,所以它很有可能你打它至少會跳過一些幾何相關管道(例如僅僅計算位置的優化的快速路徑,而不是頂點着色器的其餘部分,或者提前丟棄整個繪製調用)。

對你來說,基準渲染很多圖層 - 對於移動GPU(大多數是基於圖塊的),在開始看到至少一些性能下降之前,對併發圖層數量有一些限制。 (因爲真正的應用程序不會渲染很多很多的圖層,所以爲什麼會浪費硬件來支持它)。如果你想要一個較慢的工作負載,然後渲染到一個大屏幕外渲染目標,或多個較小(但不是太小)。