Vulkan kommt zu OSX

Kaito

Kaito

Aktives Mitglied
Thread Starter
Dabei seit
31.12.2005
Beiträge
7.093
Reaktionspunkte
1.844
Vulkan ist vielleicht einigen ein Begriff. Dies ist der "Nachfolger" von OpenGL und ein offener Standard einer Grafikprogrammierschnittstelle, der unter Linux und Windows schon heute in den Treibern implementiert und nutzbar ist.

Anstelle bei der nächsten Version des offenen Standard mitzuziehen, hatte Apple sich damals aber lieber entschieden mit Metal etwas eigenes auf den Markt zu werfen, das im Prinzip das gleiche macht, aber nur in der Apple-Welt existiert. Auch bei OpenGL hatte sich Apple ja schon länger nicht mehr mit Ruhm bekleckert und seine Treiber seit fast 10 Jahren nicht mehr neuen OpenGL Versionen angepasst, geschweige denn ihre Treiber optimiert, weshalb GPUs in Macs unter Windows bekanntlich mehr Leistung liefern können.

Dem könnte jetzt der Kampf angesagt sein: schon früh zur "Herausgabe" von Vulkan wurde MoltenVK bekannt. Das ist eine "Schicht" die Vulkan zu Metal übersetzt. Das geht recht einfach, da die beiden konzeptionell sich sehr ähnlich sind. Allerdings war diese Software kostenpflichtig.
Valve, die Macher von Steam, sowie LunarG und The Brenwill Workshop haben zusammen MoltenVK gekauft und frei veröffentlicht. Somit kann nun jeder Vulkan Programme für den Mac bauen und Apple kann mit ihrer Eigenbrötlerei bleiben wo der Peffer wächst.
MoltenVK rennt auch auf iOS.

Valve soll mit ihrem Spiel Dota 2 in einem ersten Test eine um 50% höhere Performance via Vulkan auf dem Mac erzielt haben, im Vergleich zur OpenGL Version.

https://www.khronos.org/news/press/vulkan-applications-enabled-on-apple-platforms
 
  • Gefällt mir
Reaktionen: ma2412, Madcat, CROWLEY und 4 andere
Valve soll mit ihrem Spiel Dota 2 eine um 50% höhere Performance via Vulkan auf dem Mac erzielt haben.
Im Vergleich zu OpenGL und damit ist die Überraschung auch schon vorbei. Spielehersteller wie Blizzard zeigen schon seit über einem Jahr, wozu Metal im Vergleich zu OpenGL auf einem Mac imstande ist.

Der Layer dazwischen macht die Performance aber sicher nicht besser, sondern lediglich möglich. Hier profitieren lediglich die Publisher, nicht der Nutzer. Denn: eingespartes wird sicher nicht an den Nutzer weitergegeben und besser ist die Performance auch nicht, als im Vergleich zu einer nativen Meta-Implementierung.

Metal ist so oder so ein sehr lebendiges Konstrukt und dabei nimmt Apple Gewohnheitsgemäß wenig Feedback an (Blizzard hat den Support für eins der Spiele vorerst aufgegeben).
 
Deine Aussage macht nicht viel Sinn. Natürlich im Vergleich zu OpenGL, denn kaum einer fasst Metal freiwillig an.
Und damit profitiert natürlich auch der Nutzer, durch mehr Programme die überhaupt was besseres als Apples schäbiges OpenGL verwenden:
“These efforts are aimed toward reducing development and porting costs for any developer supporting multiple platforms.”
Nicht viele haben sonderlich viel Lust auf Apples Metal Auswurf:
“Running Vulkan applications on Apple platforms has been the number one request from developers and today’s release of the MoltenVK runtime and LunarG macOS SDK brings that capability to life,” said Neil Trevett, VP NVIDIA and Khronos Group President.
Ansonsten:
The Khronos Vulkan Portability Initiative continues to refine and define a universally portable subset of Vulkan 1.0 that can be run at native performance levels over Metal and DirectX 12 drivers.

Apple hätte halt auch einfach mal bei einem gemeinsamen Standard (wo sie ja zu Beginn dabei waren) bleiben können. Dann hätten wir schon von Tag 1 an geile Performance in neuen Programmen bekommen, anstelle in den paar wenigen Metal-Beispielen, die es heute gibt.
 
