web-dev-qa-db-ja.com

FPSをモニターのリフレッシュレートよりも高くすることは理にかなっていますか?

人間の目は毎秒24枚の画像を処理すると聞いています。また、モニターは通常60Hzで動作します。

私の質問は、高度にインタラクティブなアプリケーション(たとえば、ペースの速いFPSゲーム)の場合、モニターのリフレッシュレートよりも速くレンダリングすることは理にかなっていますか?

7
André Puel

Wikipedia: "一定量の破棄された「ヘッドルーム」フレームは、不均一な(「途切れ途切れ」または「ジャンピー」)出力を排除し、プレーヤーが必要とする激しいシーケンス中にFPSが急落するのを防ぐのに役立ちます。最もスムーズなフィードバック。

フレームレートとは別に、ゲームなどのインタラクティブアプリケーションに固有の別個の関連する要素は遅延です。前処理が多すぎると、フルフレームレートが維持されている場合でも、プレーヤーのコマンドとコンピューターのフィードバックの間に顕著な遅延が発生する可能性があります。これは、入力ラグと呼ばれることがよくあります。

リアルなモーションブラーがないと、フレームレートが高くても、ビデオゲームやコンピューターアニメーションはフィルムほど流動的に見えません。動きの速いオブジェクトが2つの連続するフレームに存在する場合、2つのフレームの画像間のギャップは、オブジェクトとその残像の目での顕著な分離に寄与します。モーションブラーは、2つのフレームをつなぎ合わせたときに画像のギャップを減らす傾向があるため、この効果を軽減します。モーションブラーの効果は、基本的に、動きの速いオブジェクトの複数の画像を1つのフレームに重ね合わせることです。モーションブラーは、オブジェクトの画像が個々のフレームごとにぼやけた場合でも、人間の目にモーションをより滑らかにします。

特に複数のGPUを搭載したハードウェアでは、高いフレームレートでも流動的な動きが保証されません。この効果はマイクロスタッターとして知られています。」

それが少し役立つことを願っています。

2
xentoo

ゲームのFPSレートがモニターのリフレッシュレートよりも高い場合、レンダリングされたフレームの一部が表示されず、レンダリングに使用された時間と処理能力が無駄になります。

ほとんどのレンダリングエンジンは、画面の更新中にレンダリングされたフレームが変更されたときにグラフィカルなティアリングを回避するために同期するため、リフレッシュレートを超えることはありません。これは、CRTモニターでは V-sync と呼ばれ、プラズマ画面とLCD画面には垂直リトレース期間がありませんが、同じ原理が維持されます-画像は次の間に更新する必要があります更新します。

1
Kaivosukeltaja

残念ながら、説明はありません。ただし、フレームレート>リフレッシュレートにすることは間違いなく理にかなっています。これはヘッドマウントディスプレイで非常によく体験できます(すべてのOculus Rift Demoは、そのLCDディスプレイ)の60 Hzよりもはるかに高いフレームレートを持つことで大きなメリットがあります)。他の回答は、はるかに高いレンダリングを示唆しています。フレームレートにより、これらのフレームは完全に破棄されます。ただし、これは、ディスプレイの更新が単一のフレームに基づいている場合にのみ当てはまります。更新手順についての私の理解(LCDディスプレイの場合でも)はすべてのピクセルでの反復には一定の時間、つまり更新間隔が必要です。各ピクセルは、現在のフレームバッファー(より高い頻度で更新されます)の対応する位置にある新しいカラー値で更新されます。すべてのピクセルで1回繰り返すと、ディスプレイにいくつかの異なるレンダリングフレームが表示されます。これは、ティアリングの理由でもあります(移動する垂直線には、フレームバッファが更新された時点でオフセットがある場合があります)。私のレートは(特にHMDの場合)非常に良く感じられるので、画面のごく一部だけがこれらの高速更新の影響を受ける場合でも、より新しいレンダリングを使用することが有益である可能性があります。

0
bluenote10