Die Unity Game Engine, die die meisten Anwendungen im Oculus Store betreibt, unterstützt jetzt die Vulkan-Grafik-API mit Oculus Quest.
Vulkan ist der Nachfolger von OpenGL, dem Industriestandard-Grafik-API, das seit über zwei Jahrzehnten weit verbreitet ist. OpenGL ist ähnlich wie DirectX bis zur Version 11, wird jedoch von einem offenen Industriekonsortium kontrolliert und ist plattformübergreifend.
Wie DX12 für Windows und Metal für Apple-Hardware ist Vulkan eine „Low Level“-Grafik-API (LLAPI). Diese APIs ermöglichen Entwicklern einen direkteren Zugriff auf die Hardware als frühere Grafik-APIs, wodurch viele Aufgaben vom GPU-Treiber auf die Game-Engine verlagert werden.
Vulkan ist so konzipiert, dass es die Vorteile von Multicore-CPUs, die bei der Entwicklung von OpenGL kein relevanter Faktor waren, richtig nutzt. Die Oculus Quest hat vier Haupt-CPU-Kerne, von denen drei für Spiele verfügbar sind.
Während Unity 2019.3 Vulkan auf der Quest unterstützt, gilt dies nicht für die aktuelle Oculus Integration for Unity. Dies liegt jedoch einfach an einer Prüfungm die sie durchführt, um zu sehen, ob Vulkan aktiviert ist, was durch Auskommentieren umgangen werden kann.
Vorteile.
Durch Vulkans Zugriff auf die Hardware auf niedrigerer Ebene gibt es weniger Treiber-Overhead für Draw-Aufrufe (Anweisungen von der CPU an die GPU, welche Objekte gezeichnet werden sollen). Dies bedeutet, dass mehr Draw-Aufrufe pro Frame verwendet werden können – oder die gleiche Anzahl von Draw-Aufrufen pro Frame verbraucht weniger CPU-Leistung und Energie.
Dies bedeutet, dass Vulkan es den Questentwicklern mit Unity ermöglichen könnte, detailliertere Szenen zu liefern, größere Draw-Distanzen zu verwenden, die restliche CPU-Leistung für die Physik zu nutzen oder einfach nur die Akkulaufzeit des vorhandenen Fidelity-Contents zu erhöhen.
Vulkan sollte auch für wesentlich schnellere Anfangsladezeiten sorgen. Ist Ihnen aufgefallen, dass einige Quest-Spiele beim ersten Start sehr lange zum Laden benötigen? Das liegt daran, dass OpenGL-Shader beim ersten Laden kompiliert werden, wohingegen mit Vulkan die Shader leicht vorkompiliert werden können.
Facebook behauptet, dass Vulkan auch eine HDR-Wiedergabe auf Smartphones ermöglicht, was für zukünftige Headsets nützlich sein könnte.
Leistungszahlen.
Es gibt noch keine spezifischen Benchmarks für eine produktive Oculus Quest Unity-App mit OpenGL vs. Vulkan Performance. Als Unity erstmals den Support von Vulkan für reguläre Android-Spiele hinzufügte, behauptete die Firma „bis zu 35% Verbesserung“ in der Leistung.
Der Konkurrent von Unity, Unreal Engine, hat bereits im August Support für Vulkan bei Quest hinzugefügt. Zwar gibt es auch für den Support von Unity`s Quest Vulkan noch keine öffentlich zugänglichen Benchmark-Statistiken, doch Facebook behauptete, dass Vulkan auf dem Beispiel der Sun Temple Engine von Epic die Framezeiten von 16ms auf 13ms reduziert, was eine Verbesserung um etwa 20% darstellt.
Um es klar zu sagen: Vulkan ist keine eierlegende Wollmichsau. Die Optimierung eines VR-Spiels für die Ausführung auf einem Smartphone-Prozessor ist unglaublich schwierig und die meiste Arbeit fällt immer noch den Entwicklern zu. Aber der Support von Vulkan in Unity verspricht, die Regeln etwas weniger extrem zu gestalten, deshalb werden wir das Content-Ökosystem von Quest in diesem Jahr genau beobachten, um zu sehen, was möglich ist.
Vielen Dank für Ihren Besuch.