现在我一直在使用GL_MAP_PERSISTENT_BIT和glBufferStorage/glMapBufferRange进行一些工作和测试,我很好奇使用GL_MAP_UNSYNCHRONIZED_BIT是否可以提高性能。正确使用GL_MAP_UNSYNCHRONIZED_BIT与GL_MAP_PERSISTENT_BIT结合使用
我已经找到Opengl Unsynchronized/Non-blocking Map
但答案似乎有点矛盾给我。据说那里你需要同步或者阻止使用这个标志。无论如何,如果我必须同步它,那么将它设置为不同步的重点是什么?此外,我尝试了这种组合,并没有看到任何性能差异。它是否与持久映射缓冲区一起有意义?我从字面上没有发现这种用法的例子。 所提到的话题也说你可以
问题的障碍或刷新缓冲区的区域明确
但我迄今取得使用千方百计这些不仅造成垃圾。
我正在使用目前的三重缓冲,但由于我必须处理非常小的数据块,有时我几乎不能批量处理,所以我不得不发现,在这些情况下,glBufferData往往更快,并且只有(巨大)如果我可以批量生产并减少撤销数量的话,我将受益匪浅。在这里使用GL_MAP_UNSYNCHRONIZED_BIT可能是关键。
任何人都可以给我一个工作的例子,以防万一它在这个组合中有意义吗?
再次,你回答了我需要知道的一切:) – Gnampf