几何着色器和顶点着色器之间的性能差异

时间:2012-11-02 05:04:27

标签: opengl glsl shader

目前正在渲染大约100万个顶点的模型。在顶点着色器中,我正在为每个顶点做一些复杂的计算。现在我想提高模型的分辨率。 我对此有两个疑问:

  1. 建议使用几何着色器来提高64倍等非常大的因子的分辨率吗?
  2. 如果我引入几何着色器,我可能需要将计算从顶点着色器移动到几何着色器。在性能方面,是否在verterx着色器中执行操作与在几何着色器中执行操作相同。

1 个答案:

答案 0 :(得分:6)

  

建议使用几何着色器将分辨率提高到64倍等非常大的因子。

绝对不是。虽然GS的可以放大几何体并进行曲面细分,但这并不是它们真正的用途。它们的主要用途是处理变换反馈数据(特别是可以处理多流输出的硬件)和分层渲染。

  

如果我引入几何着色器,我可能需要将计算从顶点着色器移动到几何着色器。在性能方面,是否在verterx着色器中进行操作与在几何着色器中进行操作相同。

尽可能少地在GS中工作。 GS发生在T& L后缓存之后,你希望尽可能多地获得它。因此,在顶点着色器中进行尽可能多的实际转换工作。