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

Dieses Thema im Forum "macOS" wurde erstellt von c1151, 6. Juni 2018.

  1. Das ist dann aber nur eine eingeschränkte Plattformunabhängigkeit und in diesem Thread geht es ja um eine Kompatibilität zu einer bestimmten Plattform. Ich weiß nicht, ob Du einfach iOS als Zeilplattform verwenden kannst, wenn Du den OpenGL Kram testweise raus löschsts? Ich tue mich jedenfalls weiterhin schwer, es zu glauben. Hast Du es mal ausprobiert? Nur darum geht es ja schließlich in diesem Thread: Wenn eines Tages iOS die Basis ist, kannst Du angeblich Deinen Code nicht mehr für die neue Zielplattform kompilieren, nur weil OpenGL nicht mehr unterstützt wird.
    Wo wir wieder beim eigentlichen Punkt wären: Bislang hast Du keine iOS Zielplattform im Programm. Das ist klar, weil ja alle Deine Zielplattformen OpenGL unterstüzten. Wenn nun das klassische macOS weg fällt bzw etwas auf iOS Basis an dessen Stelle rückt, dann ist der große Aufreger, dass es dann kein OpenGL mehr gibt? Das würde mich zumindest wundern, wenn das jetzt der große Aufreger an dieser Umstellung wäre.
    Ja, das ist dann der einfachste Fall und die Interfaces können dann immer nur generisch sein sowie speziellen Nektar zur Codeoptimierung kann man dann kaum nutzen. Ist aber bei einfachen Programmen durchaus üblich.


    Da fehlt das Wörtchen "eingeschränkt", "bedingt", whatever
     
  2. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    null plan, aber so tun, als ob...
     
  3. Willste es jetzt nicht verstehen oder wie? Die GPU ist sehr wohl im Package der CPU. Und dort wo es das nicht gibt wird es derzeit von der GPU unterstützt. Die GPU ist Hardware.

    Wenn Apple nun seine Betriebssysteme vereinheitlichen will, wo kommt dann die Hardware Unterstützung für OpenGL her? Ins iPhone werden so schnell keine GPUs mit entsprechenden Fähigkeiten rein kommen.
     
  4. Physical Evidence

    Physical Evidence er leuchtet fast

    Schön, dass Du es endlich einsiehst.
     
    dbra und Grenzfrequenz gefällt das.
  5. Ganz genau. Sonst würde man nicht damit kommen, dass ausgerechnet Spiele besonders leistungsfähige CPUs benötigen, während XBox One und Playstation 4 mit ner AMD CPU von 1013 auskommen und PC Spielehersteller heute bereits einen Teufel tun, die Lauffähigkeit von modernen CPUs mit 6 und mehr Kernen abhängig zu machen.
     
  6. c1151

    c1151 Guest

  7. 2bit

    2bit ||

    Warum haben Sony und Microsoft denn keine ARM-CPUs in diese Konsolen gebaut, hm? Das kannst du mir sicher verraten.
     
  8. Was soll das Rumgetrolle? Was hat eine CPU von 2013 damit zu tun, dass Apple ab 2020 oder später sein Ökosystem umgestellt/ vereinheitlicht sehen möchte und die klassische Desktopsparte generell im Markt Verdrängung erfährt? Und mitgelesen hast Du offenbar nicht, sonst wüsstest Du, dass es im Gesamtmarkt Alternativen zu ARM gibt.
     
  9. OpenGL ist in macOS 10.14 abgekündigt. OpenGL ES in iOS ist nicht abgekündigt. OpenGL ES bietet aber nur eingeschränkte Features und rödelt zumindest bei Apple auf keine Grafikkarte. Deswegen sagt Apple man soll für hochperformante Anwendungen das Metal Framework verwenden. Ist es jetzt verständlich?
     
  10. Wenn es nur darauf ankäme, hätte beispielsweise Roland seine "ACB" Instrumente gar nicht manuell für x86 optimieren müssen.
     
  11. BCPL wurde bereits zuvor aus Gründen besserer Portierbarkeit (="Plattformunabhängigkeit") entwickelt und implementiert. C wurde "erfunden" um UNIX zu entwickeln.

    "Plattformunabhängigkeit" finde ich ist ein etwas unglücklicher Begriff, sofern eine Abhängigkeit von bestimmten Plattformen vorliegt. Und das ist bei C recht stark ausgeprägt, insbesondere bei der Verwendung von Hardwareschnittstellen (jedes Programm braucht aber Schnittstellen mehr oder weniger, wenn es etwas sinnvolles für den Nutzer tun soll). Aber so ist es mit der menschlichen Sprache, sie ist nicht in jedem Fall genau.
     
  12. c1151

    c1151 Guest

    Wir habe anscheinend eine andere Meinung zum Begriff der Plattformunabhängigkeit.

    Ja du hast recht, wenn es um das letzte bisschen Optimierung geht, dann werden auch die CPU spezifischen Befehlssätze teilweise per Hand eingesetzt. Das hat dann aber nichts mehr mit C++ zu tun, sondern wird in Assembler geschrieben. Ich habe dies aber nicht vor. Was der Compiler mir ausspuckt, muss reichen. Ich betreibe auch keine Simulation von Analogen Schaltkreisen und will auch keine Vintage Synths klonen. Dafür habe ich gar nicht das KnowHow.
     
  13. 2bit

    2bit ||

    Du irrst dich, denn die Chiptechnik in diesen Konsolen ist ziemlich aktuell:
    https://en.wikipedia.org/wiki/Jaguar_(microarchitecture)#Consoles

    Ich hab ziemlich genau mitgelesen, denn daher weiß ich auch, dass du mal was ganz anderes hier erzählt hast:
    Und diese Aussage ist halt einfach nicht der Fall. Nicht mal näherungsweise:

    https://www.gamesindustry.biz/artic...ndustry-biz-presents-the-year-in-numbers-2017
     
  14. Natürlich hat der Turbofan dem Turbojet den Rang abgelaufen, als man bei der Reisegeschwindigkeit der Schallmauer näher kam. Und was anderes habe ich nicht behauptet.

    Ob man nachher x68 für Spielekonsolen als Consumer-Nischenprodukt am Leben erhalten wird, wird man ja sehen. Fakt ist: Da sind heute keine Server CPUs drin und über nichts geringeres als diese Sparte reden wir hier, sobald die üblichen Consumeraufgaben billiger abgefrühstückt werden können, weil dann effizientere Prozessor-Architekturen dafür ausreichen.
     
  15. Google mal C++ optimierung
     
  16. c1151

    c1151 Guest

    Ich optimiere C++ nicht weiter von Hand. Ich halte mich an const correctness und gebe dem Compiler inline Empfehlungen. Mehr mache ich aber nicht, sondern überlasse das dem Compiler. Das war schon oft Thema im C++ Forum und ich vertraue da den Experten, denn ich bin kein C++ Experte. https://www.c-plusplus.net/forum/ war und ist immer eine gute Anlaufstellen wenn man wirklich mal einen Fachmann braucht. Das einzige was ich mache ist zu versuchen die Algorithmen zu optimieren, das hat aber nichts mit C++ zu tun.

    Wenn alles mal fertig ist, werde ich mich genauer mit Optimierungen beschäftigen, jetzt muss das erst einmal funktionieren.

    Das ist aber leider auch alles volle Kanne Offtopic. Vielleicht kann ein Mod das ganze C++ Gelaber auslagern?
     
    Zuletzt von einem Moderator bearbeitet: 7. Juni 2018
  17. verstaerker

    verstaerker ||||||||||

  18. c1151

    c1151 Guest

    Danke für den Link, schaue ich mir gleich an.
     
  19. Moogulator

    Moogulator Admin

    vielleicht darf man auch daran erinnern - die Apples werden wohl damit auch die Performance verbessern wollen, also mit einem eigenen Framework - natürlich wird es nicht so viel geben, was identisch ist auf allen Plattformen.

    Kann es nicht sein, dass das auch Vorteile haben kann? Nur so mal gefragt. Ist ja genau das was der Apfel damit erreichen will und alle überreden - nutzt das neue Dingsi - und am Ende wird natürlich das genutzt was man entwickelt hat.

    Apple wird mit ARM Kram übrigens enorm davon profitieren *hint hint*
     
  20. c1151

    c1151 Guest

    Ich bin jetzt kein Grafikprofi, aber Metal sieht schon toll aus. Macht in etwa ähnliches wie Vulkan, ist nur leichter zu programmieren. Nutzt aber leider alles nichts, wenn es Apple-only bleibt. Und bringt auch nichts wenn man nur wenig mit der Grafikkarte macht, wie eine simple 2D GUI. Schade, dass sich die Leute nicht auf eine neue GrafikAPI geeinigt haben, so bleibt nur das Setzen auf Frameworks die wieder alles bedienen. Das gibt es aber derzeit nicht. Jedenfalls nicht wenn man nur Grafik will. Qt ist da wohl das einzige Vernünftige zur Zeit, die werden sich mit Sicherheit schnell anpassen.

    Ich muss mir die ganze Sache nochmal überlegen.
     
  21. Moogulator

    Moogulator Admin

  22. c1151

    c1151 Guest

    Apple macht tolle Sachen. Das steht außer Frage. Das Problem ist nur die Mauer die sie bauen damit man im Apple Universum bleibt. Es hätte denen ja wirklich nicht weh getan OpenGL einfach weiter mit zu nehmen. Mit Java hatte ich damals ähnliche Probleme auf dem Mac, wenn auch nicht so schlimm. Die sägen viel zu radikal Sachen ab. Auf dem Power Mac G4 fehlte mir das Diskettenlaufwerk, was ich damals noch oft brauchte. Beim Macbook fehlte mir ein Bluray Laufwerk, was ich mit dann extern dazukaufen musste. Dann lassen sie den Kopfhörer Anschluss beim Smartphone fallen. Gut ich habe keine iPhone, kann mir egal sein, aber das war nur ein Beispiel. Mag ja sein dass die Dinge später mal wirklich auch wo anders weg fallen, aber mich hat diese Politik schon oft geärgert.

    Mir ist auch klar, warum die Entwicklung von DirectX12, Vulkan und nun Metal viel Sinn macht. Man kann unter anderem die Leistung der neue Mehrkerner einfach auch für das Ansteuern der Grafikkarte wunderbar nutzen. AMD bringt jetzt schon 32 Kerner raus, das scheint wirklich die Zukunft zu sein, da es mit den GHz physikalisch derzeit nicht mehr groß weiter gehen kann.

    OpenGL aber einfach weg zu lassen, finde ich dennoch nicht gut. Es gibt es soooo viel OpenGL Code und die Geschwindigkeit reicht für viele Sachen wie eine GUI einfach auch in vielen Jahren noch aus. C und C++ sind auch alt, werden aber ständig weiter entwickelt. Gut das kann man nicht aussperren, zum Glück.

    Mein Traum sind halt einfach Technologien, die auf allen Plattformen laufen. Linux wäre zum Beispiel mein Traum als MainOS, schade dass Bitwig und U-he(noch im Test) einer der wenigen sind, die da ihre Sachen für machen.

    Nachtrag: Ich habe gerade gelesen dass Steinberg sein VST3 SDK auch für Linux anbietet. Das ist toll. Das werde ich untestützen und mir einfach mal wieder ein Dualboot mit Linux machen und mich da mal ein wenig ausprobieren was Richtung DAW Plugin-Entwicklung etc. geht. https://github.com/steinbergmedia/vst3sdk
     
    Zuletzt von einem Moderator bearbeitet: 8. Juni 2018
  23. Drumfix

    Drumfix ....

    Neben Qt gibt es auch JUCE als Multiplatformframework, das bis zu einem Einkommen aus der Entwicklung von JUCE Applikationen von 50000$/Jahr kostenlos ist.
    Wenn es nur um 2D Graphik geht, reicht auch einfach die Cairo Bibliothek (www.cairographics.org)
    VST3 = C++ only => nein Danke.
     
  24. haebbmaster

    haebbmaster Lötknecht

    Dass es mehr plattformübergreifende Frameworks als Plattformen gibt, macht die Entscheidung nicht unbedingt leichter ...
     
  25. Drumfix

    Drumfix ....

    Wer mit so einer Entscheidung schon überfordert ist, lässt Softwareentwicklung besser gleich sein...
     
  26. c1151

    c1151 Guest

    Danke für den Tipp mit Cairo, das schaue ich mir mal an. Ja Qt und JUCE habe ich auch immer im Hinterkopf. Obwohl ich bei JUCE nicht sicher bin ob die schon 2D Grafik in Form von Vektorgrafik unterstützen. Ich glaube gelesen zu haben, dass da nur Bitmap Grafik direkt unterstützt wird und man sich dann doch wieder selbst drum kümmern muss, wenn man was anderes will. Muss ich mir aber nochmal genauer anschauen. Ich stehe noch am Anfang, da habe ich noch viele Optionen offen. Wenn man sich dann erstmal an ein dickes Framework gebunden hat, ist es nicht mehr so einfach zu wechseln. Ich habe schlechte Erfahrungen gesammelt, aus meiner Zeit als Webentwickler, wo ich das alles noch beruflich gemacht hatte. Da waren wir bei der letzten Firma vom Zend Framework abhängig, was aber dann so vermurkst wurde, dass man auch nicht mehr auf eine neue Version updaten konnte und so weiter und so fort. Am liebsten hätte ich vom Scratch wieder neu angefangen. Aber wie das so in einer Firma ist, es ist einfach kein Geld da um Sachen nochmal von vorne zu machen.

    Ob C++ oder nicht, ist mir eigentlich egal. Ich habe in Assembler, C, C++, Java, PHP, Javascript Sachen gemacht. Ich nutze das was mir da am geeignetsten erscheint. Allerdings bin ich in keiner der Sprache wirklich Experte. Rust finde ich sehr interessant, wenn auch sehr ungewohnt vom Konzept und der Syntax. Die Sprache werde ich weiter beobachten.
     
    haebbmaster und dbra gefällt das.
  27. Plan9

    Plan9 ....

    Apple, und auch Microsoft sind nicht daran interessiert das Plattform unabhängig programmiert wird.

    Für Apple only würde ich nicht entwickeln. Besonders jetzt nicht mehr wo Apple sich immer mehr aus dem Professionelen Bereich zurückzieht.
     
    dbra gefällt das.
  28. c1151

    c1151 Guest

    Ja stimmt, die machen beide gern ihr eigenes Ding. Ne für Apple only kommt gar nicht in Frage. Ich bin zwar nicht mehr up to date was Apple angeht, aber so vom Gefühl her verjagen die immer mehr Profis im kreativen Bereich. Apple will wohl eine reine Consumer Bude werden. Vielleicht rudern sie ja noch mal zurück und wenn nicht ist es auch nicht schade. Die waren schon immer was "besonderes".
    Microsoft könnte jetzt richtig punkten, wenn sie mehr auf gemeinsame Standards mit der Linuxwelt setzen, oder gar mal eine eigene Distro raus bringen oder oder oder. Obwohl bei dem Marktanteil müssen sie sich eh keine Sorgen um die Zukunft machen.
     
    Zuletzt von einem Moderator bearbeitet: 11. Juni 2018
  29. rauschwerk

    rauschwerk pure energy noise

    In meinem Architekturbüro haben wir seit einiger Zeit auf ArchiCAD gesetzt (unter Einsatz von i7 iMac's und macOS).
    Das Problem hier (themabezogen) ist der extreme Verlust der Performance im 2D und besonders in 3D aufgrund (wohl) der OpenGL-Schnittstelle. Sofern Graphisoft zukünftig auf Metal setzen würde, könnte Hoffnung am Ende des Horizonts "sichtbar" werden .. doch dafür müsste man ja arbeiten und neue code-Zeilen schreiben (und auch enstpr. testen), statt die alten sourcecodes weiterhin einsetzen zu können, wie sonst üblich.
     
  30. kybernaut_01

    kybernaut_01 Cybernetic Organism

    Grenzfrequenz gefällt das.