Es gibt so viele Baustellen, an denen um Apples Idee herumgebaut wird. Letztlich frisst du als Entwickler die Kröte - Garantiert.
Also freuen wir uns erstmal ob des Segens und auf das der Mac zu einer neuen Gaming Platform wird. (Hier diktiert Apple übrigens schon heute, welche Grafikkarten drin sind und welche du mittels eGPU verwenden solltest) - sogar die Treiber werden von Apple entwickelt/angepasst. Und wenn sie gar keine Lust darauf haben, schneiden sie den Zopf ab oder bringen (so wie bisher) mit jeder Metal Version so grundlegende Änderungen, dass die Pflege dieses Übersatzes schnell unbezahlbar wird.

Edit: das muss dich natürlich nicht davon abhalten, dich deinem Jubelsturm hinzugeben.
 
Genau, die Pflege eines einzelnen Übersatzes ist sicher anstrengender, als die von N einzelnen Anwendungen. ;)
Sollten solche inkompatiblen Änderungen kommen, kann ein Programm schlicht einen älteren Kontext öffnen, wie es ja mit OpenGL auch ist. Sonst wäre über Nacht ja jedes Programm im Eimer...
 
Unterstützen die größeren Engines (Unreal, Unity) nicht Metal out-of-the-box?
 
Du scheinst dich ja auszukennen. Gott sei Dank ist das alles so einfach - wieso ist da keiner früher drauf gekommen? Also doch goldene Gaming-Zeiten auf dem Mac - vor allem, wenn Apple mit seiner Eigenbrödlerei dahingeht, wo der Pfeffer wächst. ;)

Und wie gut plattformübergreifende Entwicklung funktioniert, hat man schon an unzähligen anderen Beispielen gesehen. Apache Cordova, React Native, Xamarin - alles sollte damit so viel einfacher sein - nicht?

Fakt ist, Metal greift auf die Hardware zu, der Layer nur auf die Schnittstelle. Und den Zugewinn mit dem schwächsten Glied der Kette anpreisen .. naja. Alles ist schneller als OpenGl. Ein Vergleich mit Metal würde das Ding vermutlich schnell als Frickelwerk entlarven. Metal ist hochperformant UND (das Wichtigste!) äußerst Effizient (wurde vor allem deswegen im Bedarf für iOS Entwickelt). Ich bin mir sicher, damit kann die Abstraktion nicht mithalten.

Nebenbei: Nicht nur Apple hat OpenGL verstoßen, auch Microsoft - und die fahren gut damit.

Edit: und ob der Bug in meinem Code ist, oder in meinem Code &^ der Schnittstelle, ist ein bedeutender Unterschied bei der Fehlersuche
 
  • Gefällt mir
Reaktionen: KumpelKalle
...ich glaube, vinyl.ger scheint Angst zu haben, daß jemad das Türchen zu seinem goldenen Käfig auf macht. Oder was sonst ist an dem letzten Zitat in Posting #3 so unverständlich / schrecklich, als daß es einen Grund geben könnte, sich nicht mal darüber zu freuen.
Meine Fresse, endlich kommt mal etwas Schwung in diese lethargische Apple-Gaming-Ecke und schon findet sich einer der immer noch meckert... :hamma:
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Shetty, iPhill und Kaito
...ich glaube, vinyl.ger scheint Angst zu haben, daß jemad das Türchen zu seinem goldenen Käfig auf macht. Oder
.. ja, oder aber er ist selbst Entwickler und weiß einfach, wovon er redet, anstatt einfach unreflektiert den (ganz sicher uneigennützigen!) Beitrag zu bejubeln.

Aber das ist jetzt total unwahrscheinlich und viel zu weit hergeholt - ich würde sagen, deine "Angst-Theorie" ist viel plausibler! Denn die übrigen Erklärungen sind sowieso nur blabla eines Haters!

Bin ich froh, dass das jetzt raus ist!
Und a propos offener Käfig ... ach, lassen wird das. :)
 
Fakt ist, Metal greift auf die Hardware zu, der Layer nur auf die Schnittstelle. Und den Zugewinn mit dem schwächsten Glied der Kette anpreisen .. naja. Alles ist schneller als OpenGl. Ein Vergleich mit Metal würde das Ding vermutlich schnell als Frickelwerk entlarven. Metal ist hochperformant UND (das Wichtigste!) äußerst Effizient (wurde vor allem deswegen im Bedarf für iOS Entwickelt). Ich bin mir sicher, damit kann die Abstraktion nicht mithalten.
Dir ist aber schon bewusst, dass Vulkan genau das gleiche macht und der einzige Grund, weshalb wir das nicht direkt auf OSX haben, Apples Widerwille ist?

