Platform SDK: DirectX

非ローカル ビデオ メモリ サーフェスの使用

DirectDraw は、非ローカル ビデオ メモリでサーフェスを作成するために AGP (Advanced Graphics Port) アーキテクチャをサポートする。AGP を装備したシステムでは、ローカル ビデオ メモリが満杯である場合や非ローカル ビデオ メモリが明示的に要求されている場合に、装備されている AGP の実装タイプにより、DirectDraw は非ローカル ビデオ メモリを使用する。

[C++]

現時点では、"実行モデル" および "DMA モデル " として知られている 2 つの AGP アーキテクチャ実装がある。実行モデルの実装では、ディスプレイ デバイスは非ローカル ビデオ メモリ サーフェスとローカル ビデオ メモリ サーフェスで同一の機能をサポートする。その結果、ハードウェア能力を取得するために IDirectDraw7::GetCaps メソッドを呼び出すと、DDCAPS 構造体の dwNLVBCapsdwNLVBCaps2dwNLVBCKeyCapsdwNLVBFXCaps、および dwNLVBRops メンバにあるブリット関連のフラグは、ローカル ビデオ メモリの場合と同一になる。実行モデルでは、ローカル ビデオ メモリが満杯になると、呼び出しで特に指定がない限り、DirectDraw は自動的に非ローカル ビデオ メモリに頼ろうとする。

DMA モデルの実装では、非ローカル ビデオ メモリ サーフェスからのブリットやテクスチャリングのサポートが制限される。ディスプレイ デバイスが DMA モデルを使用する場合、デバイス能力を取得するときに dwCaps2 メンバに DDCAPS2_NONLOCALVIDMEMCAPS フラグが設定される。DMA モデルでは、DDCAPS 構造体の dwNLVBCapsdwNLVBCaps2dwNLVBCKeyCapsdwNLVBFXCaps、および dwNLVBRops メンバに含まれるブリット関連のフラグは、サポートする機能を記述する。DMA モデルでは、ローカル ビデオ メモリが満杯のときに、呼び出しが明示的にローカル ビデオ メモリを要求しない限り、DirectDraw は自動的にテクスチャ サーフェスだけに対して非ローカル ビデオ メモリに頼る。このような方法で処理されるのはテクスチャ サーフェスだけである。その他のタイプのサーフェスはすべて、呼び出しが明示的に非ローカル メモリを要求しない限り、非ローカル ビデオ メモリに作成できない。

DMA モデルの実装では、非ローカル ビデオ メモリ サーフェスからのテクスチャリングに対するサポートはさまざまである。ドライバが非ローカル ビデオ メモリ サーフェスからのテクスチャリングをサポートする場合、IDirect3DDevice7::GetCaps メソッドを呼び出して 3D ドライバ能力を取得するときに、D3DDEVCAPS_TEXTURENONLOCALVIDMEM フラグが設定される。

[Visual Basic]

現時点では、"実行モデル" および "DMA モデル " として知られている 2 つの AGP アーキテクチャ実装がある。実行モデルの実装では、ディスプレイ デバイスは非ローカル ビデオ メモリ サーフェスとローカル ビデオ メモリ サーフェスで同一の機能をサポートする。その結果、ハードウェア能力を取得するために DirectDraw7.GetCaps メソッドを呼び出すと、DDCAPS 型の lNLVBCapslNLVBCaps2lNLVBCKeyCapslNLVBFXCaps および lNLVBRops メンバにあるブリット関連のフラグは、ローカル ビデオ メモリの場合と同一になる。実行モデルでは、ローカル ビデオ メモリが満杯になると、呼び出しで特に指定がない限り、DirectDraw は自動的に非ローカル ビデオ メモリに頼ろうとする。

DMA モデルの実装では、非ローカル ビデオ メモリ サーフェスからのブリットやテクスチャリングのサポートが制限される。ディスプレイ デバイスが DMA モデルを使用する場合、デバイス能力を取得するときに lCaps2 メンバに DDCAPS2_NONLOCALVIDMEMCAPS フラグが設定される。DMA モデルでは、DDCAPS 型の lNLVBCapslNLVBCaps2lNLVBCKeyCapslNLVBFXCaps、および lNLVBRops メンバに含まれるブリット関連のフラグは、サポートする機能を記述する。DMA モデルでは、ローカル ビデオ メモリが満杯のときに、呼び出しが明示的にローカル ビデオ メモリを要求しない限り、DirectDraw は自動的にテクスチャ サーフェスだけに対して非ローカル ビデオ メモリに頼る。このような方法で処理されるのはテクスチャ サーフェスだけである。その他のタイプのサーフェスはすべて、呼び出しが明示的に非ローカル メモリを要求しない限り、非ローカル ビデオ メモリに作成できない。

DMA モデルの実装では、非ローカル ビデオ メモリ サーフェスからのテクスチャリングに対するサポートはさまざまである。ドライバが非ローカル ビデオ メモリ サーフェスからのテクスチャリングをサポートする場合、Direct3DDevice7.GetCaps メソッドを呼び出して 3D ドライバ能力を取得するときに、D3DDEVCAPS_TEXTURENONLOCALVIDMEM フラグが設定される。