Open GLShaderLanguageの速度sin()
とその速度に関する情報に興味があります。cos()
GLSL仕様書には、次のことが示されています。
組み込み関数は、基本的に3つのカテゴリに分類されます。
- ..。
- ..。
- これらは、グラフィックハードウェアがいずれかの時点で加速する可能性が高い操作を表しています。三角関数はこのカテゴリに分類されます。
編集:
指摘されているように、個々の操作のクロックサイクルを数えることは、パフォーマンスストーリー全体を実際に伝えるものではsin()
ありcos()
ません。
ですから、私の質問を明確にするために、私が本当に興味を持っているのは、最適化して一般的なケースsin()
を要求する価値があるかどうかです。cos()
たとえば、私のアプリケーションでは、引数がであることが非常に一般的です0
。したがって、このようなことは理にかなっています:
float sina, cosa;
if ( rotation == 0 )
{
sina = 0;
cosa = 1;
}
else
{
sina = sin( rotation );
cosa = cos( rotation );
}
それとも、コンパイラGLSL
または実装は私のためにそのような最適化を処理しますか?sin()
cos()