相当一段时间以来,我一直在回避,而不是像这样剖析图形着色器
float invert_value_ifless(in float value)
{
float sign_value = sign(value);
float sign_value_squared = sign_value*sign_value;
return sign_value_squared/(value + sign_value_squared - 1.0);
}
float invert_value(in float value)
{
if(value == 0.0)
return 0.0;
else
return 1.0/value;
}
写“聪明”的代码在我的shader代码分支,这将返回什么第一个函数确实没有分支,因此速度更快。
是这样吗?我在这里与幽灵战斗吗?
如何分析图形着色器的速度?我最近对最近的移动平台(Android)感兴趣,但任何关于图形分析的建议都将受到欢迎!
“*我是鬼打架吗?*” [是,你是。(http://stackoverflow.com/q/37827216/734069) –
优秀的答案有尼科尔。 – Leszek
这是否与幽灵战斗呢?而不是 如果(a> 0时)B =(1-α)/(2-A) 否则B =(1 +α)/(2 +α) 写入 SIGNA =符号(一); b =(1-signA * a)/(2-signA * a); ? – Leszek