顶点越少,碎片越少

时间:2017-02-08 13:09:33

标签: c++ opengl-es

目前,我正在实现一种字符串渲染算法,该算法基本上使用四边形作为基础几何体从纹理图集中对纹素进行采样。我必须在两种方法之间做出选择:

  • 将字符串的每个字形渲染为单个四边形。每个顶点都有一个位置和字体图集纹理坐标。片段着色器对图集进行采样,否则无关紧要。

  • 将整个字符串渲染为ONE quad。顶点格式必须通过一些簿记信息(2个浮点数)进行扩展,片段着色器可以进行一些额外的乘法。有一个片段开销约。 10%。

哪个可能性能更高?

1 个答案:

答案 0 :(得分:0)

对于大多数图形内容,屏幕上的文字相对较少,因此除非你每帧渲染数千个字符字形,否则我不会太担心它。

您需要做的一件事是将字形渲染批量处理为CPU端的少量glDraw*()调用;我已经看到很多内容每次渲染渲染一个字形,这非常昂贵 - 不要这样做!