Come si utilizza vsync in Vulkan? Sono su Windows, ma il codice dovrebbe funzionare anche su Linux. È implementato inserendo una recinzione in vkAcquireNextImageKHR
?Abilitazione VSync in Vulkan
risposta
Sebbene si possa realizzare che utilizzando una recinzione il modo corretto sarebbe utilizzare una modalità di presentazione che attende lo spazio vuoto verticale come VK_PRESENT_MODE_FIFO_KHR.
Intel ha un grande articolo che contiene uno sguardo dettagliato alle diverse modalità di presentazione di Vulkan over here
Si noti che questa modalità potrebbe non essere disponibile su tutti i dispositivi e che alcuni driver può ignorare il v-sync anche se si seleziona un modalità di presentazione corrispondente. Quindi, se si utilizza una di queste modalità e non si ottiene V-Sync, potrebbe essere necessario attendere un driver più recente.
Ma se è implementato all'interno del driver, questo è il modo corretto di fare v-sync su tutte le piattaforme supportate da Vulkan.
FIFO è l'unica modalità sempre disponibile –
Tecnicamente sì, a è richiesto per essere supportato dalle specifiche. Ma dovresti comunque avere un fallback e non fare affidamento sulla presenza di VK_PRESENT_MODE_FIFO_KHR, ad es. se stai utilizzando driver o implementazioni non conformi. –