3
コンピューティングシェーダーは、画像フィルタリングのピクセルシェーダーよりも効率的ですか?
ブラー、SSAO、ブルームなどの画像フィルタリング操作は、通常、ピクセルシェーダーと「収集」操作を使用して行われます。各ピクセルシェーダーの呼び出しは、隣接するピクセル値にアクセスするために多数のテクスチャフェッチを発行し、単一のピクセルの価値を計算します結果。このアプローチには、多くの冗長なフェッチが行われるという理論上の非効率があります。近くのシェーダー呼び出しは、同じテクセルの多くを再フェッチします。 別の方法は、計算シェーダーを使用することです。これらには、シェーダー呼び出しのグループ全体で少量のメモリを共有できるという潜在的な利点があります。たとえば、各呼び出しで1つのテクセルをフェッチして共有メモリに保存し、そこから結果を計算できます。これは、高速かもしれませんし、そうでないかもしれません。 質問は、どのような状況下で(実際に)コンピューティングシェーダーメソッドがピクセルシェーダーメソッドよりも実際に高速であるかということです。カーネルのサイズ、どんな種類のフィルタリング操作などに依存しますか?明らかに、答えはGPUのモデルによって異なりますが、一般的な傾向があるかどうか聞いてみたいと思います。