ユーザーが解像度と垂直同期間隔が異なる2台以上のモニターを使用している場合に発生する可能性のある状況に対処するための最良の方法は何ですか?
これは、ゲームのタイムステップが固定されており、ウィンドウモードで実行されている場合に当てはまります。一方のモニターのフレームレートが60.056で、もう一方のモニターのフレームレートが59.94である場合、垂直同期は最終的にその仕事に失敗します。ゲームウィンドウがメイン画面から別の画面に移動した。
タイムステップが他の同期レートに適切に調整されていないため、一時的なエイリアシングも発生します。ゲームは通常、この問題にどのように対処しますか?
あなたが何をしようとしているのか-正確に-
—
パンダパジャマ2013年
@PandaPajama私は、プレーヤーが画面間でゲームウィンドウをスムーズに移動できるようにして、A)いかなる点でもティアリングが発生しないようにし、B)いかなる点でもフレームが繰り返されないようにします。ロジックはそれとは独立していると思うので、質問の範囲をレンダリングのみに限定します。
—
NmdMystery 2013年
ゲームロジックの実行がレンダリングコードよりも遅い場合にのみ、フレームが繰り返されます。60ロジックfps、60.056グラフィックfpsでは、平均して18秒ごとに1つのフレームが繰り返されます。これには0.017秒かかり、ほとんど気付かれません。DEFINITELYにフレームの繰り返しが絶対にない場合は、ゲームロジックをはるかに高速なフレームレートで使用できます。200fpsと言います。多くの処理を浪費し、多くのフレームが欠落しますが、フレームの繰り返しは得られません。これが目的のようです。
—
パンダパジャマ2013年
これはもちろん、ゲームコードの大部分を含む、離散時間ステップのある世界に有効です。複雑さ(最適)
—
パンダパジャマ2013年
n
未満で任意の時間のゲーム世界の状態を一貫して計算できる場合、私が言ったことのいずれも当てはまりません。対話型シミュレーションは、そのように機能する傾向はありません。O(n)
O(1)