.. ja, oder aber er ist selbst Entwickler und weiß einfach, wovon er redet
Ja nein, ich denke bei den bisherigen Posts hier kann man das ausschließen. ;)

Also ernsthaft jetzt, du scheinst nicht zu verstehen worum es hier geht, so oft wie du z.B. von Layer redest. Hier gibt es z.B. um SPIRV-Cross, ein Compiler, der einen SPIR-V Shader in MSL übersetzt. Das ist eine einmalige Aktion und dann rennt der Shader nativ. Er ist nativ. So Sätze wie
Fakt ist, Metal greift auf die Hardware zu, der Layer nur auf die Schnittstelle
haben einfach nichts mit dem zu tun was hier passiert, denn in beiden Fällen greift immer noch Metal auf die gleiche Hardware zu.
Nur der Entwickler muss kein Metal mehr können bzw. dafür programmieren.
Solches vorgehen ist nichts neues. SPIR-V/GLSL zu HLSL wird bereits eingesetzt.
Google macht das in jedem größeren Produkt: https://github.com/google/shaderc
Glaubst du irgendjemand schreibt ernsthaft Shader in GLSL, HLSL, SPIR-V und MSL per Hand?

Nebenbei: Nicht nur Apple hat OpenGL verstoßen, auch Microsoft - und die fahren gut damit.
Nur dass es hier total egal ist, da die Leute OpenGL sowie Vulkan von AMD/Nvidia/Intel bekommen. Auf OSX verbietet das Apple den GPU Herstellern.
 
Zuletzt bearbeitet:
Deine Aussage macht nicht viel Sinn. Natürlich im Vergleich zu OpenGL, denn kaum einer fasst Metal freiwillig an.

Freiwillig nicht, aber mangels Alternativen durchaus. Quasi alle aktuellen AAA-macOS-Spiele nutzen Metal, schon allein weil sich viele Features kaum auf Apples alter OpenGL-Implementierung realisieren lassen.

Leider nutzt mir das nicht viel, da Nvidia keine Metal-Treiber liefert, die diesen Namen verdient hätten. Und um im AMD-Lager die Performance meiner 980Ti zu bekommen, müsste ich ganz schön tief in die Tasche greifen.
 
Dir ist aber schon bewusst, dass Vulkan genau das gleiche macht und der einzige Grund, weshalb wir das nicht direkt auf OSX haben, Apples Widerwille ist?

Vulkan macht was "genauso"? Und: Der Grund, dass sich OpenGL nicht auf Windows durchgesetzt hat, war Microsofts Widerwille, das eigene HARDWARENAHE DirectX zu pushen. Beide dumm? Oder Apple? Oder du übersiehst was? Oder beide und nur du hast den Durchblick? Das bringt mich direkt zu:

Ja nein, ich denke bei den bisherigen Posts hier kann man das ausschließen.
"Man" oder du? Bist du dir ob meiner Qualifikation doch nicht so sicher? ;-)

Ich bezweifle, dass du auch nur einen Hauch einer Ahnung hast, was MoltenVK technisch ist. Nicht mehr als die von mir beschriebene Abstraktion von Apples Metal-Schnittstelle (die mit Sicherheit (*) nicht den ganzen Funktionsumfang abdeckt) damit Vulkan "benutzbar" wird.

* tbc

Edit: ist noch viel gruseliger, als ich es mir vorgestellt habe! Das ist nur ein "almost complete" SUBSET der Vulkan API, d.h. das Ding hat in beide Richtungen noch Luft (denn alle Metal Fähigkeiten sind auch nicht abgedeckt) - das muss besser als Metal sein und auf jeden Fall performanter!
 
Freiwillig nicht, aber mangels Alternativen durchaus. Quasi alle aktuellen AAA-macOS-Spiele nutzen Metal, schon allein weil sich viele Features kaum auf Apples alter OpenGL-Implementierung realisieren lassen.
Das könnte sich ändern. Wie ja eingangs zitiert hat Valve das nicht aus Nächstenliebe gemacht, die werden sich sicher ausgerechnet haben, was langfristig der günstigere Pfad ist und andere werden den sicher gerne auch beschreiten.

Ich würde mich dabei auch gar nicht nur auf Spiele beschränken. Jeder Videoplayer, jeder Browser braucht eine vernünftige Grafikschnittstelle. Alles was schöne Bildchen zaubern will. Auch Google arbeitet in praktisch allen seinen Tools nur mit einer Zwischensprache, die dann je auf native Formate übersetzt wird, siehe https://github.com/google/shaderc und https://github.com/google/angle .
 
