- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我们分配 VkSwapchainCreateInfoKHR.presentMode = VK_PRESENT_MODE_IMMEDIATE_KHR;
据我所知,我们有一个缓冲区,图像会立即呈现在表面上,但同时 SwapChainDetails.surfaceCapabilities.minImageCount = 2;
在我的 GTX 1070 上。minImageCount
是否表示缓冲区的最小数量应为 2?
它是如何工作的?
最佳答案
它们之间根本没有关系。您拥有多少缓冲区与它们的显示方式无关。
立即呈现意味着,当您呈现图像时,它会立即显示。如标准所述:
the presentation engine does not wait for a vertical blanking period to update the current image
如果演示引擎只允许您使用一个交换链图像,那么这意味着获取必须等到图像显示完毕。这将使立即演示变得毫无意义。
现在,您可能认为应该立即获取这样的图像。但这意味着您可以在呈现引擎仍在读取图像时渲染图像,从而导致潜在的损坏。但这不是立即呈现的目的。即时呈现不会改变呈现引擎和用户代码之间的所有权动态;它只会改变交换链图像呈现方式的时间。
写入实际呈现的图像的能力受“共享”呈现模式(VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
和VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
)控制。
关于vulkan - Swapchain minImageCount 和 VK_PRESENT_MODE_IMMEDIATE_KHR 如何相互关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66213663/
如果我们分配 VkSwapchainCreateInfoKHR.presentMode = VK_PRESENT_MODE_IMMEDIATE_KHR; 据我所知,我们有一个缓冲区,图像会立即呈现在表
我是一名优秀的程序员,十分优秀!