我正在尝试使用WebGL渲染尽可能多的移动对象,并且每帧都通过glBufferData / glBufferSubData更新对象位置。我发现建议使用双缓冲区来减少GPU和CPU之间的同步问题: https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html和https://www.opengl.org/wiki/Buffer_Object_Streaming以及google' webgl optimizationg slides。
所以我已经实现了双缓冲,它按预期绘制。但是,没有性能提升。 (实际上它让它变慢了)所以我很好奇上面3篇文档中描述的双缓冲技术是否适用于webgl。
基本上我正在做的事情(由webgl检查员捕获):
第X帧:
第X + 1帧: