OpenGL und OpenCL: Keine Weiterentwicklung von Apple mehr geplant
OpenGL ging ursprünglich aus einem Grafik-API von Silicon Graphics hervor: IRIS GL. 1992 veröffentlichte Sillicon Graphics eine Open-Source-Variante von IRIS GL und schaffte damit einen über viele Plattformen hinweg unterstützten Standard für die Ansteuerung von Grafikkarten.
Apple unterstützte OpenGL auch in den ersten Versionen von Mac OS X - und schrieb sogar den Window Manager von Mac OS X mit 10.2 Jaguar um, so dass dieser OpenGL zur beschleunigten Darstellung aller Fenster auf dem Desktop nutzte (Apple nannte dies "Quartz Extreme").
Leider entwickelte sich OpenGL relativ langsam weiter - Funktionen, die Hardware-Hersteller umgesetzt hatten, wurden nur zögerlich in den Standard aufgenommen und Microsoft machte mit dem 1995 gestarteten DirectX immer mehr Boden gut. Spiele-Hersteller setzen seit Anfang der 2000er häufig auf DirectX - zu groß sind die Performance-Vorteile und zu unbedeutend ist der Mac- und Linux-Markt für Spiele.
Apple brachte im Jahr 2014 ein eigenes Grafik-API namens Metal auf den Markt, zuerst nur für iOS-Geräte. 2015 hielt Metal auch mit OS X El Capitan Einzug auf dem Mac - wurde aber nicht von allen Macs unterstützt, die OS X El Capitan ausführen konnten. Mit macOS 10.13 High Sierra portiere Apple auch den macOS-Window-Manager auf Metal, welcher zur Darstellung von allen Fenstern auf dem Bildschirm verantwortlich ist.
Mit Erscheinen der ersten Entwickler-Beta von macOS 10.14 Mojave am gestrigen Abend ist bekannt geworden, dass Apple OpenGL wie auch OpenCL mit einer Deprecation-Warnung versehen hat (
wir berichteten in unserem Hands-On). OpenCL ist ein Framework, mit dem sich Grafikkarten nicht nur zur Darstellung von Bildern verwenden lassen, sondern auch für komplexe Berechnungen.
Eine Deprecation-Warnung bedeutet nicht, dass die genannten Bibliotheken in kurzer Zeit aus macOS verschwinden werden - es bedeutet erstmal, dass Apple nicht plant, diese Technologien weiterzuentwickeln. Mittel- bis langfristig wird Apple aber OpenGL und OpenCL aus macOS entfernen - daher sollten Entwickler diese Frameworks nicht mehr für die Entwicklung von neuen Apps oder Spielen einsetzen.
Spiele-Entwickler nahmen die Nachricht nicht positiv auf: Mit Performance-Einbußen ist es derzeit noch möglich, ein Spiel mittels OpenGL zu entwickeln, welches dann unter Windows und macOS läuft - ohne verschiedene Grafik-APIs nutzen zu müssen. Setzt der Entwickler aber auf eine Spiele-Engine, wie Beispielsweise die Unreal-Engine, maskiert diese weitgehend, welches Grafik-API genutzt wird - das Spiel wird auf macOS mittels Metal dargestellt, unter Windows mit DirectX.
Der Zeitpunkt dieser Deprecation-Warnung ist allerdings sehr interessant: Anfang des Jahres kamen Gerüchte auf, dass Apple
für 2020 Macs mit hauseigenen A-Prozessoren auf ARM-basis plant - samt integrierter Grafikeinheit, die auch im iPhone und iPad zum Einsatz kommt. OpenGL oder gar OpenCL wurde nie zusammen mit den Grafikeinheiten der Apple A-Prozessoren eingesetzt, sondern nur die abgespeckte, für Mobilgeräte optimierte Variante OpenGLES ("Embedded Systems"). Sollte Apple tatsächlich die Mac-Plattform auf A-Prozessoren umstellen, wird Apple nur geringes Interesse daran haben, OpenGL auch für diese Grafikeinheiten umzusetzen.