Windows Aeroがオンの場合、AeroなしでBasicテーマを使用する場合とは異なり、画面が破損することはありません。
しかし、デスクトップで何かをするときよりも、垂直同期を使用するゲームの入力ラグがはるかに大きいように見えるのはなぜですか?ゲームに組み込まれている方法を使用している場合よりも、V-syncをオフにしてウィンドウゲームを同期するようです。
なぜ、どのようにこれが起こる、または起こるように見えるのですか?
Windows Aeroがオンの場合、AeroなしでBasicテーマを使用する場合とは異なり、画面が破損することはありません。
しかし、デスクトップで何かをするときよりも、垂直同期を使用するゲームの入力ラグがはるかに大きいように見えるのはなぜですか?ゲームに組み込まれている方法を使用している場合よりも、V-syncをオフにしてウィンドウゲームを同期するようです。
なぜ、どのようにこれが起こる、または起こるように見えるのですか?
回答:
実際、AeroがアプリケーションでVSYNCを強制することなくティアリングを防止できるのは、合成ウィンドウマネージャーであるためです。実行中のアプリケーションに関して、デスクトップとすべてのウィンドウを非同期に描画します。
つまり、Windows Vista / 7で合成を有効にすると(Windows 8では常に有効になります)、最後から最後にスワップされた最後の画像のコピーを使用してすべてのウィンドウが描画されます。コンポジター(MicrosoftはDWM、デスクトップウィンドウマネージャーと呼びます)はVSYNCを有効にしてすべてを合成します。また、各ウィンドウの最後に完全にスワップされたフロントバッファーイメージのコピーを使用して描画するため、部分的に描画されたフレームを表示しません。ただし、フロントバッファに排他的に描画するように設計された本当に古いソフトウェアが正しく動作するのを防ぐという不幸な副作用がありますが、最新のソフトウェアはこれを行いません。
一言で言えば、DWMは裂け目に対する保護層を追加します。システム上で実行されているアプリケーションが、ディスプレイのリフレッシュレートに関係なく一定の速度で描画でき、それでもティアリングを防止できるもの。そのようなシステムでは、ウィンドウモードでは、OpenGLまたはDirect3DでVSYNCを有効にする唯一の利点は、実際にCPU / GPUの使用を抑制することです。
これがアダプティブVSYNCが作成された理由です。ディスプレイのリフレッシュレートを維持することができないアプリケーションを、リフレッシュレートの低い係数(たとえば60 Hz-> 30、20、15、10、12 、6、5、4、3、2、1)が、モニターがCPU / GPU電力を過剰に使用して画像を表示できるよりも高速に描画しているアプリケーションを制限します。
Aeroを有効にすると、デスクトップウィンドウマネージャーはダブルバッファリングを使用します。
Windows Aero機能は、ダブルバッファリングを広く使用して画面に描画します。
ウィキペディアには、画面の破損を防ぐためにV-syncでこれをどのように使用するかについて述べています。
垂直ブランキング期間中、ドライバーはビデオカードに、オフスクリーングラフィックス領域をアクティブな表示領域にすばやくコピーするか(ダブルバッファリング)、両方のメモリ領域を表示可能として扱い、それらを単純に切り替えます(ページ反転)。
ダブルバッファリング+ V-syncをオンにすると、ティアリングは発生しません。Aeroはたまたまその構成を使用しています。