在 Vulkan 中重新提交挂起的命令缓冲区的用例是什么

What is a use case for resubmitting a pending command buffer in Vulkan

VkCommandBufferBeginInfo 的标志之一是 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT,规范将其描述为

specifies that a command buffer can be resubmitted to a queue while it is in the pending state, and recorded into multiple primary command buffers.

以我有限的经验,我为交换链中的每个图像创建了单独的命令缓冲区,因为每个命令缓冲区都写入不同的帧缓冲区,因此我不需要尝试重新提交命令缓冲区,因为它在挂起状态。

当您想要设置 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT 标志并重新提交挂起的命令缓冲区时,有哪些用例?

该功能主要用于渲染静态场景或渲染差异由内存操作定义的情况。尽管即使是后一种情况也适用,你必须在最后一帧的渲染、内存操作和下一帧的渲染之间进行某种同步(大多数内存渲染器双缓冲内存,这样就可以读取一个内存对象,同时为下一帧修改另一个内存对象。