使用VBO和VAO是否会提高具有共享内存的集成芯片的性能

时间:2018-09-10 08:02:25

标签: c++ opengl-es-2.0 vbo

在我们当前的项目中,我们正在使用this intel integrated chip。即使在规范中说支持OGL ES 2.0,我们也没有使用VBO和VAO(没有glGenBuffers,glBindBuffers),因此我们在使用客户端顶点缓冲。

我们想到了一个想法,如果我们使用VBO,我们将拥有更好的性能。但是现在我正在考虑;如果GPU和CPU已经使用VBO共享相同的内存,则有什么不同。因为在我看来,VBO会有所帮助,因为我们不需要每次都将数据传输到GPU,但是在这种情况下,当内存共享时,我不确定是否会有所作为。

我的问题是共享硬件的硬件,使用VBO是否会提高性能?如果集成芯片之间的VBO性能有所不同,并且将CPU和GPU分开,它们是什么?

1 个答案:

答案 0 :(得分:0)

在我看来,使用VBO / VAO没有缺点,这是目前的做法。

https://www.khronos.org/opengl/wiki/Client-Side_Vertex_Arrays

“在VBO之前,存在普通的旧顶点阵列。这意味着您的顶点,顶点属性和索引位于RAM中。当然,这不会提供最佳性能,因为每次您要绘制GL时,驱动程序必须将顶点上传到GPU。”

也就是说,OpenGL只是一个规范,所以最终取决于您的驱动程序如何实现这些。