60hz で動作する NSTimer があります。OpenGL シーンをロードしてレンダリングすると、私のゲームは 60 fps で、1 日中しっかりと動作します。その後、アプリを再コンパイルまたはリロードすると、40 fps になります。同じリソースが読み込まれました。私は何年もこの問題に直面してきましたが、その理由を知りたいだけです。ばかげています。この愚かなタイマーを放棄する必要があるかどうかを知りたいです。私の 3GS では、ロード間で条件に違いはありません。たまに40fps出ます。明らかに、ロード間でクロックレートに違いはないため、一定のシーンではパフォーマンスの数値は一定である必要があります。これが私のフレームレートのログです:
良い負荷: :-)
フレームレート: 61 フレームレート: 61 フレームレート: 61 フレームレート: 60 フレームレート: 60 フレームレート: 61 フレームレート: 60 フレームレート: 60 フレームレート: 61 フレームレート: 60 フレームレート: 61
さて、先に進み、何もせず、再コンパイルして実行します。
フレームレート: 43 フレームレート: 50 フレームレート: 45 フレームレート: 48 フレームレート: 40 フレームレート: 45 フレームレート: 42 フレームレート: 41 フレームレート: 42 フレームレート: 44 フレームレート: 41 フレームレート: 46
^- 視覚的に大きな違い。フライング一体がこれを引き起こす可能性は何ですか?
シーンの同じエリア、同じカメラ設定。変数に違いはありません。
[編集] ハードウェア デコーダーで実行されていない音楽が原因である可能性があり、セットアップしてもデコーダーが引き継がれない場合があると言う人もいます。ただし、音楽を無効にしても、これは発生すると言えます[/編集]