Direct3D 12 でのメモリ管理

D3D12 への移行には、メモリ常駐状態の適切な同期と管理を行うことも含まれます。 メモリ常駐状態の管理は、さらに多くの同期が必要になることを意味します。 このセクションでは、メモリ管理の戦略と、ヒープおよびバッファー内のサブ割り当てについて説明します。

このセクションの内容

トピック 説明
メモリ管理戦略
Direct3D 12 用のメモリ マネージャーを作成しようとすると、きわめて複雑なものになる可能性があります。サポートの階層は多岐にわたり、UMA と独立型 (ディスクリート) アダプターの両方への対応が必要であり、アーキテクチャは GPU アダプターごとに大きく異なるからです。
このセクションで説明されている Direct3D 12 メモリ管理に推奨される戦略は、"分類、予算、およびストリーム" です。
バッファー内のサブ割り当て
バッファーには、D3D12 でのアプリケーションによる CPU から GPU への広範囲な遷移データの転送に必要なすべての機能があります。 このセクションでは、リソースおよびバッファーの使用と管理のための 4 つの一般的なシナリオについて説明します。
ヒープ内のサブ割り当て
リソース ヒープにより、データが CPU から GPU へ (アップロード)、GPU から CPU へ (読み戻し) 転送されます。
常駐
オブジェクトが "常駐" と見なされるのは、GPU からアクセス可能であるときです。

Direct3D 12 プログラミング ガイド

リソース バインディング