PowerVR SGX535着色器性能(OpenGL ES 2.0)

T C*_*ell 12 iphone opengl-es glsl ipad

我目前正在研究iPad游戏的几个着色器,似乎Apple的GLSL编译器没有做任何优化(或者很少).我可以在着色器中移动一行并将我的FPS从30降到24但我真的不知道为什么会发生这种情况.

有没有人对以下内容有任何参考:

  • 从GLSL指令生成什么PowerVR指令?
  • PowerVR指令的时序是什么?
  • PowerVR535中有哪些并行处理单元,它们如何被利用?

谢谢,特里斯坦

Bra*_*son 13

Imagination Technologies最近为他们的PVRUniSCo编译器和PVRUniSCoEditor交互式着色器编辑器添加了Mac支持.这些可以作为PowerVR SDK的一部分免费下载.编译器支持PowerVR SGX 53x系列以及iPad 2中的540系列.不幸的是,编辑器作为一个笨重的X11应用程序运行,但至少现在可以正常运行.

编辑器为您提供逐行估计整个顶点或片段着色器所需的GPU周期数,以及所需总周期的更准确的最佳和最差情况估计.

我一直在使用它来分析我的iOS着色器,它已被证明在查找热点方面非常有用: PVRUniSCoEditor


Mat*_*gro 5

http://www.imgtec.net/factsheets/SDK/POWERVR%20SGX.OpenGL%20ES%202.0%20Application%20Development%20Recommendations.1.1f.External.pdf

此文档应该可以帮助您优化着色器以获得最佳性能.Apple也应该提供类似的信息.

  • 谢谢你的回答.不幸的是,从进一步阅读PowerVR决定不发布GLSL编译成的实际程序集.我发现最好的选择是使用PowerVRUniSCo为顶点和片段着色器提供循环计数.令人讨厌的是,这个工具仅适用于PC和Linux. (2认同)