D3DPOOL
列挙型メンバー 4
| 名前 | 10進 | 16進 |
|---|---|---|
| D3DPOOL_DEFAULT | 0 | 0x0 |
| D3DPOOL_MANAGED | 1 | 0x1 |
| D3DPOOL_SYSTEMMEM | 2 | 0x2 |
| D3DPOOL_SCRATCH | 3 | 0x3 |
公式ドキュメント
リソースのバッファーを保持するメモリ クラスを定義します。
解説(Remarks)
すべてのプールの種類は、頂点バッファー、インデックス バッファー、テクスチャ、サーフェイスを含むすべてのリソースで有効です。
次の表は、レンダー ターゲット、深度ステンシル、動的用途、ミップマップ用途に対するプールの種類の制限を示します。「はい」は互換性のある組み合わせを示し、「はい」がない場合は互換性がないことを示します。
| Pool | D3DUSAGE_RENDERTARGET | D3DUSAGE_DEPTHSTENCIL |
|---|---|---|
| D3DPOOL_DEFAULT | はい | はい |
| D3DPOOL_MANAGED | ||
| D3DPOOL_SCRATCH | ||
| D3DPOOL_SYSTEMMEM |
| Pool | D3DUSAGE_DYNAMIC | D3DUSAGE_AUTOGENMIPMAP |
|---|---|---|
| D3DPOOL_DEFAULT | はい | はい |
| D3DPOOL_MANAGED | はい | |
| D3DPOOL_SCRATCH | ||
| D3DPOOL_SYSTEMMEM | はい |
用途の種類の詳細については、D3DUSAGE を参照してください。
1 つのリソースに含まれる異なるオブジェクト(ミップマップ内のミップ レベル)でプールを混在させることはできず、一度プールを選択すると変更できません。
アプリケーションは、ほとんどの静的リソースに D3DPOOL_MANAGED を使用するべきです。これにより、アプリケーションはデバイスの消失(ロスト デバイス)に対処する必要がなくなります(マネージド リソースはランタイムによって復元されます)。これは、ユニファイド メモリ アーキテクチャ(UMA)システムで特に有益です。一方、動的リソースは D3DPOOL_MANAGED には適していません。実際、インデックス バッファーと頂点バッファーは、D3DPOOL_MANAGED と D3DUSAGE_DYNAMIC を組み合わせて作成することはできません。
動的テクスチャでは、ビデオ メモリとシステム メモリのテクスチャをペアで使用し、ビデオ メモリを D3DPOOL_DEFAULT で、システム メモリを D3DPOOL_SYSTEMMEM で割り当てることが望ましい場合があります。ロック用のメソッドを使用して、システム メモリ テクスチャのビットをロックして変更できます。その後、IDirect3DDevice9::UpdateTexture を使用してビデオ メモリ テクスチャを更新できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum D3DPOOL : int {
D3DPOOL_DEFAULT = 0,
D3DPOOL_MANAGED = 1,
D3DPOOL_SYSTEMMEM = 2,
D3DPOOL_SCRATCH = 3
} D3DPOOL;public enum D3DPOOL : int
{
D3DPOOL_DEFAULT = 0,
D3DPOOL_MANAGED = 1,
D3DPOOL_SYSTEMMEM = 2,
D3DPOOL_SCRATCH = 3,
}Public Enum D3DPOOL As Integer
D3DPOOL_DEFAULT = 0
D3DPOOL_MANAGED = 1
D3DPOOL_SYSTEMMEM = 2
D3DPOOL_SCRATCH = 3
End Enumimport enum
class D3DPOOL(enum.IntEnum):
D3DPOOL_DEFAULT = 0
D3DPOOL_MANAGED = 1
D3DPOOL_SYSTEMMEM = 2
D3DPOOL_SCRATCH = 3// D3DPOOL
pub const D3DPOOL_DEFAULT: i32 = 0;
pub const D3DPOOL_MANAGED: i32 = 1;
pub const D3DPOOL_SYSTEMMEM: i32 = 2;
pub const D3DPOOL_SCRATCH: i32 = 3;// D3DPOOL
const (
D3DPOOL_DEFAULT int32 = 0
D3DPOOL_MANAGED int32 = 1
D3DPOOL_SYSTEMMEM int32 = 2
D3DPOOL_SCRATCH int32 = 3
)const
D3DPOOL_DEFAULT = 0;
D3DPOOL_MANAGED = 1;
D3DPOOL_SYSTEMMEM = 2;
D3DPOOL_SCRATCH = 3;// D3DPOOL
pub const D3DPOOL_DEFAULT: i32 = 0;
pub const D3DPOOL_MANAGED: i32 = 1;
pub const D3DPOOL_SYSTEMMEM: i32 = 2;
pub const D3DPOOL_SCRATCH: i32 = 3;const
D3DPOOL_DEFAULT* = 0
D3DPOOL_MANAGED* = 1
D3DPOOL_SYSTEMMEM* = 2
D3DPOOL_SCRATCH* = 3enum D3DPOOL : int {
D3DPOOL_DEFAULT = 0,
D3DPOOL_MANAGED = 1,
D3DPOOL_SYSTEMMEM = 2,
D3DPOOL_SCRATCH = 3,
}#define global D3DPOOL_DEFAULT 0x0
#define global D3DPOOL_MANAGED 0x1
#define global D3DPOOL_SYSTEMMEM 0x2
#define global D3DPOOL_SCRATCH 0x3