SuperGAU für Entwickler: Apple schmeißt OpenGL & OpenCL raus!

C

c1151

Guest
Apple will OpenGL und OpenCL zukünftig nicht mehr unterstützen und statt dessen auf die Eigenproduktion Metal setzen. Das dauert zwar noch eine Weile, aber ich z.B. werde nicht irgendwas für Metal programmieren, da ich nur einfachstes OpenGL brauche für meine kleine SynthSoftware. Somit werde ich Apple komplett raus nehmen und nur für Windows und Linux entwickeln. Spare ich mir halt den Kauf eines MacMini später. Andere Entwickler sind auch sauer. Hier ein Zitat aus dem dazugehörigen Heise Artikel:
„¯\_(ツ)_/¯

If Apple wants to shoot itself in the foot, so be it. We won't work on Metal support just to accommodate their ambitions of competing with Microsoft as the "we're big enough to have our own proprietary graphics library".

So Godot will issue deprecation warnings on macOS 10.14 and that's just fine.

macOS users can be grateful to Valve and Khronos for obtaining the opensourcing of MoltenVK, so that we can use Vulkan on macOS too. If all goes well we should have Vulkan support before macOS 10.15 comes out with potentially no OpenGL support at all. If not, macOS gamers will have to learn how to dual boot Linux
grinsend.png


We're working hard to provide good macOS support, but if Apple just keeps breaking compatibility and making sure to only be a second class citizen, we can't fight them. But again, everything should be fine™ thanks to MoltenVK.“

Aka „Fuck you, Apple!“

https://github.com/godotengine/godot/issues/19368

Gruss, Oliver
Quelle Kommentar: https://www.heise.de/forum/Mac-i/Ne...der-Entwicklergemeinde/posting-32479035/show/
Quelle Artikel: https://www.heise.de/mac-and-i/meld...32-Bit-Apps-OpenGL-und-OpenCL-ab-4068653.html
 
Was spricht dagegen, sich mit etwas neuem zu beschäftigen? Kostet Dich das finanziell etwas, abgesehen von einer evtl. Einarbeitungszeit? Oder ist es die Tatsache, daß es eben nicht "Open", sonder proprietär ist?
Wie Du siehst, habe ich keine Ahnung von der macOS Welt, daher die ernstgemeinte Frage.
 
OpenGL ist ein plattformübergreifender Standard für Grafikanwendungen. Für Apple eine extra Grafiklibrary unterstützen zu müssen ist ein extremer Aufwand.
Bei einem Marktanteil von nur 10% für MacOS für viele ein zu hoher Aufwand.
 
Was spricht dagegen, sich mit etwas neuem zu beschäftigen? Kostet Dich das finanziell etwas, abgesehen von einer evtl. Einarbeitungszeit? Oder ist es die Tatsache, daß es eben nicht "Open", sonder proprietär ist?
Wie Du siehst, habe ich keine Ahnung von der macOS Welt, daher die ernstgemeinte Frage.
Für mich ist der Aufwand OpenGL und DSP zu lernen schon enorm, dazu bessere ich meine C++ Kenntnisse auf. Ich habe ehrlich gesagt keine Lust mich mit einer Grafikschnittstelle zu beschäftigen, welche exklusiv nur für diese eine Plattform existiert, die ich aktuell nicht mal installieren kann, da ich extra Apple-Hardware dafür bräuchte. Gut einen Macmini hätte ich mir dann irgendwann eh hingestellt, um wirklich auch unter macOS testen zu können, aber diese Inselpolitik von Apple stößt mir übel auf.
Es werden sicherlich dann irgendwann Frameworks angepasst werden die Metal mit abdecken. Ich entwickle aber jetzt und das mit OpenGL, weil ich für meine drei GUI Teile kein erneute Abhängigkeit von einem Framework möchte. Der Nachfolger Vulkan ist zum Glück abwärts kompatibel zu OpenGL. So wird mein Code auch in Jahren noch funktionieren. Mobile Geräte sollen für mich auch eine Zielplattform werden und da ist OpenGL ES, was eine kleinere Schnittmenge von OpenGL ist, mit Sicherheit auch noch viele Jahre aktuell.

