Java GL_四边形和GL_三角形带之间是否存在明显的性能差异?

Java GL_四边形和GL_三角形带之间是否存在明显的性能差异?,java,opengl,rendering,lwjgl,vbo,Java,Opengl,Rendering,Lwjgl,Vbo,所以我四处寻找我的程序的优化,我想知道使用四边形是否是最有效的方法。。我将贴图交错VBO用于四边形顶点和纹理坐标 因此,我想知道当使用以下方法之一而不是使用四边形进行渲染时,是否有明显的性能提升: 注意:这需要包括我正在使用纹理这一事实 三角带 三角形 四角带 哪一个最快 注2:我环顾四周,找不到确切的答案。 GL\u QUAD\u STRIP已被弃用,并且在当前版本的OpenGL中不受支持,因此已过时。另外,它也不会太快——请参阅,以获得不再支持它的原因的良好解释(出于兼容性目的保存) G

所以我四处寻找我的程序的优化,我想知道使用四边形是否是最有效的方法。。我将贴图交错VBO用于四边形顶点和纹理坐标

因此,我想知道当使用以下方法之一而不是使用四边形进行渲染时,是否有明显的性能提升:

注意:这需要包括我正在使用纹理这一事实

  • 三角带
  • 三角形
  • 四角带
哪一个最快

注2:我环顾四周,找不到确切的答案。

  • GL\u QUAD\u STRIP
    已被弃用,并且在当前版本的OpenGL中不受支持,因此已过时。另外,它也不会太快——请参阅,以获得不再支持它的原因的良好解释(出于兼容性目的保存)

  • GL_三角形
    通常是一种很好的方法。它将比使用过时的功能更快。而且它在原理上也更快——四边形被分解成三角形,所以你只需在CPU端做一次,然后节省GPU的工作量,就可以节省大量不必要的工作。三角形是指定形状的标准且完美的方式

  • GL\u TRIANGLE\u STRIP
    GL\u TRIANGLES
    快,因为在指定第一个三角形后,需要一个点而不是三个点来指定每个三角形。使用之前三角形的前两个顶点。您可以获得连接的三角形,但占用的内存也较少。因为你必须读得更少,所以你可以处理得更快。因为你的最后两个顶点是在最后一个三角形中指定的,它们将比其他两个顶点更容易在内存中获取,而这两个顶点可能来自谁都知道的地方。还有一些技巧可以使用退化的三角形条带来实现三角形之间的无缝跳跃

如果您想要三者中的最佳性能,
GL\u TRIANGLE\u STRIP
。不幸的是,除非您的数据已经指定用于三角形带,否则您必须自己对顶点进行排序,并记住将退化三角形放置在何处。一个好的起点是使用高度贴图(即地形)。然而,首先优化代码的其他部分(例如确定是否绘制对象)可能会更好地利用时间。我可能错了,我不认为纹理的使用会对顶点规格的选择产生影响

编辑:下面是一个使用
GL\u TRIANGLE\u STRIP

顶点:(0,0)(0,1)(1,0)(1,1)

三角形1:(0,0)(0,1)(1,0)(1,1)

三角形2:(0,0)(0,1)(1,0)(1,1)
  • GL\u QUAD\u STRIP
    已被弃用,并且在当前版本的OpenGL中不受支持,因此已过时。另外,它也不会太快——请参阅,以获得不再支持它的原因的良好解释(出于兼容性目的保存)

  • GL_三角形
    通常是一种很好的方法。它将比使用过时的功能更快。而且它在原理上也更快——四边形被分解成三角形,所以你只需在CPU端做一次,然后节省GPU的工作量,就可以节省大量不必要的工作。三角形是指定形状的标准且完美的方式

  • GL\u TRIANGLE\u STRIP
    GL\u TRIANGLES
    快,因为在指定第一个三角形后,需要一个点而不是三个点来指定每个三角形。使用之前三角形的前两个顶点。您可以获得连接的三角形,但占用的内存也较少。因为你必须读得更少,所以你可以处理得更快。因为你的最后两个顶点是在最后一个三角形中指定的,它们将比其他两个顶点更容易在内存中获取,而这两个顶点可能来自谁都知道的地方。还有一些技巧可以使用退化的三角形条带来实现三角形之间的无缝跳跃

如果您想要三者中的最佳性能,
GL\u TRIANGLE\u STRIP
。不幸的是,除非您的数据已经指定用于三角形带,否则您必须自己对顶点进行排序,并记住将退化三角形放置在何处。一个好的起点是使用高度贴图(即地形)。然而,首先优化代码的其他部分(例如确定是否绘制对象)可能会更好地利用时间。我可能错了,我不认为纹理的使用会对顶点规格的选择产生影响

编辑:下面是一个使用
GL\u TRIANGLE\u STRIP

顶点:(0,0)(0,1)(1,0)(1,1)

三角形1:(0,0)(0,1)(1,0)(1,1)


三角形2:(0,0)(0,1)(1,0)(1,1)

三角形带和三角形之间有区别。对四边形条带不太确定为什么不制作一个小程序,获取大量随机基元并绘制它们,然后查看性能。是的,但我想知道与四边形条带相比是否有差异。。制作这个程序是个好主意,但我实在没有时间,所以我想看看我是否能得到一个简短而好的答案:三角形和三角形之间有区别。对四边形条带不太确定为什么不制作一个小程序,获取大量随机基元并绘制它们,然后查看性能。是的,但我想知道与四边形条带相比是否有差异。。制作这个程序是个好主意,但我实在没时间,所以我想看看我是否能得到一个简短而好的答案:我有很多优化,面裁剪,截锥裁剪等等。。所以我在找其他的东西