Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

6
Special Roland Austinat (US-Korrespondent) Als bevorzugte Quelle auf Google hinzufügen
Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL
Quelle: PC Games Hardware

Auf der GPU Technology Conference 2016 gab es Updates zum neuen Grafik-API Vulkan und einen ersten Benchmark auf einem Vierkern-Tegra-System, dessen Ergebnisse OpenGL alt aussehen ließen.

Bereits im Februar sprachen wir mit Neil Trevett, dem Präsidenten der Khronos Group und gleichzeitig Vice President Developer Ecosystem bei Nvidia, über die neue Grafik-API Vulkan. Auf der GPU Technology Conference in San Jose gab Trevett weitere Einblicke in die plattformübergreifende Grafikschnittstelle und die Arbeit der Khronos Group.

APIs für jede Lebenslage

Wer bei der Khronos Group nur an OpenGL und Vulkan denkt, wurde von Neil Trevett mit einem kurzen Video eines Besseren belehrt. Anhand einer Dame, die erst ein Auto auf einem Tablet designt und dann damit eine Tour durch Stadt und Land unternimmt, zeigte Trevett, wo überall die lizenzfreien Standard-APIs der rund 100 Firmen zum Einsatz kommen, die sich zur Khronos Group zusammengeschlossen haben. Neben OpenGL für Spiele und Design sind das WebGL für Internet-Browser, OpenCL für HPC-Anwendungen, diverse Varianten von OpenGL, die mit mehr Sicherheitsfunktionen ausgestattet sind und ursprünglich aus der Flugzeugindustrie stammen, OpenVX für VR-Anwendungen und viele mehr.

Dieser vierminütige Film gibt einen Überblick über die Einsatzmöglichkeiten der Software-APIs, die von der Khronos Group entwickelt werden.

Von OpenGL zu Vulkan

OpenGL erblickte bereits vor einem Vierteljahrhundert das Licht der Welt. Doch gerade GPUs haben sich zu eierlegenden Wollmilchsäuen gewandelt, die mehr können, als nur 3D-Grafik auf den Monitor zu werfen. Dazu kommen Mobilplattformen wie Smartphones und Tablets und ganz neue Anwendungsbereiche wie Roboter, Drohnen und VR. Kurz: "Es gab mehr als nur einen Grund für ein neues API", so Neil Trevett. Zwar gibt es mit DirectX 12 und Metal unmittelbare Konkurrenz für Vulkan, doch Microsofts Schnittstelle funktioniert nur unter Windows 10, während Metal nur auf Apples Hardware läuft. Vulkan ist hingegen plattformagnostisch und könnte sogar Windows XP unterstützen - auch, wenn dieses Betriebssystem mangels Support seitens Microsoft und der Hardwarehersteller auf aktuellen PCs nichts mehr verloren hat.

Mehr Leistung durch schlankere Treiber

Zu den Hauptvorteilen von Vulkan gehört ein deutlich schlankeres Treibermodell, als es bei OpenGL zum Einsatz kommt. "Die Anwendung weiß besser als der Treiber, was die GPU machen soll - warum soll das API dem im Weg stehen?" kommentiert Neil Trevett. Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL (18) Quelle: PC Games Hardware Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL (18) Multithreading, geringere Latenz, geringere Komplexität und einfacheres Portieren auf andere Systeme sind weitere Vorteile dieses Modells. Anders als OpenGL lagert Vulkan Front-End-Compiler aus dem Treiber aus - wie auch Debugging-Routinen, die den Programmcode verlangsamen könnten. "Das klingt im ersten Moment gefährlich, aber keine Angst: Wir binden diese Routinen während der Software-Entwicklung ein", sagt Trevett. "Doch wenn die Anwendung fertig ist, verschwindet dieser nun überflüssige Overhead."

Fast alle Grafik-Engines setzen auf Vulkan

