【发布时间】:2010-01-15 16:40:44
【问题描述】:
我正试图从我的 iPhone OpenGL ES 应用程序中挤出一些性能提升。根据 Instruments 的说法,我的 tiler 利用率大部分时间都接近 100%,我的 FPS 大约是 24。我想让我的 FPS 超过 30。我可以通过从 GL_FLOAT 转换为 GL_SHORT 来实现,但这会带来一些目前对我来说相当艰巨的技术问题。我宁愿不去那里。
所以,我正在考虑从 glDrawArrays() 切换到 glDrawElements()。我有 35 个由 708 个顶点组成的网格,但其中很多顶点在面之间共享。我是纹理映射,但网格的颜色大多是均匀的。需要特殊纹理的面将保持原样。
假设我可以将顶点数减半。假设我还以对 iPhone 有意义的方式组织几何图形:例如,使用 Imagination Technologies PVRTTriStrip 工具。忽略索引数组的少量额外内存,这意味着我将内存带宽大致减少了一半,因此我应该会看到相当不错的性能提升。
这是真的,还是我遗漏或误解了什么?感谢您的建议。
【问题讨论】: