0

我正在尝试解决一个关于glMapBufferRange. glMapBufferRange我们的代码在运行 iOS 6.x 的 iPad4 上使用 VBO 进行流式绘图。模式类似于:

Map(第一个子区域)->向第一个子区域写入数据->取消映射->映射(第二个子区域)->向第二个子区域写入数据->UnMap...如果缓冲区已满,则绘制缓冲区并重新启动以从头开始填充数据。

仪器说有一些 GPU 等待glMapBufferRange。我查看了我们的代码并参考了 API 手册。我将访问标志设置glMapBufferRangeGL_MAP_WRITE_BIT | GL_MAP_INVALIDATA_RANGE_BIT | GL_MAP_UNSYNCHRONIZED_BIT。但是,GL_MAP_UNSYNCHRONIZED_BIT根据仪器被忽略。无论GL_MAP_UNSYNCHRONIZED_BIT是否设置,性能都是一样的。

有谁知道为什么?有什么建议可以改进这个用例吗?

谢谢,华莱士

4

1 回答 1

0

事实证明,该标志正在起作用。我在映射索引缓冲区时忘记添加标志。性能问题已修复。

于 2014-02-25T06:23:21.780 回答