VkSwapchainCreateInfoKHR的文档让我感到困惑:
minImageCount是最小的可呈现图像数量 应用需求。实现将创建交换链 至少有那么多图像,否则它将无法创建 swapchain。
这会导致一些问题,即我无法在代码中使用固定大小的数组,因为我不知道运行时的确切数量。为什么做出这个决定并且有没有办法强制要求的行为?
答案 0 :(得分:2)
这种方法允许硬件供应商/驱动程序开发人员以更灵活的方式实现表示引擎。演示文稿取决于操作系统,每个操作系统都有自己的程序,负责在屏幕上显示图像。有依赖于操作系统的扩展允许可呈现的表面创建,但Vulkan本身是一个多平台API,VkSwapchainKHR对象也适用于所有操作系统。此外,由驱动程序创建的交换链图像的数量不仅取决于OS,还取决于在交换链创建期间指定的其他参数(例如,当前模式)。因此,有必要在管理可呈现图像的数量方面具有这种灵活性。