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 标志并重新提交待处理的命令缓冲区时,有哪些用例?
最佳答案
该功能主要适用于渲染静态场景或渲染差异由内存操作定义的情况。尽管即使是后一种情况也适用,但您必须在最后一帧的渲染、内存操作和下一帧的渲染之间实现某种同步(大多数仅内存渲染器对内存进行双缓冲,这样就可以读取一个内存对象,同时为下一帧修改另一个内存对象)。
关于vulkan - 在 Vulkan 中重新提交待处理命令缓冲区的用例是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62055029/