使用多个DescriptorSets与更多统一更新

时间:2016-08-22 07:12:33

标签: c++ vulkan

我刚开始学习vulkan并浏览了几个教程/样本,我注意到了一些事情:每个人都使用1个结构进行均匀加载,包含所有相关数据(模型,视图,投影矩阵等)。这些结构在每帧完整更新。

现在我的问题:这是因为作家是"懒惰"而不是为单独的频率创建单独的unforms(例如投影,因为它只需要加载一次)他们只使用1个结构,因为它不需要额外的设置,或者是因为加载1&时性能更好#34;大"结构比创建多个集合更频繁。

1 个答案:

答案 0 :(得分:2)

大多数演示/示例代码都是懒惰的。通常,这是为了避免使用结果不需要的概念过度复杂化代码。

此外,演示通常有1个绘制调用(仅渲染一个模型),因此无需更改其中的描述符集。

更改频率也在单个命令缓冲区的记录范围内。因此,如果您有一个视图矩阵在帧的持续时间内保持不变,那么您可以将它与投影矩阵一起放在布局的开头。