Ich bezweifle, dass du auch nur einen Hauch einer Ahnung hast, was MoltenVK technisch ist.
Also bisher hast nur du Fehler im Verständnis gehabt. :noplan:
(die mit Sicherheit (*) nicht den ganzen Funktionsumfang abdeckt) damit Vulkan "benutzbar" wird.
Schätzeleinchen, das steht in der Quelle schon so. Mal lesen ~
-das muss besser als Metal sein und auf jeden Fall performanter!
Weiß nicht wovon du redest, denn das hat hier niemand gesagt. Wieder so ein Leseding?

Darf ich fragen wie alt du bist?
 
Also bisher hast nur du Fehler im Verständnis gehabt. :noplan:
Schätzeleinchen, das steht in der Quelle schon so. Mal lesen ~

Es ist exakt wie von mir beschrieben ein "Gummi dazwischen" - ein Layer, eine Abstraktionsschicht - wie auch immer es schöner klingt. Und per Design schon nie "besser" als Metal, denn darauf fußt es.

Dein Beitrag lässt sich also darauf reduzieren:
- Apple ist scheiße wegen Metal,
- die Guten bauen nun etwas, was Metal erst benutzbar macht
- wenn Apple OpenGL auch unterstützt hätte, dann hätte Microsoft DirectX auch nicht weiter verfolgt (was wohl deren Gründe waren - bitte sag du es mir!)

.. und OpenGL wäre DIE Schnittstelle vom Android-Wasserkocher bis hin zum Apple-TV.

Köstlich!
 
Also wenn du ignorierst was ich schreibe können wir die Sache auch sein lassen. :kopfkratz:
Oder was hast du an Compiler nicht verstanden?
 
Also wenn du ignorierst was ich schreibe können wir die Sache auch sein lassen. :kopfkratz:
Oder was hast du an Compiler nicht verstanden?

Dein Compiler macht nichts anderes, als Vulkan-Code nehmen und dann an Metal (vorgekaut) weiterreichen - das macht es nicht weniger zu einem Frickelwerk und nicht weniger Wartungsarm. Und auch nicht performanter.

Ich bin mir auch nicht sicher, worauf du hinaus willst. Ich kann dir sagen, dass Ding wird nicht populärer werden, als andere (nicht Grafik) Ansätze, da es das gleiche (und per Design grundsätzliche) Problem der "Übersetzung" hat. Das kann man gut finden oder nicht - da gibts kein richtig/falsch. ICH sehe als Entwickler nicht, WO ICH das nun lieber statt Metal verwenden sollte - vor allem hinsichtlich iOS, da Metal den größeren Funktionsumfang und einen gewissen Reifegrad erreicht hat.
 
Dein Compiler macht nichts anderes, als Vulkan-Code nehmen und dann an Metal (vorgekaut) weiterreichen - das macht es nicht weniger zu einem Frickelwerk und nicht weniger Wartungsarm. Und auch nicht performanter.
Nicht Vulkan, SPIR-V. Und er reicht nicht weiter, er macht daraus MSL.
Du kannst das gerne als Frickelwerk bezeichnen, machen nur viele große Softwarehersteller schon lange so. Glaubst du in Chrome findet sich HLSL?
Performanter (als MSL) macht es das nicht, nein. Habe ich aber auch nie gesagt, du behauptest das nur ständig, genauso wie ein paar andere Sachen. :hamma:

Dein Beitrag lässt sich also darauf reduzieren:
- Apple ist scheiße wegen Metal
Jo. Also nicht wegen Metal direkt, sondern weil sie sich eigene Standards bauen wo es unabhängige/platformübergreifende gäbe.
- die Guten bauen nun etwas, was Metal erst benutzbar macht
Das habe ich nie gesagt.
- wenn Apple OpenGL auch unterstützt hätte, dann hätte Microsoft DirectX auch nicht weiter verfolgt
Bitte was?
.. und OpenGL wäre DIE Schnittstelle vom Android-Wasserkocher bis hin zum Apple-TV.
Bitte was?

Also solangsam wird es unlustig. Du liest nicht was ich schreibe bzw. ignorierst es und stattdessen schreibst du ständig die gleichen Dinge wieder und wieder, inklusive Unterstellungen von Aussagen, die ich hier nie gemacht habe. Das ist doch keine Diskussionskultur.
Entweder machst du es absichtlich oder merkst es gar nicht?

Es wirkt als habe dich dieser Thread irgendwie massiv gekränkt. Das war weder meine Intention noch Absicht.
 
