Augen1337 schrieb:
Der beste Weg wäre gewesen, dass sie bspw. mit Valve zusammenarbeiten. Dass sie auch für macOS Übersetzungsschichten implementieren, die das Gaming auf nicht-Microsoft interessant machen. Wenn sich das Linuxgaming im Handheldbereich weiter ausbaut und gleichzeitig auf die Verbreitung von Applegeräten gesetzt werden würde, wäre es ein so viel größeres Publikum für die Spiele. Damit könnten Entwickler endich einen Businesscase für nicht-Microsoft-Betriebssysteme im Gamingsektor haben.
Da Apple eine eigene, propritäre Zwischensprache nutzt, lassen sich die Übersetzungsschichten gar nicht so einfach portieren.
AAS schrieb:
Metal als Low-Level-Graphics-API ist konzeptionell näher an Vulkan als DirectX 11/12 – sowohl was das Command Encoding als auch das Resource Management betrifft. Das bedeutet konkret: Wer heute für Metal optimiert, steht bei einem Port auf Vulkan viel besser da als bei einem DX12-Target. Nicht umsonst nutzen Engines wie Unity und Unreal abstrahierte Layers, die Metal relativ problemlos auf Vulkan (z. B. via MoltenVK in umgekehrter Richtung) abbilden können – DX hingegen ist da eine ganz andere Hausnummer, vor allem was Descriptor Heaps und DXGI betrifft.
Wobei bei DX die Zwischensprache in Zukunft ebenso SPIR-V sein wird.
AAS schrieb:
Statt also über „Einbunkern“ zu sprechen, müsste man sich eher fragen: Warum ziehen so viele Studios noch DirectX-basiert, obwohl Vulkan und Metal langfristig deutlich mehr Portabilität ermöglichen?
Naja, Vulkan ist schon arger Wildwuchs, mit allerhand optionalen Komponenten und lange Zeit sehr durchmischter Verfügbarkeit und mitunter abweichenden Verhalten je nach Plattform/GPU. Aus der Hüfte würde ich sagen, dass <=Vulkan 1.2 der Wildwuchs für Entwickler reichlich unattraktiv war. Da war DirectX in den Anforderungen strikter und damit das verlässlichere Ziel.
Die Optionalen Erweiterungen bei Vulkan sind auch immernoch eine mittelprächtige Plage, siehe:
https://mesamatrix.net/
ElliotAlderson schrieb:
Nochmal: Es ergibt keinen Sinn nochmal das gesamte Ökosystem zu tauschen! Checkst du es nicht?!
Das Apple das müsste, ist eine reine Annahme von dir. Egal ob DirectX, Vulkan oder Metal, alle abstrahieren auf eine Zwischensprache (DirectX auf DXIL und ab ShaderModel7 auf SPIR-V, Vulkan auf SPIR-V und Metal auf die MIR[1]). Apple könnte recht problemlos von ihrer eigenen Metal/MIR Suppe mindestens auf Metal zu SPIR-V setzen. Das geht "problemlos", was unter anderem die freien Linuxtreiber für AppleSi beweisen:
https://rosenzweig.io/blog/aaa-gaming-on-m1.html
Würde Apple SPIR-V unterstützen, wäre auch auf einen Schlag Proton kompatibel mit AppleSi um DirectX zu unterstützen und Vulkan sowieso. (Witzigerweise würde das auch Kompatibilität zu OpenCL schaffen und bedingt auch CUDA)
Groß am Ökosystem müsste da auch nicht getauscht werden, zudem ein Großteil des Softwarestacks ja bereits von Dritten erstellt wurde.
[1]"Metal Intermediate Representation", die Dokumentation daherum ist aber eher mau.