Achtung Spekulation: Ich kann mir vorstellen, dass Apple deswegen auf Metal only setzt um besser auf die hauseigene Hardware optimieren zu können. Leistungsschwache Hardware erweckt dann den Eindruck sie wäre performanter. Würde man dann darauf Programme nutzen, die Crossplattform Schnittstellen nutzen, so könnte man direkt wieder vergleichen und würde sehen wie schwach dann zum Beispiel ein ARM System im Vergleich zu x86 ist, wenn es um die Wurst geht. Das erinnert mich damals an die PowerPC CPU in meinem G4 PowerMac. Wurden die extra Fähigkeiten der CPU ausgenutzt, so konnte der PowerPC überzeugen, ansonsten war der nicht so dolle. Ich glaube das ist eine miese Strategie um von Intel und AMD wegzukommen und den Kunden zu verkaufen, dass dann die ARM Systeme gar nicht so langsam sind. Die Apple Keynote kann ich mir schon bildlich vorstellen...
 
Die Empörung ist nur ein Sturm im Wasserglas. Selbstverständlich werden die Entwickler entweder ihre Anwendungen anpassen oder gleich zu einem platformübergreifenden Framework greifen, z.B. JUCE.
Die Mär vom hohen Aufwand ist absolut lächerlich.
 
Ja, wer mit JUCE arbeitet wird vielleicht keine großen Probleme haben. Ich würde mich ungern von kostenplfichtigen Frameworks abhängig machen.
 
Würde man dann darauf Programme nutzen, die Crossplattform Schnittstellen nutzen, so könnte man direkt wieder vergleichen und würde sehen wie schwach dann zum Beispiel ein ARM System im Vergleich zu x86 ist, wenn es um die Wurst geht.
x86 ist mittelfristig eh legacy im Consumer Bereich, Qualcomm hat Intel beim Fertigungsprozess bereits überholt. Und Intel bekommt jetzt ja schon die 10 nm kaum an den Start. Wenn man aber nicht mehr wie gewohnt verkleinern kann, kommt es mehr auf Dinge wie den Stromverbrauch der Mikroarchitektur an (da Stromverbrauch, Wärmeententwicklung und Performance nunmal nicht unabhängig voneinander sind).
Das weiß Intel auch, der damalige Chef hat es zB als seinen größten Fehler bezeichnet, nicht die Chips fürs iPhone produziert zu haben als es die Möglichkeit gab wobei er die Entwicklung natürlich nicht geahnt hat. Intel hat dann Atom auf den Markt gebracht um in der Sparte konkurrieren zu können.

Wenn nun aber jemand ne besser performende Schnittstelle benutzt als dies Standard-konform möglich ist, dann ist der Performancegewinn immer noch real. Mancher Hersteller mag vielleicht ne lahmere Implementierung zugunsten des Standards bevorzugen aber wenn wir jetzt in den Bereich kommen, wo der Fertigungsprozess nur noch langsam verbessert werden kann, würde ich nicht darauf bauen, dass es „normal“ ist.

Und Gründungsmitglied Microsoft ist ja beim OpenGL Architecture Review Board schon lange ausgestiegen und bei Windows 10 on ARM gibt es auch kein OpenGL. Hat also nix mit „Innenpolitik bei Apple“ zu tun.
 
Ich habe ja neben meinen PowerMac G4 von damals auch ein Macbook Air 2012 über ein Jahr gehabt und der war jetzt nicht so schlecht, aber eben auch nicht besser als Windows. Am liebsten wäre mir ja wirklich Linux, aber da fehlen mir dann doch so ein paar Sachen die darunter nur schwer oder gar nicht laufen. Ich nutze allerdings schon viel OpenSource, damit ich so weit es geht plattformunabhängig bleibe. So Sachen wie Audacity, VLC, OpenOffice, Blender, Inkscape, Gimp, Thunderbird usw sind fest bei mir im Einsatz. Und ich überlege schon mal wieder einen Linux-Ausflug zu versuchen.

Das sollte jetzt hier aber kein OS 1 vs Rest Thread werden. Ich finde es nur unmöglich absichtlich der Crossplattformentwicklung ein Bein zu stellen.
 
