aka*_*aii 5 iphone optimization opengl-es instruments
我试图尽可能高地将我的FPS从30上升到iPhone 3Gs ......我遇到了几个问题,并且认为最好是寻求建议.
1)OpenGL ES Instrument上的Renderer Utilization和Tiler Utilization列到底意味着什么?我的Tiler Utiliation百分比非常低,我的渲染器利用率在用户交互期间以及当应用程序翻转为横向模式时趋于下降.我注意到,只要渲染器利用率值下降,我的FPS就会下降.在横向模式下我的FPS下降对我来说特别奇怪,因为纵向模式和横向模式使用完全相同的游戏逻辑和纹理......并且横向模式实际上渲染了更少的顶点/三角形来启动(UI的某些部分不是在横向模式下绘制).
2)我已经在ngmoco/Stanford视频中完成了大部分推荐的优化,我认为我能做的唯一事情就是将GLfloats更改为GLshorts并将我的顶点与我的纹理坐标交织成一个数组.这些中的任何一个都可能对我的FPS产生很大影响吗?这是一款2D精灵游戏,拥有大量细节纹理......
3)隐藏多边形的更快的方法是:将所有顶点设置为相同的坐标(基本上,将其缩小到某个点),或将其alpha值设置为0?我猜它是前者,因为混合速度一般较慢,而且在iPhone上特别昂贵.
4)目前,我使用2 512x512纹理,1024x512纹理和256x256纹理.我已经就如何最好地管理它寻求建议,并且由于iPhone 3G上的内存问题,我被告知不要将它们组合成1个1024x1024纹理.我想在这里确认一下,因为如果我将所有内容都放入1个纹理中,我就可以根除必须重复调用glBindTexture ...
对于 #4:(a) 是的,iPhone 被记录为不处理单边大于 1024 的图像。1024x1024 是最大的理论限制,但如果您尝试直接突破该限制,可能会遇到问题。
(b) 所有纹理都不适合 1024x1024;在 1024x512 和 2 512x512 填充该空间后,您仍然会剩下 256x256。