PowerVR SGX535 Shader Performance (OpenGL ES 2.0)

牧云@^-^@ 提交于 2019-11-30 06:48:15

问题


I'm currently working on a couple of shaders for an iPad game and it seems as if Apple's GLSL compiler isn't doing any optimizations (or very few). I can move a single line in a shader and drop my FPS from 30 to 24 but I really have no idea why this is happening.

Does anyone have any references for the following:

  • what PowerVR instructions are generated from GLSL instructions?
  • what are the timings of the PowerVR instructions?
  • what sort of parallel processing units are in the PowerVR535 and how can they be exploited?

Thanks, Tristan


回答1:


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

This documet should help you to optimize your shaders for maximum performance. Apple should provide similar information as well.




回答2:


Imagination Technologies recently added Mac support for their PVRUniSCo compiler and PVRUniSCoEditor interactive shader editor. These can be downloaded for free as part of the PowerVR SDK. The compiler has support for both the PowerVR SGX 53x series as well as the 540 series in the iPad 2. Unfortunately, the editor runs as a clunky X11 application, but at least it works now.

The editor gives you line-by-line estimates of the number of GPU cycles required throughout your vertex or fragment shader, as well as more accurate best and worst case estimates of total cycles required.

I've been using it to profile my iOS shaders, and it has proven to be extremely useful in finding hotspots:



来源:https://stackoverflow.com/questions/3320661/powervr-sgx535-shader-performance-opengl-es-2-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!