我正在使用 OpenGL ES 1.1 为 iPhone 和 iPod Touch 开发 2D 游戏。在 iPhone、iPhone 3G 和所有 iPod Touch 型号上一切正常。游戏通常以约 60 FPS 的速度渲染场景。
这也发生在 iPhone 3GS 上,但有时(它是完全随机的)3GS 将帧速率降低到 40 FPS 左右,并且动画看起来不连贯。如果用户锁定手机并从睡眠模式恢复,也会发生这种情况。
我认为这与 NSTimer 有关,因为如果我将绘制触发模式更改为 SDK 3.1+ 中可用的新 CADisplayLink 类,那么所有设备上的一切都正常......在 3GS 上也是如此。
我不知道如何解决这个问题,也不想发布带有 3.1+ 限制的应用程序。仍然有很多用户使用 3.0 设备。
iPhone 3GS 也有这个问题吗?如果是这样,请帮助我解决方法。
谢谢!