デスクトップ ウィンドウ マネージャー

Windows Vista の前では、Windows プログラムが画面に直接描画されます。 つまり、プログラムは、ビデオ カードによって表示されるメモリ バッファーに直接書き込みます。 この方法では、ウィンドウ自体が正しく再描画されない場合に、視覚的なアーティファクトが発生する可能性があります。 たとえば、ユーザーが別のウィンドウの上に 1 つのウィンドウをドラッグし、その下のウィンドウが十分に速く再描画されない場合、最上位のウィンドウは証跡を残すことができます。

アーティファクトの再描画を示すスクリーンショット。

この証跡は、両方のウィンドウが同じメモリ領域にペイントされるために発生します。 一番上のウィンドウがドラッグされると、その下のウィンドウを再描画する必要があります。 再描画が遅すぎると、前の画像に示されている成果物が発生します。

Windows Vista では、デスクトップ ウィンドウ マネージャー (DWM) を導入することで、ウィンドウの描画方法が根本的に変更されました。 DWM が有効になっている場合、ウィンドウは表示バッファーに直接描画されなくなります。 代わりに、各ウィンドウはオフスクリーン メモリ バッファー ( オフスクリーン サーフェスとも呼ばれます) に描画します。 その後、DWM によってこれらのサーフェスが画面に合成されます。

dwm がデスクトップを合成する方法を示す図。

DWM は、古いグラフィックス アーキテクチャよりもいくつかの利点を提供します。

  • 再描画メッセージの数を減らします。 ウィンドウが別のウィンドウによって妨げられるとき、遮られたウィンドウ自体を再描画する必要はありません。
  • 成果物の削減。 以前は、ウィンドウをドラッグすると、説明されているように視覚的な成果物が作成される可能性があります。
  • 視覚効果。 DWM は画面の合成を担当しているため、ウィンドウの半透明でぼやけた領域をレンダリングできます。
  • 高 DPI の自動スケーリング。 スケーリングは高 DPI を処理する理想的な方法ではありませんが、高 DPI 設定用に設計されていない古いアプリケーションでは実行可能なフォールバックです。 (このトピックについては、後で「DPI」と「 ピクセルのDevice-Independent」セクションに戻ります)。
  • 代替ビュー。 DWM は、さまざまな興味深い方法でオフスクリーン サーフェスを使用できます。 たとえば、DWM は Windows Flip 3D、サムネイル、アニメーション画面切り替えの背後にあるテクノロジです。

ただし、DWM が有効になることは保証されていないことに注意してください。 グラフィックス カードは DWM システム要件をサポートしていない場合があり、ユーザーは [システム プロパティ] コントロール パネルを使用して DWM を無効にすることができます。 つまり、プログラムは DWM の再描画動作に依存しないでください。 DWM が無効になっているプログラムをテストして、正しく再描画されていることを確認します。

次へ

保持モードとイミディエイト モード