1

ゲームプレイを制御するために基本的に2つのタイマーを持つゲームに取り組んでいます。1 つのタイマーは、フレームごとに (OpenGL を使用して) ディスプレイを再描画するための呼び出しを行う CADisplayLink であるため、60 Hz をわずかに下回ります。もう 1 つのタイマーは、ゲーム ロジックを更新する NSTimer で、30 Hz から 100 Hz の間で実行してみました。

iOS シミュレーターでプログラムを実行すると、ラグが発生し、フレームがスキップされているように見えます。Xcode を使用して携帯電話でプログラムを実行すると、遅延やスキップなしで完全に動作します。次に、携帯電話のホーム画面のアイコンからプログラムを実行すると、ラグが発生します。

プログラムを電話にロードして Xcode から実行し、電話自体から起動することにはどのような違いがありますか? Xcode デバッガーと通信していることは理解していますが、Xcode に接続するとどのように機能するのでしょうか?

最後に、同じ CADisplayLink からゲーム ロジックとグラフィックスの両方を実行すると、遅延が大幅に減少するようです。表示リンクと NSTimer の両方が本当にこのような問題を引き起こしているのでしょうか?

4

0 に答える 0