vulkan 如何确定 VkCommandBuffer 是否可以安全销毁?
vulkan how to determine if a VkCommandBuffer is safe to destroy?
所以在我 vkQueueSubmit
一个 VkCommandBuffer
之后,如果我不想 vkQueueWaitIdle
[=13=,我怎么知道释放或重置该缓冲区是安全的]
这就是为什么队列提交操作通常有一个 VkFence
。这会告诉您提交操作何时完成。当围栏发出信号时,您可以使用命令缓冲区做任何您想做的事情。
当然,为了避免不必要的缓冲区执行等待,您应该使用多个命令缓冲区。也就是说,在使用一个的同时,您可以为下一帧写入另一个。
提交命令缓冲区时将 VkFence
传递给 vkQueueSubmit
。当围栏发出信号(vkWaitForFences
或 vkGetFenceStatus
)时,释放或重置命令缓冲区是安全的。
所以在我 vkQueueSubmit
一个 VkCommandBuffer
之后,如果我不想 vkQueueWaitIdle
[=13=,我怎么知道释放或重置该缓冲区是安全的]
这就是为什么队列提交操作通常有一个 VkFence
。这会告诉您提交操作何时完成。当围栏发出信号时,您可以使用命令缓冲区做任何您想做的事情。
当然,为了避免不必要的缓冲区执行等待,您应该使用多个命令缓冲区。也就是说,在使用一个的同时,您可以为下一帧写入另一个。
提交命令缓冲区时将 VkFence
传递给 vkQueueSubmit
。当围栏发出信号(vkWaitForFences
或 vkGetFenceStatus
)时,释放或重置命令缓冲区是安全的。