Zuletzt bearbeitet:
Sehr nett von dir, aber gekränkt bin ich nicht. Einen Beitrag anzufangen und direkt gegen Apple zu bashen, hat wenig mit Diskussionskultur zu tun. Metal ist nicht so schlecht, wie es dargestellt wird. Und dass der Bedarf nach Optimierung viel mehr Kontrolle über ein Projekt (OpenGl, Metal, DirectX) verlangt, ist auch nichts neues.

Ein MacBook 12" in seiner Basiskonfiguration ist in FCPX DRAMATISCH schneller beim 4k Video Export, als deutlich stärkere Windows Hardware (mit Quadcore Intel i5 CPUs) unter Adobe Premiere. Warum das so ist? Weil der eine die Möglichkeit der Optimierung hin zu Leistung und Effizienz hat und der andere eben nicht.

Ob für dich als Nutzer dann die eine Plattform mit größerer Auswahl wichtiger ist und mir die Plattform (und deren Schnittstellen), die wesentlich effizienter sind, ist eine reine Glaubensfrage - und so wird hier auch diskutiert.

Recht hat hier niemand mit irgendwas. Meine Punkte lassen sich aber wie folgt zusammen fassen:
- Metal ist "the way to go", wer das "kann", kann damit alles machen, egal wieviele Abstraktionen es dafür gibt
- eine Abstraktion ist nicht automatisch besser, nur weil jemand den Bedarf dafür sah/es OpenSource ist/es viele Unterstützer findet
- Apple macht einen sehr guten Job bei der Optimierung eigener Software (Effizienz) und Schnittstellen
- dass Apple sich früh von OpenGL getrennt hat, war nur Konsequent
- "offen" heißt auf keinen Fall besser und schon gar nicht effizient
- mag ich unreflektiertes Fanboy-Gequatsche nicht (Pro oder Contra Apple)

Viele Grüße aus München!
 
- Apple macht einen sehr guten Job bei der Optimierung eigener Software (Effizienz) und Schnittstellen

Git auch genügend Gegenbeispiele. Der USB-Stack von Apple z.B. ist Scheiße seit einem Jahrzehnt. Die USB 2.0 Performance war immer deutlich unter der von Windows/Linux auf der gleichen Hardware. Such hier im Forum, wurde oft genug diskutiert.
OpenGL wurde ja schon genannt. Selbst Linux ist da mittlerweile um Potenzen performanter.

-> Apple kann einen sehr guten Job machen. Sicher nicht richtig ist deine Verallgemeinerung.
Ganz zu schweigen von dem Filevault-Passwortleak in ein Logfile, den Passworthint auf dem Lockscreen der das richtige Passwort zeigt, dem mehrfachen Absturz beim Rendering von einzelnen Schriftzeichen, root-Login ohne Passwort, .. kann man ewig so weiter führen.

- dass Apple sich früh von OpenGL getrennt hat, war nur Konsequent

Früh? Vulkan war da sicher schon in Entwicklung. Und der Grund für Metal ist sicher iOS, weniger Mac OS X. Und wenn Apple doch die den Einblick in die Hardware hat und die Treiber selbst schreibt angeblich, dann ist Apple doch Schuld für die schlechte OpenGL Performance? Ist das nicht n Widerspruch zu deiner Verallgemeinerung das Apple einen guten Job macht mit seiner eigenen Software und Schnittstellen?

- "offen" heißt auf keinen Fall besser und schon gar nicht effizient

Gibt auch genügend Beispiele wo die offene Implementierung meilenweit besser ist als alle proprietäre Sachen. x264 ist performanter, schneller, effektiver als jegliche proprietäre H.264 Implementierung. Schaus nach!
-> "offen" heißt auf keinen Fall besser und schon gar nicht effizient. Gerade wiederlegt.

Apache vs IIS, WebKit vs Internet Explorer, ..

Falls dus noch nicht mitbekommen hast, Apple nutzt einen Haufen offene Software. Weil, ähhh, ja, sicher! Weil offene Software auf keinen Fall besser ist und schon gar nicht effizient.

Wieso nochmal läuft >90% der Serverwelt auf Linux und freier Software? Alle Supercomputer laufen auf freier Software. Also wenns da so viel bessere und effizientere Software gibt, und man schon n paar Millionen für "einen Computer" ausgibt, wieso ist das so?

- mag ich unreflektiertes Fanboy-Gequatsche nicht (Pro oder Contra Apple)

Ebenso!
 
Zuletzt bearbeitet:
Zurück
Oben Unten