相當一段時間以來,我一直在迴避,而不是像這樣剖析圖形着色器
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