我们发现在较旧的硬件上,例如,调用glDeleteVertexArraysOES的速度大大降低了使用OPENGL ES2.0的Ipad4。
我们使用VAO来存储我们渲染的每个对象,例如一行文字。当此文本更改时,我们将删除名为glDeleteVertexArraysOES的VAO,首先删除其持有的所有缓冲区。然后,我们重新创建新的VAO来保存新文本。很快使用VAO的渲染也更快,更简单,但是仅调用glDeleteVertexArraysOES(1,&buffer)会有很大的延迟。最多可能需要300毫秒。
这是正常现象吗,怎么回事?我们该如何解决?是否需要删除缓冲区,还是可以不删除缓冲区就重新使用缓冲区?
谢谢
Shaun Southern