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

12

我目前正在为iPad游戏编写几个着色器,但似乎苹果的GLSL编译器没有进行任何优化(或者极少)。我可以将着色器中的一行代码移动,就会将帧率从30降至24,但我真的不知道为什么会发生这种情况。

有没有人能提供以下方面的参考资料:

  • GLSL指令生成的PowerVR指令是什么?
  • PowerVR指令的时间是多少?
  • PowerVR535中有哪些类型的并行处理单元,并且如何利用它们?

谢谢, Tristan

2个回答

13

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

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

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

PVRUniSCoEditor

很棒的消息,没有什么比走到电脑前测试时间更烦人了。 - T Campbell
1
2013年4月更新:最新的PowerVR SDK包括工具(命令行编译器和GUI编辑器,如PVRShaman和PVRShaderEditor),不需要X11,并且可以在着色器代码上注释估计的周期计数。 - mattorb

5

2
感谢您的回答。不幸的是,通过进一步阅读,PowerVR决定不公开GLSL编译成的实际汇编代码。我发现最好的方法是使用PowerVRUniSCo为顶点和片段着色器提供周期计数。令人恼火的是,这个工具只能在PC和Linux上使用。 - T Campbell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接