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