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

null plan, aber so tun, als ob...
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.
 
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.

Warum haben Sony und Microsoft denn keine ARM-CPUs in diese Konsolen gebaut, hm? Das kannst du mir sicher verraten.
 
Warum haben Sony und Microsoft denn keine ARM-CPUs in diese Konsolen gebaut, hm? Das kannst du mir sicher verraten.
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.
 
OpenGL und iOS...es könnte so schön sein wenn das bleibt:
https://developer.apple.com/library...ogrammingGuide/Introduction/Introduction.html

Sorry, aber auf das andere gehe ich jetzt nicht mehr ein. Ich habe das Gefühl, das wird dann eine Never-Ending-Stoooory...lalala lalala lalala
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?
 
C ist übrigens der erste plattformunabhängige Assembler gewesen und wurde genau deswegen erfunden.
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.
 
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.
 
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?

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

Und mitgelesen hast Du offenbar nicht, sonst wüsstest Du, dass es im Gesamtmarkt Alternativen zu ARM gibt.

Ich hab ziemlich genau mitgelesen, denn daher weiß ich auch, dass du mal was ganz anderes hier erzählt hast:
Der effizientere Turbofan (RISC) hat dem leistungsfähigeren Turbojet (CISC) den Rang abgelaufen im Massenmarkt für konsumierende Bürger.

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
 
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
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.
 
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 bearbeitet von einem Moderator:
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*
 
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.
 
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
  • Microsoft Windows 7-10
  • Apple OSX 10.7-10.13
  • Apple iOS 8-9
  • Linux (Beta version)
Supported IDE:

  • Visual Studio 2015/2017
  • minimum Xcode 7
  • Qt Creator
 
Zuletzt bearbeitet von einem Moderator:
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.
 
Dass es mehr plattformübergreifende Frameworks als Plattformen gibt, macht die Entscheidung nicht unbedingt leichter ...
 
Wer mit so einer Entscheidung schon überfordert ist, lässt Softwareentwicklung besser gleich sein...
 
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.
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.
 
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.
 
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 bearbeitet von einem Moderator:
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.
 


News

Zurück
Oben