Как использовать vsync в Vulkan? Я нахожусь в Windows, но код также должен работать на Linux. Это реализовано путем вставки забора в vkAcquireNextImageKHR
?Включение VSync в Vulkan
7
A
ответ
9
Хотя вы могли понять, что с помощью забора правильным способом было бы использовать режим презентации, ожидающий вертикальной заготовки, такой как VK_PRESENT_MODE_FIFO_KHR.
Intel имеет большую статью, которая содержит подробный взгляд на различных режимах Vulkan в over here
Обратите внимание, что этот режим может быть доступен на любом устройстве, и что некоторые водители могут игнорировать V-Sync, даже если выбрать соответствующий режим представления. Поэтому, если вы используете один из этих режимов и не получаете v-sync, вам, возможно, придется ждать нового драйвера.
Но если это реализовано внутри драйвера, это правильный способ выполнения v-синхронизации на всех платформах, поддерживаемых Vulkan.
FIFO - это единственный режим, который всегда доступен –
Технически да, требуется, чтобы его поддерживали спецификации. Но вы все равно должны иметь резервную копию и не полагаться на присутствие VK_PRESENT_MODE_FIFO_KHR, например. если вы работаете с несоответствующими драйверами или реализациями. –