2016-04-27 14 views
7

Jak korzystać z vsync w Vulkan? Jestem w systemie Windows, ale kod powinien działać również na Linuksie. Czy jest to realizowane przez wstawienie ogrodzenia w vkAcquireNextImageKHR?Włączanie VSync w Vulkan

Odpowiedz

9

Chociaż można sobie wyobrazić, że za pomocą ogrodzenia w prawidłowy sposób należy użyć trybu prezentacji, który czeka na pionowe puste, takie jak VK_PRESENT_MODE_FIFO_KHR.

Intel ma świetny artykuł, który zawiera szczegółową analizę różnych trybach prezentacji Vulkan za over here

Należy zauważyć, że w tym trybie nie mogą być dostępne na każdym urządzeniu i że niektórzy kierowcy mogą ignorować Synchronizacja nawet jeśli wybrać odpowiedni tryb prezentacji. Więc jeśli używasz jednego z tych trybów i nie otrzymujesz v-sync, możesz poczekać na nowszy sterownik.

Ale jeśli jest zaimplementowany w sterowniku, jest to właściwy sposób wykonywania synchronizacji v na wszystkich platformach obsługiwanych przez Vulkan.

+2

FIFO jest jedynym trybem, który jest zawsze dostępny. –

+3

Technicznie tak, w jest wymagane, aby było obsługiwane przez specyfikację. Ale nadal powinieneś mieć awarię i nie polegać na obecności VK_PRESENT_MODE_FIFO_KHR, np. jeśli używasz niezgodnych sterowników lub implementacji. –