Analyse: So befeuert die 3D-Schnittstelle Vulkan die Grafik- und Spielprogrammierung

Auf die Veröffentlichung der Vulkan-Schnittstelle haben Entwickler und Gamer gleichermaßen gewartet. Hat OpenGL dennoch eine Daseinsberechtigung? Und wo steht Vulkan im Vergleich zu Metal und DirectX? Eine Analyse von Tam Hanna.

In Pocket speichern vorlesen Druckansicht 91 Kommentare lesen
Analyse: So befeuert Vulkan die Grafik- und Spielprogrammierung
Lesezeit: 4 Min.
Von
  • Tam Hanna
Inhaltsverzeichnis

Grafikkarten sind schon lange nicht mehr auf das Rendern von Animationen und Spielen beschränkt: Dank GPGPU (General Purpose Computation on Graphics Processing Unit) lassen sich die immens parallelen Recheneinheiten für diverse Aufgaben zweckentfremden.

OpenGL ist auf die Bedürfnisse von Entwicklern zugeschnitten, die mit Grafikpipelines arbeiten, und erweist sich in dieser Hinsicht mehr und mehr als Hemmschuh: Die Implementierung baut auf Annahmen hinsichtlich der Konfiguration des Grafikprozessors, die für GPGPUs mitunter kontraproduktiv sind.

Mehr Infos

Im Hause AMD sorgte diese Vorgehensweise für Probleme: Dank der vergleichsweise geringen Leistung der hauseigenen CPU-Einzelkerne wirkten sich Ineffizienzen überproportional stark auf die Gesamtleistung der als APU (Accelerated Processing Unit) bezeichneten CPU-GPU-Kombinationschips aus. Zur Lösung des Problems entwickelte man eine eigene Programmierschnittstelle, die Details wie das Puffermanagement in die Hände des Entwicklers legte. Da optimierter Code seinen generischen Vertretern so gut wie immer überlegen ist, erhoffte man sich davon nicht unerhebliche Performancezuwächse.

Die von AMD als Mantle eingeführten Konzepte beeinflussten das für die Pflege von OpenGL zuständige Standardisierungsgremium Khronos Group bei der Entwicklung der Programmierschnittstelle Vulkan: Sie bietet Entwicklern direkten Zugriff auf die GPU.

Khronos ist mit Vulkan nicht der einzige Spieler im Bereich der neuartigen GPU-Schnittstellen: Apple bietet mit Metal eine Alternative an und Microsoft will mit DirectX 12 – nach anfänglichen Dementis – an den Erfolg des Vorgänger anknüpfen

Eine Analyse von Tam Hanna

Tam Hanna befasst sich seit längerer Zeit mit der Grafikprogrammierung und Spieleentwicklung auf diversen Desktop- und mobilen Plattformen.

Der Erfolg von OpenGL lag und liegt zu einem guten Teil daran, dass es unabhängig von Anbietern und Plattformen ist. Die API stand unter Windows, OS X und Unix gleichermaßen zur Verfügung und wurde im Laufe der Zeit auch auf mobile Systeme portiert.

Vulkan ist diese Universalität im Moment verwehrt: Apple scherte aus der Arbeitsgruppe aus und bietet mit Metal eine eigene Programmierschnittstelle an. Daher fehlt Vulkan auf OS X und iOS. Da Microsoft DirectX 12 nur unter Windows 10 anbietet, relativiert sich dieser Nachteil bis zu einem gewissen Grad: AnandTech spricht von Balkanisierung auf Kosten der Entwickler.

Aus Sicht der Plattformanbieter ist die Vorgehensweise verständlich: Wer Entwickler an seine Produkte bindet, kann der Konkurrenz Inhalte vorenthalten. Die Anzahl verfügbarer Apps ist im Mobilbereich seit Palm OS “Kampfzone” – es spricht nichts dagegen, dieses Gefecht auf den Desktop auszuweiten.

Im Zusammenhang mit neuen Programmierschnittstellen für Grafikkarten stellt sich immer wieder die Frage, inwiefern das Produkt für die Bedürfnisse von VR-Brillen geeignet ist. Die Anbieter üben sich an dieser Stelle in nobler, aber aus technischer Sicht verständlicher Zurückhaltung: Zur Erzeugung einer VR-gerechten Ansicht rendert man die selbe Szene einfach unter Verwendung zweier View-Matrizen. Wer sich als Anbieter einer API hier einmischt, kann nur verlieren.

Die Mehrzahl der Computerspiele entsteht ob des wachsenden Marktdrucks in Engines wie Unity. Die Entwicklung einer eigenen Engine ist für den durchschnittlichen Entwickler weder finanzierbar noch sinnvoll. Die Entscheidung zwischen Vulkan, Metal, DirectX und anderen Grafikschnittstellen ist eine des Anspruchs: OpenGL bietet nach wie vor die breitestmögliche Reichweite. DirectX 12 und Metal ermöglichen einen besseren Zugriff auf die Recheneinheiten als OpenGL. Das Mehr an Kontrolle geht mit einem Mehr an Verantwortung einher, und es ist mehr als fraglich, ob sich kleine und mittlere Entwicklerstudios diesen Zusatzaufwand antun sollen.

Vulkan steht hinsichtlich der Transparenz und Kontrolle zwischen Metal und DirectX auf der einen und OpenGL auf der anderen Seite. Die breite Herstellerunterstützung ist ein großer Pluspunkt. Vor allem kommende Spiele werden zeigen, wie breit die Akzeptanz auf Seite der professionellen Entwickler und was der Nutzen für die Gamer ist.

[Update 18.2. 16:00]

Ursprünglich stand im vorletzten Absatz "DirectX 12 und Metal ermöglichen einen besseren Zugriff auf die Recheneinheiten als Vulkan." Der Vergleich bezog sich jedoch auf OpenGL. Das wurde geändert. (rme)