Vulkan 1.2: Grafik-API erhält großes Update nach fast zwei Jahren
Die Grafik-API Vulkan erhält ihr erstes großes Update seit fast zwei Jahren und soll schneller, effizienter und mächtiger sein als Vulkan 1.1. Vulkan 1.2 soll ein größerer Schritt sein als der auf die vorherige Version, die im März 2018 mehr Effizienz, Multi-GPU-Support und DRM für die Low-Level-API brachte.
Mehr Kontrolle für die Hersteller
Die Macher der API möchten den Herstellern von Hardware deutlich mehr Kontrolle über Vulkan in ihren Treibern geben, um Befehle der Schnittstelle effektiver in Hardware-Instruktionen umsetzen zu können und damit die Vorhersagbarkeit der Ergebnisse auf dem Bildschirm zu verbessern. Die Khronos Group verspricht sich von dieser Maßnahme deutlich höhere Frameraten und weniger Grafikfehler. Von diesen Verbesserungen sollen sowohl native Vulkan-Spiele als auch DirectX-Titel profitieren, die unter Linux per Proton/DXVK gestartet und in Vulkan übersetzt werden.
Neue Features für die API
Die Implementierung der Standard Portable Intermediate Representation, kurz SPIR-V, in der Version 1.4 und 1.5 soll die Programmierung von Shadern weiter nach vorne bringen und die Lücke im Hinblick auf verfügbare Features zwischen DirectX 12 und Vulkan weiter schließen.
Darüber hinaus will es Vulkan 1.2 Entwicklern etwas einfacher machen und hat 23 bereits vorhandene Extensions in die Core-API integriert. Darunter gehört zum Beispiel die Möglichkeit, Shader mit einer halbierten Genauigkeit und damit höherer Performance (FP16 anstatt FP32) einzusetzen.
Lücken bei neuen Hardware-Features bleiben vorhanden
Neue Hardware-Features können mit Vulkan 1.2 dagegen nicht angesprochen werden. Anders als Microsoft mit DXR in DirectX 12 unterstützt auch Vulkan 1.2 immer noch kein Raytracing. Damit bleibt es dabei, dass es für Vulkan aktuell einzig eine von Nvidia geschriebene und exklusive Extension (VKRay) für Raytracing gibt, die zum Beispiel in Wolfenstein: Youngblood genutzt wird. Auch Variable Rate Shading und Mesh Shaders – die derzeit von Nvidias Turing-Architektur und vermutlich von AMDs zukünftigen RDNA-2-Chips unterstützt werden – bleiben außen vor.
Spielen auf Linux ist und bleibt ein wichtiges Thema
Vulkan-API wird derzeit intensiv genutzt, um unter Steam mit Hilfe der Übersetzungsbibliothek Proton DirectX-Spiele in Echtzeit in Vulkan zu übersetzen und so eine Vielzahl von Titeln überhaupt erst unter Linux lauffähig zu machen. Das soll auch mit Vulkan 1.2 eines der Hauptaspekte der API bleiben, ebenso gilt das für die Vielfältigkeit, was verschiedene Betriebssysteme von Windows über Linux bis hin zu MacOS und Android betrifft. Auch Googles Cloud-Gaming-Dienst Stadia nutzt die Vulkan-API in Verbindung mit Proton/DXVK, um Spiele anzubieten, die nicht für Linux veröffentlicht wurden.
AMD hat mit dem Adrenalin 20.1.2 einen ersten, finalen Treiber veröffentlicht, der Vulkan 1.2 unterstützt. Nvidia bietet aktuell einen Beta-Treiber für Entwickler mit entsprechendem Support an.
Die offizielle Präsentation (PDF) und die Pressemitteilung der Khronos Group liefert noch mehr Details zu den Spezifikationen und Zielen von Vulkan 1.2.