2016-04-27 8 views
7

Wie verwende ich Vsync in Vulkan? Ich bin unter Windows, aber der Code sollte auch unter Linux funktionieren. Wird es implementiert, indem ein Zaun in vkAcquireNextImageKHR eingefügt wird?Aktivieren von VSync in Vulkan

Antwort

9

Obwohl Sie feststellen könnten, dass die Verwendung eines Zauns der richtige Weg wäre, einen Präsentationsmodus zu verwenden, der wie VK_PRESENT_MODE_FIFO_KHR auf das vertikale Leerzeichen wartet.

Intel hat einen großen Artikel, der einen detaillierten Blick auf Vulkan der verschiedenen Darstellungsmodi over here

Beachten Sie, dass dieser Modus auf jedem Gerät möglicherweise nicht verfügbar, enthält und dass einige Fahrer kann den V-Sync ignorieren, auch wenn Sie eine Auswahl entsprechender Präsentationsmodus. Wenn Sie also einen dieser Modi verwenden und keine v-sync erhalten, müssen Sie möglicherweise auf einen neueren Treiber warten.

Aber wenn es innerhalb des Treibers implementiert ist, ist dies die korrekte Art der V-Synchronisation über alle von Vulkan unterstützten Plattformen.

+2

FIFO ist der einzige Modus, der immer verfügbar ist –

+3

Technisch ja, bei wird benötigt, um von den Spezifikationen unterstützt zu werden. Aber Sie sollten immer noch einen Fallback haben und sich nicht auf das Vorhandensein von VK_PRESENT_MODE_FIFO_KHR verlassen, z. wenn Sie mit nicht-konformen Treibern oder Implementierungen arbeiten. –

Verwandte Themen