Enabling VSync in Vulkan
Asked Answered
S

1

13

How do I use vsync in Vulkan? I'm on Windows, but the code should also work on Linux. Is it implemented by inserting a fence in vkAcquireNextImageKHR?

Steinberg answered 27/4, 2016 at 16:48 Comment(0)
R
24

Though you could realize that by using a fence the correct way would be to use a presentation mode that waits for the vertical blank like VK_PRESENT_MODE_FIFO_KHR.

Intel has a great article that contains a detailed look at Vulkan's different presentation modes over here

Note that this mode may not be available on every device and that some drivers may ignore the v-sync even if you select a corresponding presentation mode. So if you use one of these modes and don't get v-sync you may have to wait for a newer driver.

But if it's implemented inside the driver this is the correct way of doing v-sync across all platforms supported by Vulkan.

Rigdon answered 27/4, 2016 at 20:49 Comment(2)
FIFO is the one mode that is always availableAlight
Technically yes, at is required to be supported by the specs. But you should still have a fallback and don't rely on the presence of VK_PRESENT_MODE_FIFO_KHR, e.g. if you're running on non-conformant drivers or implementations.Rigdon

© 2022 - 2024 — McMap. All rights reserved.