是否可以只为所有VkFramebuffer使用一个VkCommandBuffer

时间:2017-05-21 11:48:14

标签: vulkan

当我阅读Vulkan示例代码时。它有2或3个SwapchainImageResources。每个SwapchainImageResources都有一个帧缓冲区。然后对于每个VkFramebuffer,示例代码创建一个VkCommandBuffer。

1 个答案:

答案 0 :(得分:1)

VkCommandBuffer之一的作业是通过渲染通道实例(即VkFramebuffer)来确定vkCmdBeginRenderPass

所以:不。除非您计算在需要时重新录制相同的VkCommandBuffer,否则需要更改VkFramebuffer

Vulkan的魅力之一是它试图创建固态对象,并且很少引入移动部件。它有助于推理Vulkan(特别是在多线程环境中,也可能有助于使驱动程序更简单),代价是有时必须编写更多代码(即销毁并重新创建一个只需要修改的对象)。它需要一些习惯......