【发布时间】:2010-08-04 01:57:57
【问题描述】:
我的 2D OpenGL ES iPhone 游戏遇到了一些间歇性瓶颈。当我在 Shark 中对其进行分析时,并没有什么特别之处。在游戏中,背景占据了整个屏幕,我有大约 7-8 个较小的精灵在屏幕上连续移动。在大多数情况下它运行顺利,但时不时地我会得到一个小的框架口吃。这是经常移动的游戏的常见问题吗?
另外,作为旁注,我正在调用 glClear(GL_COLOR_BUFFER_BIT);在每一帧渲染之后。如果我忽略它,我仍然偶尔会出现一些跳帧,但它比我保留 glClear 调用的频率要低。我还在为我的所有游戏精灵使用单个 spritesheet 纹理。
【问题讨论】:
-
如果您已经意识到不需要它,为什么还要调用 glClear?如果您只是要再次在屏幕上绘制背景,那么清除屏幕是没有意义的。
-
经过进一步研究后,我发现在 iphone 硬件上保留 glClear 实际上会导致性能下降。在其他设备上可能并非如此。
标签: iphone performance opengl-es