Platform SDK: DirectX |
描画サーフェスは、スクリーン上にイメージ (正確にはビットマップ) として表示されるビデオ データを受け取る。多くの Windows プログラムは、GetDC (GetDC は、デバイス コンテキスト (DC) の取得を表す) などの Win32 関数を使って描画サーフェスにアクセスし、デバイス コンテキストを取得することで、スクリーン上に描画を行っている。しかし、Win32 グラフィックス関数は、グラフィックス デバイス インターフェイス (GDI) から提供されている。GDI は、標準の Windows アプリケーションがスクリーン上に描画するために使用するアブストラクション レイヤを提供するシステム コンポーネントである。
GDI のデメリットは、ワープロや表計算アプリケーションなどビジネス アプリケーションでの利用を目的として設計されている点であり、ハイパフォーマンス マルチメディア ソフトウェアとして設計されているのではないことにある。GDI では、ビデオ メモリではなくシステム メモリのビデオ バッファにアクセスし、ビデオ カードが持っている機能を利用することもない。つまり、GDI は、多くのビジネス アプリケーションではその威力を発揮するが、マルチメディア ソフトやゲーム ソフトにおいては、そのパフォーマンスが非常に低下する。
これに対して DirectDraw は、実際のビデオ メモリを表す描画サーフェスを提供している。このため、DirectDraw を使ってビデオ カード上のメモリに直接書き込むことができ、グラフィックス ルーチンを高速化できる。これらのサーフェスは連続したメモリのブロックとして表され、そこでのアドレス指定が容易になる。
詳細については、「サーフェス」を参照すること。