【发布时间】:2011-03-08 02:49:15
【问题描述】:
我正在尝试将我在 iPhone 3G 上的 FPS 从 30 提高到尽可能高的水平……我遇到了几个问题,我认为最好寻求建议。
1) OpenGL ES Instrument 上的 Renderer Utilization 和 Tiler Utilization 列到底是什么意思?我的 Tiler Utiliation 百分比非常低,并且我的 Renderer Utilization 在用户交互期间以及当应用程序切换到横向模式时往往会下降。我注意到,每当渲染器利用率值下降时,我的 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 的麻烦...
【问题讨论】:
标签: iphone optimization opengl-es instruments