コードベースに計算シェーダーのサポートを追加しようとしていますが、いくつかの非常に基本的な質問への回答を見つけるのに問題があります。
そこにあるすべてのドキュメントは、Compute Shader パイプラインが GPU から独立して実行されると述べていますが、すべての dx11 サンプル コードはデバイス コンテキスト インターフェイスを使用して、シェーダー自体、リソース ビュー、および dispatch() メソッドの呼び出しを設定するため、これらはコマンドでキューに入れられますか?残りのレンダリング コマンドをバッファリングしますか、それとも個別に実行しますか?
質問 1 の補足として、複数のスレッドからコンピュート シェーダーを呼び出すことはできますか?それとも、すべてのコンピュート シェーダー コマンドをバッファーに入れ、即時デバイス コンテキストが作成されたスレッドでそれらを発行する必要がありますか?
同期。ほとんどの記事では、計算シェーダーの完了を自動的に同期し、CPU に結果へのアクセスを許可する CopyResource コマンドを使用していますが、GPU もブロックするようです。より効率的な同期方法はありますか?
実験することでこれに対する答えを見つけることができることはわかっていますが、時間を節約するための助けがあれば幸いです。