我看到建议将初始布局设置为vk_image_layout_undefined,因为当将其用作下一个渲染过程的目标时,我们真的不在乎它的内容。
但是,如果我知道为颜色目标附加了图像,那么将其设置为vk_image_layout_color_attachment_optimal是更好的吗?
渲染通道附件的初始布局是图像在中的布局 启动。您并不是说"将此图像放入此布局";您是在说"图像在此布局中已经是"。因此,除非该图像已经在颜色附件布局中,否则这不是设置为初始布局的合适布局。如果将布局设置为"未定义",那么您基本上是在说"我不在乎。"
每个子通道指定其使用的附件将在该子通道期间放入的布局。因此,当使用此附件的第一个子通道启动时,它将执行从初始布局到子通道布局的布局过渡。
如果您的渲染通行证清除了图像,则图像的初始布局无关紧要。清晰的操作将覆盖纹理的数据(请注意,请注意任何实际写作(,当使用附件的第一个subpass开始时,书面的数据将在该subpass的布局中。
它不应该比在初始布局和第一个子通道布局中使用相同的布局更慢。只要您清除图像。