DirectDraw を使用する理由
DirectDraw コンポーネントは、Windows グラフィックス プログラマに多くの強力な機能を提供する。
- DirectDraw のハードウェア アブストラクション レイヤ (HAL) は、ディスプレイ ハードウェアやビデオ メモリを直接動作させるために、一貫性のあるインターフェイスを提供する。これを用いて、システム ハードウェアから最大のパフォーマンスを得ることができる。
- DirectDraw では、可能な限り、ビデオ ハードウェアの機能を使って、その能力を発揮させる。たとえば、ビデオ カードがハードウェア ブリットをサポートする場合、DirectDraw はビデオ カードにブリットを任せることで、大きくパフォーマンスを向上させる。さらに、DirectDraw ではハードウェア エミュレーション レイヤ (HEL) を提供して、ハードウェアに実装されていない機能をサポートする。
- DirectDraw は Windows システムの提供する 32 ビット メモリ アドレス指定やフラット メモリ モデルの利点を受けられる。DirectDraw は、ビデオやシステムのメモリを小さなセグメントとしてではなく、ストレージの大きなブロックとして提示する。セグメント (オフセットのアドレス指定) を使ったことがあれば、この“フラット”メモリ モデルの理解は簡単である。
- DirectDraw は、フルスクリーン アプリケーションでの複数バック バッファによるページ フリッピングの実現を容易にする。詳細については、「ページ フリッピングとバック バッファリング」を参照すること。
- ウィンドウまたはフルスクリーン アプリケーションでのクリッピングのサポート。
- 3D での Z バッファのサポート。
- Z オーダリング付きのハードウェア支援オーバーレイのサポート。
- イメージ伸縮ハードウェアへのアクセス。
- 標準および改良型ディスプレイ デバイス メモリ領域への同時アクセス。
- その他の機能として、カスタム、動的パレット、排他的ハードウェア アクセス、および解像度の切り替えなどがある。
これらの機能を組み合わせれば、標準的な Windows GDI ベースのアプリケーションや MS-DOS アプリケーションについて、簡単にその性能を向上させることが可能となる。