DocWindows schrieb:
Das geht schon seit zig Jahren mit OpenGL und es gibt auch einige Spiele die das seit Jahren so nutzen.
Aber es hat sich nicht allgemein durchgesetzt. Warum nicht? Weil OpenGL alleine nichts bringt, genausowenig wie Mantle. Es braucht noch Sound-, Input- und Netzwerksupport.
Ja klar braucht ein Spiel auch Sound-, Input- und Netzwerksupport. Die Gründe warum sich OpenGL nicht durchgesetzt hat sind allerdings vielschichtig. Der Hauptvorteil von Windows ist DirectX und das weiß Microsoft nur zu gut. ( Warum gibt es wohl die neuesten DirectX Versionen nur für die neuesten Betriebssysteme... )
Warum wird wohl versucht bei Projekten wie Wine diese Schnittstelle nachzubauen? Unterstützung dabei kannst du von Microsoft natürlich vergessen, warum sollten sie freiwillig ihren größten Trumpf aufgeben.
Punkt 1) Quake III lief unter Linux besser als unter Windows. Die Windows Spieler haben sich damals zu Recht beschwert.
Punkt 2) Windows lässt seit längerer Zeit keinen nativen Zugriff mehr über OpenGL auf die Hardware zu, sondern OpenGL Anweisungen werden über DirectX umgewandelt und dann ausgeführt. Dies führt zu Performanceverlusten, am Anfang gab es da wohl gravierende Verluste. ( Ähnliche Probleme hatte Creativ auch mit EAX, deren Soundtreiber waren deshalb längere Zeit unbrauchbar. )
Punkt 3) Die Weiterentwicklung geschieht bei der Khronos Gruppe. Diese Gruppe kannst du dir wie die EU vorstellen. Einige Mitglieder blockieren die Weiterentwicklung und im Endergebnis bringt es nichts wenn einzelne Mitglieder dann mit einzelnen Befehlserweiterungen ankommen, die dann aber nicht in die endgültige Spezifikation übernommen werden.
Was bedeutet dies nun?
Umsetzungen von Spielen von Windows auf Linux bedürfen immer umfangreicher Anpassungen. Kleinere Spiele, die nicht auf die bestmögliche Performance angewiesen und primär 2D oder leichte 3D Geschichten sind, werden in letzter Zeit auch häufig für Linux umgesetzt. ( Siehe Steam Linux Supportliste und welche Spiele dort primär laufen )
Wenn DirectSound oder DirectInput so ein großes Problem wären, dann würde es diese massenhaften Umsetzungen nicht geben. Nein das Hauptproblem liegt bei Direct3D welches nun durch Mantel ersetzt werden kann wie du bereits richtig gesagt hast.
Und ein komplettes Umschreiben von Direct3D auf OpenGL ist sehr aufwendig, es sei denn es wird eine Engine genutzt die diese Umsetzung selbst erledigen kann. Mit Microsoft entwickelt auch nur ein Unternehmen diese Schnittstelle weiter und bringt die Spezifikationen heraus, dort kann sich also auch kein anderer auf die Bremse stellen. Dies ist jetzt bei AMD ebenfalls der Fall, sie alleine bringen die Spezifikationen ihrer Mantleschnittstelle heraus. Gleichzeitig sind sie auch diejenigen, die die dazugehörige Hardware entwickeln.
Was hat Microsoft bisher gemacht? Sie haben DirectX zum Standard erhoben und nutzen diese Führungsrolle nun um ihre Betriebssysteme zu verkaufen. Bisher ist es softwareabhängig ob man die Fähigkeiten der Hardware voll nutzen kann. Stellt euch mal eine DirectX 11 Grafikkarte unter Windows XP mit ihrem DirectX 9 Support vor. Die Fähigkeiten der Grafikkarte lag dort zwangsweise brach. In Zukunft ist es möglich, dass diese künstliche Softwarelimitierung wegfällt und ein BF 4 unter Linux genauso schnell rennt wie unter Windows. Das ist das Potenzial was ich hinter Mantle sehe.
Ob wir je ein BF 4 auf Linux sehen werden ist natürlich eine andere Frage, nur reduzieren sich damit der Aufwand einer Portierung erheblich. Ebenfalls wurde hier geschrieben, dass Mantle für Konsolen nichts bringen würde da die Mantlefunktionen wohl schon weitestgehend in den Konsolen integriert wären. Tja wenn das der Fall ist, dann müssten PC Portierungen damit ein Kinderspiel werden.
Ein klarer Vorteil oder?