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
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.
- 1. Vulkan Befehlsausführungsreihenfolge
- 2. Vsync in Flex/Flash/AS3?
- 3. Intel GMA 4500HD & vsync
- 4. Vulkan: Bestellung von Bildspeicherbarrieren in mehreren Befehlspuffern
- 5. Qt 5: Vsync deaktivieren
- 6. VK_KHR_WIN32_SURFACE_EXTENSION_NAME undefined, in Vulkan-Code
- 7. Synchronisation zwischen Befehlspuffern in Vulkan
- 8. Verständnis der Notwendigkeit von Android VSYNC Signalen
- 9. Vulkan SDK Redistributables
- 10. Loading Vulkan Funktionen global
- 11. Qt: vsync - fehlende gerenderte Frames
- 12. Vulkan vkCreateImage mit 3 Komponenten
- 13. Vulkan versäumt, Tiefe zu löschen
- 14. Layout-Übergang zwischen mehreren Unterpässen in Vulkan
- 15. Vulkan auf X11: vkGetPhysicalDeviceSurfaceCapabilitiesKHR Fehler
- 16. 100% CPU-Auslastung bei Verwendung von vsync (OpenGL)
- 17. nicht-blockierende SwapBuffers() mit VSync = on
- 18. DirectX 12/Mantle/Vulkan und HSA
- 19. Warum wird VkBool32 von Vulkan als unsigned int implementiert?
- 20. Kompilieren von GLSL geschrieben für OpenGL ES-Versionen zu Vulkan
- 21. Ist VkMemoryHeapFlagBits von Vulkan fehlende Werte? die folgende
- 22. Was unterscheidet verschiedene Vulkan Loader voneinander?
- 23. So beheben Sie den leeren Bildschirm von vulkan?
- 24. Wie warten Sie auf VSYNC in Xlib App?
- 25. Vulkan: Unterschied zwischen vkGetInstanceProcAddress und vkGetDeviceProcAddress
- 26. Aktivieren von Klingeltönen in Android
- 27. Aktivieren von OpenSSL in WAMP
- 28. Aktivieren von OimoJs in babylonJS
- 29. Aktivieren von net.tcp in IIS7
- 30. Programmgesteuertes Aktivieren von NSMenuItem
FIFO ist der einzige Modus, der immer verfügbar ist –
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. –