我有一個基於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
0
A
回答
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,那麼我認爲你不能希望應用程序在功能較弱的設備上正常工作,如果你沒有找到一種方法來減少你的着色器使用的週期數量(簡化/切割效果等)
相關問題
- 1. PowerVR SGX535着色器性能(OpenGL ES 2.0)
- 2. OpenGL ES 2.0中的着色器Android
- 3. OpenGL ES 2.0:屬性沒有綁定在頂點着色器
- 4. Opengl ES動態重載着色器
- 5. OpenGL ES 2.0中的着色器之間切換性能是否有所下降?
- 6. opengl es 2.0加速着色器效果
- 7. 從OpenGL ES 2.0着色器返回值
- 8. OpenGL ES 2.0等離子着色器
- 9. OpenGL ES 2.0着色器最佳實踐
- 10. OpenGL ES 2.0 - 在頂點着色器中找不到屬性
- 11. 通過glUniform OpenGL ES 2.0在着色器中移動對象
- 12. OpenGL ES支持環境着色器嗎?
- 13. Android中的着色器在OpenGL ES中
- 14. OpenGL ES 2.0中片段着色器的非均勻顏色值
- 15. OpenGL着色器的性能分析
- 16. 的OpenGL ES 2.0片段着色運算不正確iOS上
- 17. Android 2.3 - 不能編譯openGL 2.0 ES片段着色器
- 18. OpenGL ES 1.x着色器
- 19. 如何在OpenGL ES 2.0着色器中處理NaN或inf
- 20. 如何在OpenGL ES 2.0中獲得「發光」着色器效果?
- 21. GLSL的OpenGL ES 3.0,無法編譯的着色器:不支持的着色器版本
- 22. OpenGL ES 2.0片段着色器模糊速度慢,質量低
- 23. 在片段着色器(iOS 5 + OpenGL ES 2.0)中優化GLSL代碼
- 24. 正確的頂點着色器代碼? OpenGL ES 2.0的
- 25. 指定頂點着色器的法線的OpenGL ES 2.0
- 26. 的OpenGL ES 2.0與iPhone - 頂點着色均勻不能位於
- 27. OpenGL ES和OpenGL兼容着色器
- 28. 移動到ES 3.0後,頂點着色器不會編譯IOS
- 29. 在opengl es 2.0中着色的立方體
- 30. 提高Opengl的2.0片段着色器