x86 ist mittelfristig eh legacy im Consumer Bereich
Und Gründungsmitglied Microsoft ist ja beim OpenGL Architecture Review Board schon lange ausgestiegen und bei Windows 10 on ARM gibt es auch kein OpenGL. Hat also nix mit „Innenpolitik bei Apple“ zu tun.
Ob das wirklich so veraltet werden wird muss sich erst noch zeigen und wie Windows10 on ARM aufgenommen wird muss man auch erst einmal abwarten. Es gibt einfach viel zu viel x86 optimierte Software. Die kann man nicht einfach mal so in 10 Jahren komplett neu entwickeln. Und eine x86 emulation auf ARM wird eine Katastrophe von der Performance her. Ich glaube nicht dass Windows oder Linux auf ARM only geben wird, wenn dann machen die beides.

Aber selbst falls ARM die Zukunft sein sollte, so sollte auch hier eine Grafikschnittstelle existieren die auf allen Systemen läuft.
 
Zuletzt bearbeitet von einem Moderator:
Naja als Legacy kann es im Consumer Bereich natürlich weiterbestehen, ähnlich wie Fortran im Profi Bereich.

Apple hat die Abkehr von x86 nun aber bereits offiziell gemacht und das spätere Betriebssystem ist nunmal die Analogie zu Windows on ARM.

Außerdem glaube ich nicht, dass sich erst zeigen muss wie ARM aufgenommen wird? Ist doch in den meisten besseren Tablets drin, wird bereits gut aufgenommen.
 
Es gibt aber weit mehr als den Consumerbereich. Was ist mit den ganzen Arbeitsplätzen wo der Rechner wirklich produktiv eingesetzt werden muss? Windows wird sicherlich nicht den Fehler machen und ARM only gehen. Apple kehrt mit ARM den Profis, die wirklich mit den Kisten arbeiten müssen, den Rücken meiner Meinung nach.
 
Aber der lahmen OpenGL Unterstützung bei Apple weint doch keiner eine Träne nach. Zumal Khronos (der OpenGL Herausgeber) selbst ja bereits mit Vukan eine performantere Alternative am Start und OpenGL mit "Altlasten" zu kämpfen hat.

Wenn ein professioneller Anbieter den Schwenk zu einer anderen Architektur mitmacht, wird sich sein Interesse an einer veralteten, schlecht performenden Grafikschnittstelle arg in Grenzen halten.

BTW wolltest Du Deinen SoftSynth nach ARM portieren - kein Problem, nur ohne OpenGL machste es dann doch nicht? Ansonsten betrifft Dich das Problem ja ohnehin nicht.
 
Unter der Plattform unter der Vulkan läuft, läuft auch altes OpenGL. Klar ist das langsamer, aber für meine Simple GUI reicht das mehr als dicke aus. OpenGL ES läuft auch unter Android. Für ein Raspberry PI System mit Touchscreen würde ich auch gerne eine Version machen, das ist auch ARM. Aber ohne OpenGL wäre es echt schon schade. Wenn alles nichts hilft, muss ich natürlich nach einem GUI Framework suchen was wieder alle Plattformen unterstützt und kostenlos ist. Es wird mir vielleicht nichts andere übrigleiben, verärgert bin ich aber trotzdem. Ich könnte meinen Code so viel schlanker halten und hätte eine Abhängigkeit weniger.
 
ja openGL ist ein systemübergreifender Standard .. allerdings auch über 20 Jahre alt

win-spiele setzen ja auch eher auf direct-x

dann werden eben demnächst ein paar alte Zöpfe abgeschnitten - ist nicht selten ne gute Idee

und wer sagt denn das es keinen openGL driver geben wird, ggf von nem Dritthersteller oder über ne Schnittstelle in der Metal Api
 
Aber ohne OpenGL wäre es echt schon schade. Wenn alles nichts hilft, muss ich natürlich nach einem GUI Framework suchen was wieder alle Plattformen unterstützt und kostenlos ist.

Vielleicht ist da der Weg via Webbrowser interessant? Insbesondere die APIs Web MIDI, Web Audio und WebGL bieten eigentlich alles an, was man so braucht, um Crossplattform-Audio-Anwendungen zu schreiben.

