2016-08-09 3 views
0

ID3D12Resourceのシェーダリソースビューを作成してID3D12GraphicsCommandListに渡す直前に「大丈夫」と考えられ、フレームが完了した後に破棄されるのは不思議でしたか?シェーダリソースビューのパフォーマンスを作成する

上記リソースのディスクリプタビューを1回作成することに注意してください。

+0

なぜそれを1回だけレンダリングしていますか? –

+0

私はしません。私がやっているグラフィックス抽象ライブラリは、テクスチャリソースとシェーダリソースが緊密に結合されないようにします。 DX11のようなAPIでは、AFAIKの前にこれを行う方法だったので、私はテクスチャリソースの作成時にSRVを作成します。 – rantingmong

答えて

0

これは、Microsoftのエンジニアが、なぜCreateShaderResourceViewがvoidを返すのか、エラーコードではないのかを示す引用です。

意図的に高頻度APIにリターンコードを持たないのは、フレームごとに何千回も発生する可能性のある呼び出しごとにエラーをチェックするCPU時間の無駄になるからです。

フレームの何度も呼び出すことができるAPIであると仮定していますが、あなたの質問に対する答えは、はい、できますが、問題ではありません。

ディスクリプタヒープでビューの有効期間を保護するには、gpuが上書きする前にそれを必要とするかぎり、注意する必要があります。

+0

よろしく!答えをありがとう。 – rantingmong

関連する問題