Wie schon Entwickler auf der Game Developers Conference vor zwei Wochen zu berichten wussten, gibt es bessere Performance nicht umsonst. Denn wie DirectX 12 verspricht Vulkan zwar mehr Leistung, macht aber auch mehr Arbeit bei der Portierung des OpenGL-Programmcodes. Apples Metal steht für Neil Trevett aufwands- und leistungstechnisch etwa in der Mitte zwischen OpenGL und DirectX 12 beziehungsweise Vulkan. "Entwickler sagen uns aber, dass die Mehrarbeit durch die Ergebnisse mehr als ausgeglichen wird", so Trevett. Dabei müssen nicht alle direkt auf das in nur 18 Monaten fertiggestellte Interface zugreifen. Schon jetzt gibt es Bibliotheken wie LunarG für Windows und Linux. Außerdem unterstützen nahezu alle großen Grafik-Engines beziehungsweise deren Hersteller unterstützen den Einsatz von Vulkan: Dazu gehören die Source-, Frostbite-, Unity-, Nitrous- und Unreal Engine sowie Eigenentwicklugen von LucasFilm und Blizzard. Die CryEngine fehlt derzeit noch in der Liste.

Fisch-Benchmarking unter Wasser

Zeit für einen Live-Benchmark: Auf einem Vierkern-Tegra-K1-System lädt Neil Trevett den Benchmark Vulkan Threaded Rendering - eine Unterwasserszene mit Hunderten von Fischschwärmen. In jedem Frame sind rund 23.000 Fische zu sehen. "Das wären sogar noch mehr, wenn ich ein Gamepad an das System angeschlossen hätte und damit herauszoomen könnte", sagt Trevett. Nun pausiert Trevett die Animation, wobei die Fische weiterhin berechnet und dargestellt werden müssen, denn das Sonnenlicht wirft immer noch variable Schatten durch die Wasseroberfläche. Dennoch sinkt die CPU-Last nahezu auf den Nullpunkt.

Diese Fisch-Demo zeigt, was nur durch den Wechsel von OpenGL ES auf Vulkan aus einem Vierkern-Tablet mit Tegra-K1-Chip möglich ist.

Anschließend senkt Trevett die Zahl der pro Draw Call dargestellten Fische von 100 auf einen - trotz der nun deutlich höheren Rechenleistung bleibt die Darstellung konstant. Nun schaltet Neil Trevett auf OpenGL-ES-Darstellung um: Die Bildrate bricht von 31 auf vier Bilder pro Sekunde dramatisch ein, statt rund 650.000 Draw Calls schafft das Tablet jetzt nur noch etwa rund 90.000. "Eine Verlangsamung um den Faktor acht bis zehn", kommentiert Trevett.

Coming soon: Benchmarks und Spiele mit Vulkan-Support

Auch zahlreiche renommierte Benchmark-Hersteller arbeiten an der Integration des Vulkan-APIs. Dazu gehören Kishonti mit GFXBench, Basemark mit dem Basemark GPU Vulkan und Futuremark, dessen 3DMark Sling Shot für Android-Geräte ebenfalls für Vulkan fit gemacht wird. Auf Spiele mit Vulkan-Support müssen wir derzeit noch warten - außer dem 3D-Puzzler "The Talos Principle" von Croteam gibt es derzeit noch keinen Titel, der auf die neue Schnittstelle setzt. Obendrein läuft bei diesem Spiel die DirectX-11-Version noch geschmeidiger als die Vulkan-Fassung, die immerhin leicht fixer als die OpenGL-Version ist. Allerdings gilt hier auch, was wir auf der GDC über Hitman und Quantum Break zu hören bekamen: Noch kennen die Programmierer die neuen Schnittstellen nicht so umfassend wie DirectX 11 - bis wir die versprochenen Leistungsgewinne auch auf dem PC sehen, werden noch einige Monate ins Land ziehen.

Bildergalerie

6
    • Kommentare (6)

      Zur Diskussion im Forum
      • Von Brehministrator BIOS-Overclocker(in)
        AW: Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

        Zitat von nonamez78
        "Schnelle" Konvertierungen. z.B. eines Dooms, von OpenGL zu Vulkan kann man aber wohl getrost erst einmal vergessen.
        Das definitiv. Davon war aber meines Wissens auch nie die Rede, dass so etwas möglich sein soll. Und genau so gibt es keine schnelle automatische Konvertierung von DX11 zu DX12. Wenn man von einer hardwarefernen, relativ abstrakten API wie DX11 oder OpenGL zu einer sehr hardwarenahen und schnellen API wie DX12 oder Vulkan wechseln will, dann geht das nun mal nur von Hand (und mit schwerwiegenden Eingriffen in die Engine-Struktur).

        Wenn man den Wechsel aber einmal z.B. für DX12 vollzogen hat, dann müsste es nach meinen Informationen dann halbwegs einfach sein, die DX12-Engine auf Vulkan zu portieren (oder umgedreht), da beide sehr hardwarenah sind, und sich im grundlegenden Aufbau gar nicht so unähnlich sind.

        Ich setze also meine Hoffnung darauf, dass im Zuge der DX12-Portierung der großen 3D-Engines jeweils auch effektive Vulkan-Renderpfade mit abfallen, ohne die ganze schwere Arbeit nochmal von Vorne machen zu müssen
      • Von Brehministrator BIOS-Overclocker(in)
        AW: Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

        Zitat von nonamez78
        "Schnelle" Konvertierungen. z.B. eines Dooms, von OpenGL zu Vulkan kann man aber wohl getrost erst einmal vergessen.
        Das definitiv. Davon war aber meines Wissens auch nie die Rede, dass so etwas möglich sein soll. Und genau so gibt es keine schnelle automatische Konvertierung von DX11 zu DX12. Wenn man von einer hardwarefernen, relativ abstrakten API wie DX11 oder OpenGL zu einer sehr hardwarenahen und schnellen API wie DX12 oder Vulkan wechseln will, dann geht das nun mal nur von Hand (und mit schwerwiegenden Eingriffen in die Engine-Struktur).

        Wenn man den Wechsel aber einmal z.B. für DX12 vollzogen hat, dann müsste es nach meinen Informationen dann halbwegs einfach sein, die DX12-Engine auf Vulkan zu portieren (oder umgedreht), da beide sehr hardwarenah sind, und sich im grundlegenden Aufbau gar nicht so unähnlich sind.

        Ich setze also meine Hoffnung darauf, dass im Zuge der DX12-Portierung der großen 3D-Engines jeweils auch effektive Vulkan-Renderpfade mit abfallen, ohne die ganze schwere Arbeit nochmal von Vorne machen zu müssen
      • Von nonamez78 Freizeitschrauber(in)
        AW: Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

        Wenn ich die Statements aus einigen News Blogs richtig im Kopf habe könnte Vulkan zumindest für einige Zeit die Komplexität und die fehlenden Handwerkszeuge zum Verhängnis werden. OpenGL und DirectX sind riesige Frameworks mit unglaublichen Mengen an Möglichkeiten und Funktionen. Vulkan ist eher als Obermenge von Basis Funktionen zu sehen, welche performant sind (durch den fehlenden Overhead?), aber es mangelt an fertigen Routinen für Standardaufgaben.

        Aktuell verfügbare Werte und Vergleiche zu anderen Implementierungen würde ich daher nicht als wirklich aussagekräftig ansehen wollen. Hier geht bestimmt noch mehr, aber ob der Aufwand die Möglichkeiten rechtfertigt muss der jeweilige Hersteller erstmal selber entscheiden. Ähnlich denke ich auch über DX12. Nur weil "jetzt" kaum Vorteile gegenüber DX11 vorhanden sind muss es ja kein Dauerzustand bleiben. Man beachte die PS3, welche anfangs auch durch die Ihre Fremdartigkeit für Probleme sorgte und später Grafikfeuerwerke wie Uncharted 3 hervorgebracht hat.

        "Schnelle" Konvertierungen. z.B. eines Dooms, von OpenGL zu Vulkan kann man aber wohl getrost erst einmal vergessen.
      • Von Brehministrator BIOS-Overclocker(in)
        AW: Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

        Zitat von FanboyOfMySelf
        Sie mögen zwar OpenGL schlagen, aber laut Benchmarks ist selbst DX11 immer noch schneller.
        Vulkan ist eine Verbesserung keine frage, aber sie ist (noch) nicht Konkurrenz fähig.

        Linux, MAC und co. spielt Vulkan eine große Liga, aber nicht auf einem Windows PC.
        Wie schon erwähnt wurde: Nicht "laut Benchmarks" sondern laut "einem einzigen Benchmark" ist das so Vulkan bietet offensichtlich das gleiche Potential wie DirectX 12, und damit auch die gleiche Performance wie DirectX 12 (also deutlich schneller als DX11 auf modernen Karten und Mehrkern-CPUs). Die Engine muss die Features aber halt auch nutzen. Wenn ich z.B. eine DX11-Engine nehme, und sie stupide Zeile für Zeile auf DX12 umschreibe, werde ich auch keinen Leistungsgewinn haben. Man muss schon die Struktur der Engine auf die neue hardwarenahe API anpassen. Selbiges gilt für Vulkan. Wir werden bestimmt in den nächsten 12 Monaten einige Titel sehen, die unter Vulkan schneller laufen als unter DX11, sei da unbesorgt

        Ich denke, dass Vulkan gerade auch unter Windows eine große Rolle spielen will, weil laut den Marktzahlen ja offensichtlich die Mehrheit der Windows-Nutzer kein Interesse daran hat, auf Windows 10 zu wechseln, und somit keinen Zugang zu DX12 hat...

        @ Topic: Dass Vulkan schneller als das alte und "verkrustete" OpenGL ist, ist nun wirklich nicht sehr überraschend. Wäre ja schlimm, wenn nicht (bzw würde für völlig falsche Ansteuerung der API sprechen).
      • Von blackout24 BIOS-Overclocker(in)
        AW: Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

        Zitat von FanboyOfMySelf
        Sie mögen zwar OpenGL schlagen, aber laut Benchmarks ist selbst DX11 immer noch schneller.
        Ehhh ja weil Talos Principle zur Zeit nur die DX11 Engine in Vulkan eingewickelt ist. Kein Multithreading oder sonstiges funktioniert. Erster Schritt war irgendwas lauffähiges zu haben und es dann in den nächsten Schritten in eine vollwertige Vulkan Engine umzubauen.

        Zitat

        Edwin,

        engine design for Vulkan is basically consited of three major parts:\

        1)
        Port. Make it work as fast as possible just by wrapping current engine design around Vulkan. Avoid all pitfalls and bottlenecks. This is what we did by now and released as patch for Talos.

        2)
        Use Vulkan for multi-threaded rendering. Our engine is designed really well for multi-threaded rendering, but we have only our wrapper for it - calls to graphics API (like Vulkan) are not multi-threaded. Yet.
        That being said, this is the next step what we'll do. And probably release that also as patch for Talos. I tried to do that with Direct3D 11 long time ago (support for its deffered contexts), but it was too much pain and too little or even no gain. That's just one of reasons why we decided to stick with our own approach for MT renderer for that long. :/

        3)
        Redesign engine for Vulkan. This is the biggest step and can be split in two:

        3a)
        Precache all rendering states (which mostly mean materials in game) up front. This will make rendering calls much simplier and faster. So, instead of deciding at rendering time what is needed for a material to be rendered via Vulkan, do this at loading time and then when material needs to be rendered just give it to Vulkan, via one or two simple function calls.

        3b)
        Precache all geometry, material, textures, everything that is needed for rendering an object up front. This basically creates so called command buffer ready for Vulkan, and nothing extra needs to be set or created at render time.

        3rd part of port is, obviously, the most complex one, and it'll take time to change engine design for it, step-by-step.

        Hope I explained this well.
        DEN


        The Talos Principle - Update 257458 - public beta :: The Talos Principle General Discussions

        An Talos Principle hat ja auch nur ein einziger Kerl für 3 Monate gearbeitet.

        In den internen Benchmarks von Valve mit ihrem Dota 2 Vulkan Port an dem sie schon über ein Jahr arbeiten mit wesentlich mehr Leuten sieht es besser aus.
      • Von Atent123 Volt-Modder(in)
        AW: Grafik-Benchmarking auf der GTC 2016: Vulkan schlägt OpenGL

        Zitat von FanboyOfMySelf
        Sie mögen zwar OpenGL schlagen, aber laut Benchmarks ist selbst DX11 immer noch schneller.
        Vulkan ist eine Verbesserung keine frage, aber sie ist (noch) nicht Konkurrenz fähig.

        Linux, MAC und co. spielt Vulkan eine große Liga, aber nicht auf einem Windows PC.
        Wie schaffen es einige Spiele dann selbst OpenGL performant hinzubekommen ?
        Metro Redux läuft unter OpenGL besser als unter DX11 und auch Wolfenstein The New Order läuft Performant.
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 08/2026 PC Games 08/2026 play5 08/2026 N-Zone 08/2026 Linux Magazin 08/2026 LinuxUser 08/2026 Raspberry Pi Geek 09/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk