Microsoft DirectX 8.0 (Visual Basic)

Z バッファのパフォーマンス

シーンが前から後にレンダリングされるように、z バッファリングを使用してテクスチャ処理を行うと、アプリケーションのパフォーマンスを向上させることができる。テクスチャを適用し、z バッファを使用したプリミティブは、走査線単位で z バッファについて事前にテストされる。前にレンダリングされたポリゴンによって走査線が隠れている場合は、そのポリゴンがシステムによってすばやく効率的に除去される。z バッファリングによってパフォーマンスは向上するが、この手法はシーンでオーバードローを何度も行うときに最も有効である。オーバードローとは、スクリーン ピクセルの平均書き込み回数である。オーバードローを正確に計算するのは難しいが、近似値を求めることはできる。オーバードローの平均が 2 より小さい場合には、z バッファリングをオフにし、シーンを後から前にレンダリンすると、最高のパフォーマンスが得られる。

高速なパーソナル コンピュータの場合、ソフトウェアによるシステム メモリへのレンダリングの方が、ビデオ メモリへのレンダリングより高速であることが多い。ただし、この場合、ダブル バッファリングやハードウェア アクセラレーションによるクリア処理は使用できない。アプリケーションでシステム メモリまたはビデオ メモリのいずれにもレンダリングでき、どちらが高速であるかをテストするルーチンがあれば、現在のシステムで最適な方法を利用することができる。Microsoft® Direct3D® の SDK に収録されるサンプル コードでは、この方法を示している。速度をテストする方法がほかにないため、両方の方法を実装する必要がある。速度はコンピュータ間で大きく異なり、メインメモリ アーキテクチャや、使用するグラフィックス アダプタの種類に依存する。