Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enabling VSync in Vulkan

Tags:

c++

c

vulkan

vsync

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?

like image 505
SurvivalMachine Avatar asked Apr 27 '16 16:04

SurvivalMachine


1 Answers

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.

like image 114
Sascha Willems Avatar answered Nov 17 '22 10:11

Sascha Willems