2010-07-23 197 views
12

我目前正在研究iPad游戏的几个着色器,并且好像Apple的GLSL编译器没有进行任何优化(或者很少)。我可以在着色器中移动一行,并将我的FPS从30降低到24,但我真的不知道为什么会发生这种情况。PowerVR SGX535着色器性能(OpenGL ES 2.0)

没有人有下列任何引用:

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

感谢, 特里斯坦

回答

5

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

这documet应该可以帮助您优化着色器以获得最大性能。苹果应该也提供类似的信息。

+2

感谢您的回答。不幸的是,从进一步的阅读中,PowerVR决定不发布GLSL编译成的实际程序集。我发现最好的选择是使用PowerVRUniSCo为顶点和片段着色器提供循环计数。烦人的是,这个工具只适用于PC和Linux。 – 2010-08-04 20:16:43

13

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

该编辑器为您提供了整个顶点或片段着色器所需的GPU循环数量的逐行估计,以及更精确的所需总循环的最佳和最差情况估计。

我一直在使用它来分析我的iOS着色器,它已被证明是在寻找热点极为有用: PVRUniSCoEditor

+0

很高兴知道没有什么比在我的个人电脑上测试计时更烦人了。 – 2011-05-25 21:14:44

+1

2013年4月更新:最新的PowerVR SDK包含不需要X11的工具(命令行编译器和gui编辑器,如PVRShaman和PVRShaderEditor),并且可以在着色器代码上注释估计的周期数。 – mattorb 2013-04-18 13:59:48

相关问题