Nur Closed-Source-Software geht damit nur bedingt, weil man halt immer den vom Client-Browser interpretierbaren Javascript-Code im Klartext verschicken muss. Den kann man zwar ziemlich unleserlich machen, aber mit genug Kaffee und Zeit kann man den auch wieder entschlüsseln.
 
Ich arbeite mit OpenGL 3.33(2010) der neuste OpenGL Standard ist von 2017. Mir ist bei einer Technologie auch die Community und Best Practice Erfahrung von anderen wichtig, an die ich mich orientieren kann. Das spart eine Menge Zeit und Nerven, gerade als Einzelentwickler. Von der Performance her soll sich Vulkan ja nur für wirklich hochperformante Grafikgeschichten lohnen. Vulkan ist mir aber ehrlich gesagt eine Nummer zu hoch für meine drei Rechtecke, die ich da zeichnen will. Und selbst wenn ich mich in Vulkan hineinfuchse so wird das ja auch nicht von Apple und Windows on ARM(halte ich eher für sehr experimentell) unterstützt.
Ich recherchiere auch gerade zu Alternativen und der Wegfall von OpenGL stößt sehr vielen echt extrem sauer auf. Libs wie GLFW, welche ich nutze, sind so wunderbar schlank, einfach und plattformunabhänig. Es wird dauern bis es dafür Alternativen gibt, die dann ja auch noch eine Weile brauchen um zu reifen.

Wenn hier jemand einen Tipp hat für eine Crossplatform Lib mit Hardware Beschleunigung, für ein paar 2D Primitive sowie Maus und Tastatur Input, hat, dann immer her damit. Aber bitte keine Monsterframeworks wie Qt, JUCE oder so.
 
Vielleicht ist da der Weg via Webbrowser interessant? Insbesondere die APIs Web MIDI, Web Audio und WebGL bieten eigentlich alles an, was man so braucht, um Crossplattform-Audio-Anwendungen zu schreiben.

Nur Closed-Source-Software geht damit nur bedingt, weil man halt immer den vom Client-Browser interpretierbaren Javascript-Code im Klartext verschicken muss. Den kann man zwar ziemlich unleserlich machen, aber mit genug Kaffee und Zeit kann man den auch wieder entschlüsseln.
Web ist auch eine gute Idee und das werde ich sicherlich auch mal probieren. Erst eimal will ich das so schlank wie möglich halten um vom kleinen Raspberry PI bis zum dicken Windows Desktop alles abzudecken.
 
erinnert euch doch mal ein paar Jahre zurück .... Flash und Apple ... was war das geschreie groß ... auf kein iphone läuft es blabla
es kam html5 oder wie der mupitz heißt ;-) alle fanden flash doof weil ja total unsicher alles haben es benutzt .... klingelt es?
= OpenGL war eine alternative zu Flash?
= OpenGL ist ähnlich unsicher wie Flash?
 
Zuletzt bearbeitet:
Anscheinend gibt es noch eine kleines bisschen Hoffnung für den eher kleinen Entwickler, der eine Crossplattform-Grafikschnittstelle nutzen möchte. Vulkan wird wohl gerade für macOS portiert und dockt sich an Metal an. Ist dann zwar langsamer als Metal pur, aber wird wohl schneller als OpenGL. Das hört sich doch gut an und ich werde jetzt nochmal Reset in meinem GUI-Teil drücken und mich in Vulkan einarbeiten. Nach ein zwei Wochen werde ich hier sicherlich schon berichten können wie schwer das Umsteigen für mich war.

Quelle:https://www.giga.de/downloads/macos...ojave-spiele-entwickler-sind-sauer-auf-apple/
 
bzgl "Supergau": es fliegt ja nicht von heut auf morgen raus .. erstmal stellt Apple die Weiterentwicklung ein und irgendwann - vielleicht in 2 Jahren - fliegt es raus
wer es in 2 Jahren nicht schafft seine App zu updaten, der lässt es wohl besser

mich würde aber tatsächlich interessieren wie Firmen wie Autodesk,SideFx und The Foundry das sehen . Lohnt für die noch der Aufwand der Mac-Entwicklung? z.B. Mari4 gibts nicht mehr für den Mac .. zumindest derzeit.
 
