如何在 Vulkan 中限制帧速率

How to limit the frame rate in Vulkan

我知道交换链的当前模式可用于将帧率同步到屏幕的刷新率(例如VK_PRESENT_MODE_FIFO_KHR)。

但是有没有办法将帧率限制为显示器刷新率的一小部分? (例如,我希望我的应用程序以 30 FPS 而不是 60 FPS 运行。)

换句话说,有没有办法模拟 wglSwapIntervalEXT(2) 对 OpenGL 的作用?

Vulkan 是低级别的 API。它试图为您提供构建所需功能所需的工具。

因此,当您呈现图像时,API 假定您希望图像尽快呈现(在交换链的限制内)。如果你想延迟演示,那么延迟演示。也就是说,根据您自己的 CPU 时间安排,直到接近显示新图像的时间时才显示图像。