|
|
1
4
这是个错误的问题。你没有考虑到修改内存的实际需要,这样GPU就可以使用它。 好的,你已经得到了这个命令缓冲区,它可以从内存中读取制服。你想在两个独立的框架中使用它但是你想改变帧之间的内存。 好吧,在第一帧读取完之前,你不能写入内存所以你需要CB在最后一次读取制服后设置一个事件在提交该帧的cb之后,您需要在cpu上等待该事件,然后才能写入数据(更不用说提交下一帧的数据了)。 这就是CPU/GPU同步这对gpu性能或cpu性能都不好。GPU可能会因为CPU必须执行这样的同步而耗尽工作,而CPU可能只是坐在那里无所事事。 重建大多数命令缓冲区是Vulkan应用程序的典型工作方式。 |