iPhone 3GS OpenGL奇怪的bug
我正在开发一款使用OpenGL ES 1.1的iPhone和iPod Touch的2D游戏。在iPhone,iPhone 3G和所有iPod Touch型号上,一切正常。游戏通常以〜60 FPS渲染场景。iPhone 3GS OpenGL奇怪的bug
这也发生在iPhone 3GS上,但有时(这是完全随机的),3GS将帧率降至40 FPS左右,动画看起来不稳定。如果用户锁定手机并将其从睡眠模式恢复,也会发生这种情况。
我认为它与NSTimer有关,因为如果我将绘图触发模式更改为可从SDK 3.1+获得的新CADisplayLink类,那么在所有设备上以及在3GS上都可以。
我不知道如何解决这个问题,我不想用3.1+限制发布我的应用程序。 3.0设备仍然有很多用户。
任何人都有iPhone 3GS的这个问题吗?如果是这样,请帮我解决。
谢谢!
您可以同时使用这两个库,并在3.0或3.1设备上获得最佳结果。 这应该没问题,因为AppStore使用的iPhone OS最低版本包含在应用程序的Info.plist文件中。
的iPhone OS版本是retreivable使用下面的代码从苹果公司的UI Device Class Reference:
float iPhoneOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (iPhoneOSVersion >= 3.1) {
useNewerFramework();
} else {
useOlderFramework();
}
然而,你也应该确保你在Xcode中设置您的部署目标到3.0或任何最低版本要运行上。
你在3GS上遇到过同样的问题吗? – 2009-12-02 14:04:18
我一直有同样的问题......开车自己疯了试图解决它。希望这个作品! – Adam 2010-03-13 14:29:39