WDDM 2.0 でのドライバー常駐
このセクションでは、Windows ディスプレイ ドライバー モデル (WDDM) 2.0 のドライバー所在地の変更について詳しく説明します。 説明されている機能は、Windows 10 以降で使用できます。
このセクションの内容
裁判官 | 説明 |
---|---|
新しい常駐モデルの導入により、常駐はコマンドごとのバッファー リストではなく、デバイス上の明示的なリストに移動されます。 ビデオ メモリ マネージャーは、そのデバイスに属するコンテキストが実行スケジュールされる前に、特定のデバイス常駐要件リストのすべての割り当てが常駐していることを確認します。 |
|
割り当てリストが表示されなくなったため、ビデオ メモリ マネージャー (VidMm) は、特定のコマンド バッファーで参照されている割り当てを表示できなくなりました。 その結果、ビデオ メモリ マネージャーは割り当ての使用状況を追跡し、関連する同期を処理する立場にありません。 この責任は、ユーザー モード ドライバーに当たります。 特に、ユーザー モード ドライバーは、割り当てへの直接 CPU アクセスと名前変更に関する同期を処理する必要があります。 |
|
WDDM v2 では、 オファー と 回収 に関する要件が緩和されています。 ユーザー モード ドライバーは、内部割り当てで提供を使用して再利用する必要がなくなりました。 アイドル状態または中断されたアプリケーションは、Microsoft DirectX 11.1 で導入された TrimAPI を使用してドライバーの内部リソースを取り除きます。 |
|
常駐していない割り当てに対するグラフィックス処理装置 (GPU) アクセスは無効であり、エラーを生成したアプリケーションのデバイスが削除されます。 このような無効なアクセスを処理するには、障害が発生したエンジンが GPU 仮想アドレス指定をサポートしているかどうかに応じて、次の 2 つの異なるモデルがあります。
|
|
WDDM v2 では、プロセスには、常駐状態を維持できるメモリ量の予算が割り当てられます。 この予算は時間の経過と同時に変化する可能性がありますが、通常はシステムがメモリ不足の場合にのみ適用されます。 Microsoft Direct3D 12 より前では、予算はユーザー モード ドライバーによって Trim 通知と STATUS_NO_MEMORY による MakeResident エラーの形式で処理されます。 TrimToBudget 通知、Evict、および失敗した MakeResident 呼び出しはすべて、新しい予算に収まるようにトリミングする必要がある量を示す整数 NumBytesToTrim 値の形式で最新の予算を返します。 |