Questions tagged «hlsl»

2
条件语句会减慢着色器的速度吗?
我想知道着色器(顶点/片段/像素...)内部的“ if语句”是否真的减慢了着色器性能。例如: 最好使用这个: vec3 output; output = input*enable + input2*(1-enable); 而不是使用这个: vec3 output; if(enable == 1) { output = input; } else { output = input2; } 在另一个论坛上,有一个关于该话题的讨论(2013年):http : //answers.unity3d.com/questions/442688/shader-if-else-performance.html 在这里,人们说,If陈述确实很糟糕用于着色器的性能。 同样在这里,他们正在谈论if / else语句(2012)中的内容:https : //www.opengl.org/discussion_boards/showthread.php/177762-Performance-alternative-for-if-(-) 也许硬件或着色器编译器现在更好了,并且它们以某种方式解决了这个(也许不存在)性能问题。 编辑: 在这种情况下,可以说启用是一个统一变量,并且始终设置为0: if(enable == 1) //never happens { output = vec4(0,0,0,0); } else …
74 opengl  glsl  shader  direct3d  hlsl 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.