Werbung
Die Meldung ging bei den meisten sicherlich unter. In dieser Woche wurde die Vulkan-API mit viel Unterstützung durch AMD und NVIDIA veröffentlicht. Für die Grafik-API verantwortlich zeichnet sich die Khronos Group, ein im Jahr 2000 gegründetes Industriekonsortium. Die Khronos Goup kümmert sich um die Erstellung und Verwaltung von offenen Standards im Multimedia-Bereich auf einer Vielzahl von Plattformen und Geräten. Neben AMD und NVIDIA gehören noch zahlreiche weitere Unternehmen zu den Unterstützern.
In der vergangenen Woche wurden die finalen Spezifikationen der Version 1.0 der Vulkan-API ratifiziert. In der Folge haben sowohl AMD als auch NVIDIA entsprechende Beta-Treiber zur Verfügung gestellt. AMD sieht dazu eine Beta-Version der Radeon Software vor, die auf den 14. Februar datiert ist. NVIDIA hat mit dem GeForce 356.39 einen Treiber veröffentlicht, der ebenfalls rein für die Unterstützung der Vulkan-API vorgesehen ist.
Datenschutzhinweis für Youtube
An dieser Stelle möchten wir Ihnen ein Youtube-Video zeigen. Ihre Daten zu schützen, liegt uns aber am Herzen: Youtube setzt durch das Einbinden und Abspielen Cookies auf ihrem Rechner, mit welchen Sie eventuell getracked werden können. Wenn Sie dies zulassen möchten, klicken Sie einfach auf den Play-Button. Das Video wird anschließend geladen und danach abgespielt.
Ihr Hardwareluxx-Team
Youtube Videos ab jetzt direkt anzeigen
Der Ansatz der Vulkan-API ist dem der Mantle-API nicht ganz unähnlich. Es geht darum, den Entwicklern eine tiefere Kontrolle über die Hardware zu verschaffen, sodass diese mehr aus der zur Verfügung stehenden Hardware herausholen können. Bestehende Flaschenhälse sollen so weitestgehend umschifft werden. Allerdings birgt eine derartige Kontrolle auch Gefahren und so müssen Entwickler zum Beispiel bei der Speicherverwaltung sehr genau wissen, was sie tun. Die im Vergleich zu DirectX recht unscheinbare OpenGL-API soll damit wieder etwas mehr in den Vordergrund rücken.
Die Vulkan-API in der Version 1.0 wird unter Windows 7, Windows 8.1, Windows 10, Android und Linux unterstützt. Konkrete Ankündigungen zu Spielen, die sich in der Entwicklung befinden, gibt es aktuell nicht. Die Games Developer Conference vom 14. bis 18. März in San Francisco könnte hier aber erste Erkenntnisse bringen. Die Source-2-Engine ist bisher die einzig bekannte Game-Engine, die bereits die Vulkan-API eingebaut hat. Debugger von Valve, LunarG und Codeplay helfen bereits beim Debugging-Prozess und sorgen damit für die notwendigen Optimierungen.
[h3]The Talos Principle[/h3]
Nun stellt sich als nächstes die Frage welche Spiele oder Engines die Vulkan-API unterstützen werden. The Talos Principle stammt aus der Feder des Croteam, die auf eine lange Geschichte der Unterstützung vieler Grafik-APIs zurückblicken. Die letzte Erscheinung, eben The Talos of Principle, ist bei der Entwicklung keine Ausnahme gewesen und funktioniert sowohl unter DirectX 9, DirectX 11, OpenGL und nun eben Vulkan. Vulkan ist für das Entwicklerstudio sicherlich eine Art Testballon, denn auch wenn die Vulkan-API nun in einer Version 1.0 vorliegt, dürfte die Entwicklung im Beta-Stadium begonnen worden sein – sowohl was die Grafik-API selbst betrifft, als auch das Spiel. Die Umsetzung hat laut Croteam für einen Entwickler etwa drei Monate gedauert. Um die Vielseitigkeit der API unter Beweis zu stellen soll in Kürze auch eine Linux-Variante folgen.
Die Vulkan-API ist theoretisch zu mehreren Plattformen kompatibel – sinnvoll testen und vergleichen lässt sich sich derzeit aber nur unter Windows und selbst hier müssen Einschränkungen gemacht werden. So handelt es sich, wie schon gesagt, um eine recht frühe Implementation. Der DirectX-11-Renderpfad hingegen ist seit Jahren ausgereift und besitzt nur nur wenig Optimierungspotenzial. Hier sind eher die Hersteller der Treiber, also AMD und NVIDIA am Zuge. The Talos Principle ist zudem das erste Spiel mit Vulkan-Support. Ein Gegentest, der für oder gegen eine schlechte Implementierung argumentieren ließe, ist also nicht möglich.
{jphoto image=92268}
Immer wieder sehen wir bestimmte Technologien dazu prädestinierte Beispiele, die dann auch von den Herstellern aufgegriffen werden. Im Falle von DirectX 12 sind es die sogenannten Draw Calls. So konzentriert sich der 3DMark DirectX-12-Test derzeit ausschließlich auf die Messung dieser Draw Calls und DirectX-12-Spiele wie Star Wars stellen in dieser Hinsicht ebenfalls besondere Herausforderungen dar. The Talos Principle ist derzeit nicht von einer hohen Draw-Call-Leistung abhängig, als dass eine Low-Level-API hier einen großen Unterschied machen könnte.
Version 1.0 der Vulkan-API gepaart mit einer recht frühen Implementierung sind der eine Punkt, weitere sind die von AMD und NVIDIA vorgestellten Treiber. Beide stammen aus dem Beta-Programm der Hersteller und dürfen auch als solche verstanden werden. Entwicklungsstränge bestimmter neuer Technologien oder Leistungsverbesserungen sind hier meist noch nicht enthalten und der Nutzer springt somit in gewisser Weise etwas in die Vergangenheit. Sobald ein bestimmter Entwicklungsstand erreicht ist, sollen beide Treiber in die Release-Version den Vulkan-Support erhalten. Wann dies der Fall sein wird, ist derzeit noch unklar. So lange es aber kaum Anwendungen gibt, welche die Vulkan-API verwenden und es sich bei dem jeweiligen Spiel auch noch um Beta-Versionen handelt, können auch die Hersteller noch in aller Ruhe ihre Treiber zu Ende entwickeln.
Für die Tests haben wir uns Grafikkarten-Testsystem verwendet. Die für die AMD- und NVIDIA-Grafikkarten verwendeten Treiber haben wir bereits angesprochen. Bei den Settings haben wir uns für die höchsten Grafikeinstellungen entschieden – gehen bei den Auflösungen aber bis auf 1.280 720 Pixel runter, um eventuell den Draw-Call-Output zu erhöhen.
Die Ergebnisse zeigen, dass die Vulkan-API im Vergleich zu OpenGL einen großen Sprung darstellt. An DirectX 11 hingegen kann die neue API nicht heranreichen. Dafür kann es nun mehrere Gründe geben. Zum einen befinden sich die Entwicklungsstränge bei Vulkan in einem recht frühen Stadium. Dies betrifft die API selbst ebenso wie die Treiber oder das Spiel The Talos Principle. Während im Vergleich zu OpenGL offensichtlich einige Ressourcen freigemacht und Flaschenhälse erweitert werden können, wurde DirectX in den vergangenen Jahren, ja sogar Jahrzehnten auf das aktuelle Niveau hinoptimiert. Die Vulkan-API bietet aber sicherlich noch ein großes Potenzial.
Geht man etwas tiefer ins Detail, ist z.B. erkennbar, dass es bei der Vulkan-API im Vergleich zu DirectX 11 keinerlei visuelle Unterschiede gibt. Der Renderpfad scheint hier recht gut angepasst worden zu sein. Eine Besonderheit hat die aktuelle Implementation in The Talos Principle, denn bei Karten mit einem Grafikspeicher von 2 GB sehen wir einen übermäßigen Leistungsverlust, was vermutlich mit dem Speichermanagement zu begründen ist. Ähnlich wie Mantle und DirectX 12 erlaubt die Vulkan-API eine tiefergehende Kontrolle dieser Ressource – ein Umstand den man als Vorteil verstehen kann, der bei mangelndem Speichermanagement aber auch ein Nachteil sein kann.
Uns ist zudem noch ein Bug im aktuellen Treiber von NVIDIA aufgefallen, der nach jedem Benchmark-Durchlauf einen Reboot des Systems notwendig macht. Führten wir keinen Neustart durch, stürzte das Spiel mitsamt des kompletten Systems unweigerlich ab. Bei Verwendung einer AMD-Grafikkarte mitsamt dem dazugehörigen Treiber trat dieser Fehler nicht auf.
Als Fazit lässt sich noch festhalten, dass die aktuelle Ausführung der Vulkan-API ein vielversprechender Schritt ist. Sie wird bei reinen Desktop-Spielen weniger eine Rolle spielen, dazu ist die Marktmacht von DirectX 11 und 12 einfach zu groß und gerade im Hinblick auf DirectX 12 dürften die Vorteile auch zu gering sein, als das sich eine Umsetzung lohnt. Dort aber, wo Spiele auf verschiedenen Plattformen mit verschiedenen Hardwarevoraussetzungen laufen soll, könnte Vulkan eine wichtige Rolle spielen. Dazu aber müssen nun mehr und mehr Entwickler auch eine Umsetzung ihrer Spiele starten, denn sonst haben wir wieder ein Henne-Ei-Problem, aus dem keiner einen Vorteil ziehen kann.