2015-07-03 35 views
0

我有一個基於OpenGL ES 3.0的IOS應用程序,我將把它移植到ES 2.0。它包含一些昂貴的着色器,我猜,循環和ifs。雖然應用程序在OpenGL ES 3.0設備上正常運行,但我不確定它是否能在ES 2.0設備上運行良好(我沒有)。所以我想知道較舊的IOS設備處理動態分支結構與較新的設備相比有多好?有沒有人看過一些相關的基準?IOS:在OpenGL ES 2.0中具有動態分支的着色器的性能vs 3.0

回答

2

這不是一個GLES2或GLES3問題,因爲您可以在GLES3.0設備上使用GLES2.0(甚至GLES1.0)。

這是關於GPU的片段處理能力,處理每幀需要的片段數量,着色器的週期成本(您可以使用可在PVRShaderEditor工具中找到的工具Imagination Technologies網站)以及如何閱讀着色器中的紋理。

功能較弱的ES3.0兼容設備是iPhone 5S。因此,如果你目前在5S上有60fps的恆定值,那麼對於像iPhone5和4S這樣的設備我就不會太擔心了,你可能會得到20fps或更高的20fps。在iPad2/3上,您可能需要使用降低的分辨率,因爲那些屏幕很大,GPU可能無法使用。 現在對於iPhone4來說,這是另一個故事......當設備在着色器中執行復雜的事情時,這個設備非常慢(超過20個週期會導致性能下降)和/或如果你使用透明度很多(例如:全屏透明四邊形顯示在其他元素上)或者如果您使用渲染目標進行後處理。

如果你在iPhone5S的25/30fps,那麼我認爲你不能希望應用程序在功能較弱的設備上正常工作,如果你沒有找到一種方法來減少你的着色器使用的週期數量(簡化/切割效果等)

相關問題