Also OpenGL stand immer für DIE OpenSource Crossplattform API wenn es um Grafikentwicklung ging. Dass dies rausgeschmissen wird obwohl der letzte Stand von 2017 ist und OpenGL immer noch weiterentwickelt wird ist echt schon heftig. Einfach mal nach OpenGL und Apple googeln, da regen sich ganz viele Entwickler drüber auf. Und dann noch OpenCL rauskicken, also wo die GPU auch andere Sachen außer Grafik berechnen kann. Was machen dann OpenSource Projekte wie Blender nun? Große Firmen können es sich wohl leisten da die Extrawurst für Apple zu braten, aber die anderen? Gerade für die OpenSource Szene ist das ein Schlag ins Gesicht.
Das moderne OpenGL also so ab der 3er Version wird ja auch auf Android mit OpenGL ES oder im Web als WebGL verwendet. Es ist also immer noch großer Standard. Vulkan ist ganz neu und wird sicherlich irgendwann mal in 10 Jahren oder so zum Standard. Aber den ganzen OpenGL und OpenCL Code umwurschteln werden wohl die wenigsten machen.

Als Alternative werde viele einfach Apple den Rücken kehren und gut ist. Stünde ich jetzt nicht mit meiner GUI am Anfang, so würde ich auch nicht mehr zu Vulkan wechseln, sondern eher das aktuelle OpenGL von 2010-2017 nutzen. Da ist ja die Entwicklung nicht stehen geblieben, es kann halt einfach nicht so gut optimiert werden wie unter Vulkan oder Metal. Das brauch man aber wirklich nur bei Highend 3D Grafikengines.

Ältere Grafikkarten sind auch nicht alle Vulkan Kompatibel, gut wir können ja neu kaufen. Für eine Webportierung oder RaspberryPi müsste ich dann doch wieder OpenGL Code schreiben und auch für Android. Es ist zum Haare raufen :mauer:
 
also warum openGL und CL raus muss kann ich mir nicht erklären, Metal ist bestimmt besser - aber derzeit läuft ja auch beides gleichzeitig

aber wie schon geschrieben - bestimmt wird es einen Weg geben weiterhin openGL zu benutzen
 
Bei so Leuten wie Autodesk würde ich mal vermuten, dass die entweder sowieso eine eigene portable Grafikengine haben oder dass sie aus Performancegründen so hart am Bit programmieren, dass sie die Präsentationsschicht für jede Plattform extra machen und die Logik dahinter ist portabel.
Die werden sich also von der OpenGL Geschichte nicht beeinflussen lassen. Aber von AutoDesk gibt es für Mac schon deutlich weniger Produkte als für Windows.
 
bzgl "Supergau": es fliegt ja nicht von heut auf morgen raus .. erstmal stellt Apple die Weiterentwicklung ein und irgendwann - vielleicht in 2 Jahren - fliegt es raus
wer es in 2 Jahren nicht schafft seine App zu updaten, der lässt es wohl besser
Zumal die App sowieso nicht unverändert auf ARM laufen wird. Der Hauptpunkt wird irgendwie immer wieder unterschlagen
 
Apple will, dass man ständig was macht - und das ist für einige Entwickler schlecht. Generell wird durch die Politik eben viel abgehängt, gerade wo die Macplattform aktuell enorm schwächelt - das liegt an deren Preispolitik und könnte die Plattform stark gefährden, die einzelnen Elemente müssen da zusammen kommen - aber der Entwickler überlegt sich eben wie groß der Aufwand ist und wo und auf welcher Plattform die meisten User sind. Das kann eben dann auch mal sein, dass die die nicht intensiv daran arbeiten können einfach nichts mehr machen und lassen es auslaufen.

Es wird also eher kleinere oder speziellere Dinger treffen - Musiksachen also sicher auch. Aus so einer Sicht könnte man es betrachten.

Supergau ist überzogen aber es ist dran zu arbeiten - die meisten werden das eben nach Aufwand bemessen ob sich das lohnt ein Update zu machen und - auch was es dann kostet.
 
Täusche ich mich, oder betrifft das auch Machine Learning Anwendungen, die oft die GPU für Berechnungen nutzen (und die oft Open Souce sind)?
 


News

Zurück
Oben