glMapBufferRange忽略GL_MAP_UNSYNCHRONIZED_BIT
问题描述:
我正在尝试修复一个有关glMapBufferRange
的性能问题。我们的代码在运行iOS 6.x的iPad4上使用VBO和glMapBufferRange
进行流绘制。图案类似于:glMapBufferRange忽略GL_MAP_UNSYNCHRONIZED_BIT
映射(第一个子区域) - >将数据写入第一个子区域 - > Unmap - >映射(第二个子区域) - >将数据写入第二个子区域 - > UnMap .. 。如果缓冲区已满,请绘制缓冲区并重新开始填充数据。
该仪器表示在glMapBufferRange
上有一些GPU等待。我查看我们的代码并参考API手册。我将访问标志glMapBufferRange
设置为GL_MAP_WRITE_BIT | GL_MAP_INVALIDATA_RANGE_BIT | GL_MAP_UNSYNCHRONIZED_BIT
。但是,GL_MAP_UNSYNCHRONIZED_BIT
根据仪器被忽略。无论是否设置GL_MAP_UNSYNCHRONIZED_BIT
,性能都是相同的。
有谁知道为什么?任何改善这个用例的建议?
感谢, 华莱士
答
标志证明是工作。我忘了在映射索引缓冲区时添加标志。性能问题已修复。