OpenGLES1.1を使用してiPhoneおよびiPodTouch用の2Dゲームを開発しています。iPhone、iPhone 3G、およびすべてのiPodTouchモデルですべてが正常に機能します。ゲームは通常、シーンを最大60FPSでレンダリングします。
これはiPhone3GSでも発生しますが、(完全にランダムに)3GSがフレームレートを約40 FPSに下げ、アニメーションが途切れる場合があります。これは、ユーザーが電話をロックしてスリープモードから再開した場合にも発生します。
描画トリガーモードをSDK3.1以降で利用可能な新しいCADisplayLinkクラスに変更すると、すべてのデバイスですべてがOKになり、3GSでも問題がないため、NSTimerと関係があると思います。
この問題を解決する方法がわからないため、3.1以降の制限付きでアプリを投稿したくありません。3.0デバイスを使用しているユーザーはまだたくさんいます。
iPhone 3GSでもこの問題を抱えている人はいますか?もしそうなら、回避策を手伝ってください。
ありがとうございました!