【发布时间】:2018-01-17 11:28:30
【问题描述】:
我过去有过使用 DirectX12 的经验,但我不记得在 Vulkan 中有类似渲染通道的东西,所以我无法进行类比。如果我正确理解同一子通道内的命令缓冲区,则不需要同步。那么为什么要复杂化并制作多个呢?为什么我不能只取一个命令缓冲区并将所有与帧相关的信息放在那里?
【问题讨论】:
-
我的回答说明了它们是什么,但我没有解决您问题的同步部分。渲染通道不会取代或避免同步。是什么让您认为他们会这样做?
-
我不确定,也许我解释错了,但是,例如,here Nicol 告诉你不需要任何同步如果命令缓冲区在同一个渲染通道实例中执行.
-
@nikitablack:您不需要同步来简单地让一个 CB 在另一个之后执行,并使之前的 CB 的渲染产品对后面的 CB 中的任何混合或类似覆盖操作可见。这就是OP所要问的,所以这就是我解释的。如果你在一个 CB 中做图像存储,并且想在后面的一个 CB 中读取它们,你仍然需要同步。
标签: vulkan