Включение VSync в Vulkan

Как использовать vsync в Vulkan? Я на Windows, но код должен работать и на Linux. Это реализовано путем вставки забора в vkAcquireNextImageKHR?


person SurvivalMachine    schedule 27.04.2016    source источник


Ответы (1)


Хотя вы могли бы понять, что при использовании забора правильным способом было бы использовать режим презентации, который ожидает вертикального пробела, такого как VK_PRESENT_MODE_FIFO_KHR.

У Intel есть отличная статья, в которой подробно рассматриваются различные режимы представления Vulkan здесь

Обратите внимание, что этот режим может быть доступен не на каждом устройстве и что некоторые драйверы могут игнорировать вертикальную синхронизацию, даже если вы выберете соответствующий режим презентации. Поэтому, если вы используете один из этих режимов и не получаете вертикальную синхронизацию, возможно, вам придется подождать более новый драйвер.

Но если это реализовано внутри драйвера, это правильный способ выполнения вертикальной синхронизации на всех платформах, поддерживаемых Vulkan.

person Sascha Willems    schedule 27.04.2016
comment
FIFO — единственный режим, который всегда доступен - person ratchet freak; 28.04.2016
comment
Технически да, at должен поддерживаться спецификациями. Но у вас все равно должен быть запасной вариант и не полагайтесь на наличие VK_PRESENT_MODE_FIFO_KHR, например. если вы используете несовместимые драйверы или реализации. - person Sascha Willems; 28.04.2016