ID3D12GraphicsCommandList::SetGraphicsRootSignature
メソッドの存在について少し混乱しています。私がthis MSDN pageのことを理解してから、それは唯一有効なのはSetPipelineState
の後に呼び出され、パイプライン状態オブジェクトの作成時に提供されたものと同じルート署名を与えることです。それがそうであれば、そこに暗黙のうちにどんな利益があるのでしょうか?この方法を使用する他の方法はありますか?D3D12のSetGraphicsRootSignatureのポイントは何ですか?
1
A
答えて
3
CPUの最適化では、ルート署名スロットから実際のバインディングまでのマッピングの一部を内部的に準備することができます。異なるパイプライン状態オブジェクト間でルート署名を共有する場合、この作業は、パイプライン状態オブジェクトごとに1回ではなく、ルート署名ごとに1回行うことができます。
SetGraphicsRootSignature
に電話する頻度は、SetGraphicPipelineState
と少なくなります。これが理由です。
1
DirectX 12の「ルート署名」は、CPUデータ構造とGPUシェーダ言語の実行との間でデータを共有するための共通のレイアウト情報を提供します。 DirectX 12では、使用するルートシグネチャの数、使用時期、ルートシグネチャを必要とするパイプライン状態オブジェクトをプログラマが決定します。 Direct3D 11には、本質的に常にアクティブな「ルート署名」が1つあり、非常に大きくなっています。
ルートシグネチャはかなりの頻度で変更することができますが、1:1対応ではなくルートシグネチャ数が多く、PSO数が多いという前提があります。 DirectX Tool Kit for DirectX 12で簡単にするために
、我々は唯一のいくつかの異なるルート署名を使用していても、ルート署名に我々は
IEffect::Apply
方法にPSOを設定するたびに設定してください。
関連する問題
- 1. Direct3DCreate9(D3D_SDK_VERSION)に相当するD3D12とは何ですか?
- 2. このコードのポイントは何ですか?
- 3. iOSのナビゲーションツールバーのポイントは何ですか?
- 4. Rubyの@@ double_at_variableのポイントは何ですか?
- 5. OpenCLカーネルの__のポイントは何ですか?
- 6. バザールのタグのポイントは何ですか?
- 7. EC2のインスタンスストレージのポイントは何ですか?
- 8. Luaのネストブラケットのポイントは何ですか?
- 9. SDLのwindow_magicのポイントは何ですか?
- 10. Pythonで@staticmethodのポイントは何ですか?
- 11. Zend_Exceptionのポイントは何ですか?
- 12. browserstack.com APIのポイントは何ですか?
- 13. Guzzle async promiseのポイントは何ですか?
- 14. パディングのポイントは何ですか?
- 15. DICOM:SOPInstanceUIDタグのポイントは何ですか?
- 16. Quineプログラムのポイントは何ですか?
- 17. 大入力のポイントは何ですか?
- 18. _MERGE_PROXYSTUBのポイントは何ですか?
- 19. Vaadin:H2データベースのポイントは何ですか?
- 20. uWSGIのポイントは何ですか?
- 21. ORゲートのポイントは何ですか?
- 22. Javascript:RegExp.compile()のポイントは何ですか?
- 23. ストアドプロシージャのポイントは何ですか?
- 24. os.errorのポイントは何ですか?
- 25. MethodImplOptions.InternalCallのポイントは何ですか?
- 26. document.defaultViewのポイントは何ですか?
- 27. ビルダーパターン:ディレクターのポイントは何ですか?
- 28. Python eggファイルのポイントは何ですか?
- 29. ASP.NET AJAXのポイントは何ですか?
- 30. インターフェイスのポイントは何ですか?
私はそれを買うことができますが、複数のグラフィックスパイプライン状態が内部で同じルートの署名を参照できると期待していました。 – Trillian