私は自分のプロジェクトにXNAを使用しており、それらのフォーラムでは、メッシュのエフェクトを交換するとコストが比較的高いという事実に言及していることがあります。 GPUに適切なパラメーターとともに。
誰かがこのプロセスについて費用がかかるものを正確に説明できるかどうか疑問に思いましたか?そして、可能であれば、「比較的」コンテキストに入れますか?
たとえば、ピッキングを支援するために短いシェーダーを使用したい場合、次のようにします。
- すべてのオブジェクトの効果を変更し、一意の色を計算して識別し、シェーダーに提供します。
- すべてのオブジェクトをメモリ内のレンダーターゲットに描画します。
- ターゲットから色を取得し、それを使用して選択したオブジェクトを検索します。
そのプロセスを完了するのにかかる合計時間のどの部分がシェーダーの交換に費やされるでしょうか?私の本能は、シェーダーがどれほど単純であっても、シーンを再びレンダリングすることは、プロセスの他の部分よりも桁違いに遅いと言うでしょう。