GLSL
1// valueを5回累乗する 2pow(value, 5.0);
フラグメントシェーダー(ピクセルカラーを司る様分割したシェーダーファイル)にて光の加減などを調整するためにpow関数を使用して累乗しているコードがありました。
それと同時になぜかフラグメントシェーダー部位における描画パフォーマンスが著しく不安定となる症状に悩まされてました。
フラグメントシェーダー部位にて軽量化のためコードを見直し、pow関数を使用せず必要な回数分だけ乗算していくスタイルへと書き換えました。
すると描画が著しく安定しました。
GLSLっというよりOpenGLという規格から見てどの関数においても各々のGPUにて処理が最適かされるという先入観を持っていたのですが、どうやらそういうわけでもないのかもしれません。
長い前置きでしたが質問です。
GLSLにおいてpow関数は不安定化しやすい関数という認識は正しいでしょうか?それともたまたま私のGPUがpow関数の最適化を行えていないのでしょうか?
このパフォーマンスの改善についての根拠が知りたいので、もしわかる方がいましたら教えてください。
※ちなみに描画が安定しないというのはFPS値が著しく上がったり下がったりを繰り返すという意味です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。