着色器'性能(顶点VS碎片)

时间:2011-05-23 21:53:17

标签: performance opengl shader fragment vertex

简单问题:

总是更好地在Vertex Shader中进行硬计算,而不是在Fragment Shader中进行硬计算?即使是高网格模型,也有超过100.000个多边形(假设有一堆独特的顶点)?

1 个答案:

答案 0 :(得分:5)

不,它并不总是更好。

选择合适的计算位置的最佳方法是进行实验。尝试两者,看看哪些更适合您的约束和硬件。

理论上,您可以估计处理的片段数量,并将其与顶点数量进行比较。现代GPU对顶点和片段着色器使用相同的处理单元,因此查看这些数字可以让您了解微积分的位置。

在顶点着色器(如果不在CPU上)中执行所有操作的建议来自于渲染的3D模型的像素到顶点比率应该始终很高的想法。如果您看到距离很远的物体,则不需要几何细节,这就是几何细节级别(LOD)的用途。因此,如果你以“好”的方式做到这一点 - 你需要在顶点水平上进行计算。如果你不遵循它 - 你是独立的。