如何在 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 时间安排,直到接近显示新图像的时间时才显示图像。
我知道交换链的当前模式可用于将帧率同步到屏幕的刷新率(例如VK_PRESENT_MODE_FIFO_KHR
)。
但是有没有办法将帧率限制为显示器刷新率的一小部分? (例如,我希望我的应用程序以 30 FPS 而不是 60 FPS 运行。)
换句话说,有没有办法模拟 wglSwapIntervalEXT(2)
对 OpenGL 的作用?
Vulkan 是低级别的 API。它试图为您提供构建所需功能所需的工具。
因此,当您呈现图像时,API 假定您希望图像尽快呈现(在交换链的限制内)。如果你想延迟演示,那么你延迟演示。也就是说,根据您自己的 CPU 时间安排,直到接近显示新图像的时间时才显示图像。