私たちのインターネットで組み立てられたチームがプログラミングしているゲームでは、視聴者全員がゲーム内で全速力を超えていると想定しています。
したがって、ビデオ RAM を節約し、できればグラフィック カードのアイドル時間をもう少し増やすには、ダブル バッファリングなしで V-sync を使用するのが最善の選択肢です。したがって、OpenGL では、その方法を知る必要があります。
私の理解では、V-sync とは、グラフィック カードが 1 つのフレームのレンダリングを完了してから、そのフレームがディスプレイ デバイスに送信されるまで一時停止することです。ダブル バッファリングは、レンダリング操作を一時停止しません (または、一時停止するか、または実装固有である可能性があります。不明です)。これは、代わりに、フレーム バッファーにコピーする前に 2 番目のバッファーに描画するため、モニターがフル フレームを取得するか、またはまったく取得しないためです。新しいフレーム (具体的には、フレーム バッファに最後に保存された画像)。グラフィックカードが必要なときにのみフレームバッファに書き込む限り、その機能は必要ありません。
これはかなり遅いオンライン ゲームです (しかし、非常にクリエイティブです ^_^)。リアルタイムのアクションはほとんどありません。したがって、非常に正確なユーザー入力は必要ありません。フレームをレンダリングする前に、いつでも OS から単一のユニットとしてキャプチャできます。
したがって、これを正確に行うには、OpenGL から「フレームがモニターへの送信を終了しました」というメッセージを取得できる必要があります。出来ますか?そうでない場合、最良の代替手段は何ですか?
ゲームは現時点では Windows 用にのみプログラムされていますが、数か月以内に Linux 用に作業が完了するはずです。