我目前正在为iPad游戏编写几个着色器,但似乎苹果的GLSL编译器没有进行任何优化(或者极少)。我可以将着色器中的一行代码移动,就会将帧率从30降至24,但我真的不知道为什么会发生这种情况。
有没有人能提供以下方面的参考资料:
- GLSL指令生成的PowerVR指令是什么?
- PowerVR指令的时间是多少?
- PowerVR535中有哪些类型的并行处理单元,并且如何利用它们?
谢谢, Tristan
Imagination Technologies最近为他们的PVRUniSCo编译器和PVRUniSCoEditor交互式着色器编辑器添加了Mac支持。这些可以作为PowerVR SDK的一部分免费下载。编译器支持PowerVR SGX 53x系列以及iPad 2中的540系列。不幸的是,编辑器作为一个笨重的X11应用程序运行,但至少现在它工作了。
编辑器为您提供逐行估计所需GPU周期数的顶点或片段着色器,并更准确地估算总周期数的最佳和最差情况。
我一直在使用它来分析我的iOS着色器,它已经被证明在查找热点方面非常有用: