1969382

Mehr Leistung: So arbeitet Apples neue Grafik-Lösung Metal

14.07.2014 | 13:58 Uhr |

Auf der diesjährigen Worldwide Developers Conference hat Apple besonders viele technische Neuerungen vorgestellt, darunter auch die neue Grafik-Lösung Metal. Während deren Präsentation die wohl attraktivste war, sind die genauen Vorteile der Technik schwer zu verstehen. Wir bringen Licht ins Dunkel.

Kurz gesagt: Metal ist Apples neueste Methode, Grafik-Prozessoren zu programmieren. Die Firma verspricht Leistungssteigerungen ohne Änderungen an der Hardware und behauptet, dass Spiele detailreicher werden bei gleichbleibenden 60 Frames pro Sekunde. Es klingt nach Zauberei, ist es aber nicht: Denn das stimmt.

Der alte Stand der Technik

Metal ist das, was die Beschreibung verspricht - es holt mehr aus der Hardware raus, aus dem „Metall“ des A7. Grafik-Prozessoren sind gigantische „Zustands-Systeme“. Stellen Sie sich ein riesiges Bedienungspult aus den 1970er Jahren vor, mit Schaltern und Drehknöpfen, die bestimmte Funktionen ausführen. Nicht alle Kombinationen dieser Funktionen werden von der Maschine unterstützt, aber Sie können die Schalter trotzdem beliebig umlegen. Die Kombination der Schalter, die Sie umgelegt haben und der Knöpfe, an denen Sie gedreht haben, bestimmen den Zustand des Systems.

OpenGL macht die Hardware für Spiele-Entwickler zugänglich, bedeutet jedoch auch, dass viel Overhead vorhanden ist. Metal ermöglicht es Spiele-Entwicklern die Vorteile der Hardware eines Gerätes einfacher zu nutzen.
Vergrößern OpenGL macht die Hardware für Spiele-Entwickler zugänglich, bedeutet jedoch auch, dass viel Overhead vorhanden ist. Metal ermöglicht es Spiele-Entwicklern die Vorteile der Hardware eines Gerätes einfacher zu nutzen.

Die Aufgabe des Grafik-Programmierers ist es, die richtigen Schalter zu betätigen und die Knöpfe im richtigen Maß zu drehen, um dann den Prozessor mit Daten zu füttern. Diesen Prozess meint Apple, wenn von sogenannten „Draw Calls“ pro Frame gesprochen wird, die Metal unterstützt.

Während der WWDC-Keynote zeigten Spiele-Entwickler beeindruckende Szenen, die mit Metal möglich werden
Vergrößern Während der WWDC-Keynote zeigten Spiele-Entwickler beeindruckende Szenen, die mit Metal möglich werden

Mit OpenGL, dem aktuellen Grafik-Standard, müssen Programmierer jeden Schalter und Knopf einzeln betätigen. Jedes Mal wenn das geschieht, muss der Grafik-Prozessor den Zustand der gigantischen Maschine erneut überprüfen. Im Gegensatz dazu kann der Programmierer durch den Einsatz von Metal einfach den Zustand der Maschine festlegen, den er benötigt, und diesen Zustand dann anwenden. Statt jeden Drehknopf und Schalter zu betätigen, wird der Ablauf eher wie das Auswählen von Sushi auf einer Speisekarte. Aus der Sicht des Benutzers sind diese Details nicht besonders wichtig. Die Auswirkungen werden jedoch auf jeden Fall zu spüren sein.

Die Magie von Metal

Metal ist auf die Arbeitsprozesse von heutigen GPUs und CPUs angepasst. Insbesondere wenn es um Apples A7 geht. Der A7 vereint die GPU und CPU auf einem Chip und diese teilen sich einen gemeinsamen Speicher. OpenGL dagegen basiert auf einem Konzept, bei dem die GPU auf einer eigenen Karte sitzt. Dadurch, dass Metal weiß, dass die GPU und CPU Zugriff auf denselben Speicher haben, kann Metal eine Menge Leistung abrufen. Ressourcen zu verwalten, die fürs Zeichnen benötigt werden, wird deutlich einfacher und schneller. Viele Effekte, beispielsweise Reflektionen, setzen voraus, dass eine Szene in ein Bild gezeichnet wird, um dieses Bild anschließend in der finalen Szene einzusetzen. Metal vereinfacht diesen Ablauf deutlich.

Moderne GPUs und CPUs besitzen mehrere Kerne – sie können gleichzeitig lesen, sprechen, Kaugummi kauen und jonglieren. Und Metal ermöglicht das Abrufen dieser Leistung durch die Simultanverarbeitung von Grafikbefehlen. Es geht aber nicht nur um eine bessere Grafikleistung, die Metal abruft. Metal unterstützt außerdem „General Purpose Graphics Unit Computing“, was bedeutet, dass die GPU Software ausführen kann, die nicht unbedingt mit der Grafik zu tun hat. OpenCL ist der offene Standard zum Programmieren von Software, die von GPUs ausgeführt werden kann und dürfte Mac-Usern bekannt sein. Metal bringt diese Art der „General Purpose Graphics“-Programmierung auch auf die iOS-Plattform. Wie der Name vermuten lässt, handelt es sich bei OpenCL um einen sehr ähnlichen Standard wie OpenGL und die Vorteile von Metal für OpenCL sind ähnlich wie die bei OpenGL. Der Ansatz, dass Prozessoren einen gemeinsamen Speicher nutzen ist hier ebenfalls ein großer Vorteil.

 

Die Vorteile von Metal sind vielfältig und wirken sich auf mehr als nur Spiele und die Grafik aus
Vergrößern Die Vorteile von Metal sind vielfältig und wirken sich auf mehr als nur Spiele und die Grafik aus

Vorteile für alle

Alles gut und schön, aber wie wirkt sich das für den Benutzer eines iOS-Gerätes aus? Ein bisschen ist Metal wie der Bau des LHC – wir wissen nicht genau, welche Chancen sich ergeben werden. Aber es ist eine schöne neue Welt voller Möglichkeiten. Doch gibt es auch konkrete Vorteile, von denen der Nutzer profitiert und die er schätzen wird. Darunter kürzere Ladezeiten (durch besseres Ressourcen-Management), mehr Details (durch schnellere Draw Calls) und wahrscheinlich zahlreiche weitere Anwendungen, die die GPU als Rechenplattform nutzen können.

Natürlich entstehen diese Apps nicht einfach durch die Einführung von Metal. Entwickler müssen das neue System umsetzen und ihre Software daran anpassen. Aber die gute Nachricht ist, dass alle großen Spiele-Hersteller der iOS-Plattform wie auch Unreal und Unity (die beiden größten Spiele-Engines), bereits ihre Unterstützung von Metal zugesagt haben. Das bedeutet, auch wenn Entwickler sich nicht mit der Implementierung von Metal auseinandersetzen, profitieren alle Spiele von den Verbesserungen, die eine dieser beiden Engines nutzen.

Einige der beliebtesten Spiele-Engines haben bereits ihre Unterstützung für Metal angekündigt. Entwickler profitieren daher auch ohne große Code-Änderungen von den Vorteilen.
Vergrößern Einige der beliebtesten Spiele-Engines haben bereits ihre Unterstützung für Metal angekündigt. Entwickler profitieren daher auch ohne große Code-Änderungen von den Vorteilen.

Abgesehen von den technischen Details hat Metal auch interessante politische Auswirkungen. Apple nimmt wie meist sein Schicksal selbst in die Hand. Anstatt durch die Khronos Group (die für OpenGL und OpenCL verantwortliche Vereinigung) eingeschränkt zu sein, kann Apple selbständig Änderungen an Metal vornehmen, so dass die Hardware immer bestmöglich unterstützt wird. Dies ist ein wichtiger strategischer Schritt, der demonstriert, dass Apple überzeugt ist, über die nötige Entwickler-Basis und ausreichende Stückzahlen an iOS-Geräten zu verfügen. Und es signalisiert, dass Apple die Spiele-Entwicklung noch ernster nimmt als bisher.

Apple war lange bekannt dafür, keine große Spiele-Plattformen bereit zu stellen, mit iOS hat sich das geändert. Und es scheint so, als würde sich auch Apple ändern. Metal und das Investment, das Apple in dessen Entwicklung und Unterstützung gesteckt hat zeigen, dass die Firma die Spiele-Entwicklung tatsächlich sehr ernst nimmt. Das bedeutet nicht, dass OpenGL (oder OpenCL) verschwinden werden oder nicht ihre eigene Berechtigung haben. Es gibt nach wie vor viele Anwendungsbereiche, für die beide Standards bestens geeignet sind. Aber Metal entspricht einem niedrigeren, akkurateren Modell moderner Chips wie dem A7. Und wenn die ersten Apps mit Unterstützung für Metal herauskommen, werden wir die wahre Leistung des A7 zu sehen bekommen.

0 Kommentare zu diesem Artikel
1969382