NVIDIA GeForce GTX 460 でドライバを v270.61 に入れ替えたら
ついに! Driver Command Lists が Yes になっていました。
Direct3D 11 が出てから1年半、ようやくフル機能使えるようになりました。
関連エントリ
・OpenGL 4.1 GeForce GTX 460
・DirectX 11 / Direct3D 11 と RADEON HD 5870 の caps
・Direct3D11/DirectX11 GeForce の ComputeShader とドライバ
はじめまして。いきなりの質問ですいません。
ComanndListがDriver側で処理されるとどういうメリットがあるんでしょうか。
DeferredContextの負担が軽くなるんでしょうか。
各スレッドがそれぞれ非同期に Push Buffer を作れて、
あとから直接実行出来るというのが Direct3D 11 が
目指してた目標でした。
HW と Driver 両方のサポートが必要となります。
Driver と HW が対応してないうちは D3D によるエミュレーション
となり、描画コマンドの履歴を保存しておいて、実行時に
Push Buffer に展開しているようです。
どこかでそんなスライドを見た覚えがあります。
メモリコピーやコマンド生成のオーバーヘッドがあるので
CPU 側の負荷になると考えられます。
ただぜんぜん試していないので、本当に違いがあるのか、
どの程度効率が違うのかなど、具体的に
お答えできるデータは無いです。
なるほど、CPU側システムメモリにコマンドリストをためる、はきだす、という処理がなくなる分
処理が軽くなりそう、というふうに理解いたしました。
お答えいただきありがとうございます。