Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Rollora

Kokü-Junkie (m/w)
Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

opengl_logo.png
Einleitung:

Nach Jahren tut sich endlich mal wieder was bei den APIs. Dank AMDs Mantle bewegt sich was, neue Features werden diskutiert, Flaschenhälse wollen entfernt werden.
Doch es gäbe doch schon längst eine API die all das kann was Mantle und Direct X 12 uns versprechen: OpenGL. Noch dazu wo Mantle und DirectX proprietär sind und OpenGL offen ist.
Aber hier haben wir auch gleich ein Problem: Viele Köche verderben den Brei und OpenGL ist voll von Funktionen und Bibliotheken die "Sonderwünsche" beinhalten. Während Mantle eine kompakte API darstellt, und symbolisch wie das Projektil eines Scharfschützengewehrs einschlägt, ist OpenGL ein die Schrotladung einer Pumpgun: Mantle/DirectX trifft auf den Punkt, die Pumpgun verstreut ordentlich, ist auf große Distanz aber wenig wirkungsvoll. Wie gesagt symbolisch.

OpenGL ist älter, wird seit vielen Jahren von vielen Entwicklern (Köchen) weiterentwickelt. Ich habe vor Jahren aufgehört der Entwicklung zu folgen, und doch ist es interessant. Vorallem weil jetzt einer der größeren Entwickler die mit OpenGL arbeiten, sich zu Wort meldet: Valves grafikprogrammierer Rich Geldreich.

Kurzfassung:
Rich bricht es auf ein großes Problem runter. Die 3 Großen Grafikchipentwickler/Hersteller: Nvidia, AMD und Intel. Er nennt sie nur Vendor A, B und C, aber es ist klar wer gemeint ist:

Vendor A :

-hat die besten Ressourcen für OpenGL. Das beste Entwicklerteam, die sauberste Implementierung, die besten Tools. Es macht Spaß damit zu arbeiten und sie pushen OpenGL am ehesten weiter nach vor und als Alternative zu Mantle.
-Doch auf der Con-Seite hat Vendor A ein eher schwaches toolset, welches außerdem nur mit den eigenen Treibern funktioniert. Es gibt immer noch große Low-Level bugs.
-Außerdem ist dieser Vendor A spezielle Treiberfeatures für große Entwickler - nicht aber für kleine, und außerdem sind die Errungenschaften die bei Vendor A im Zusammenhang mit OpenGL gemacht werden, bei Vendor B oder C nicht einsetzbar:

Historically, this vendor will do things like internally replace entire shaders for key titles to make them perform better (sometimes much better). Most drivers probably do stuff like this occasionally, but this vendor will stop at nothing for performance. What does this mean to the PC game industry or graphics devs? It means you, as “Joe Graphics Developer”, have little chance of achieving the same technical feats in your title (even if you use the exact same algorithms!) because you don’t have an embedded vendor driver engineer working specifically on your title making sure the driver does exactly the right thing (using low-level optimized shaders) when your specific game or engine is running.
Vendor B:
-versucht möglichst sauber OpenGL zu implementieren, aber über Vendor B ist allgemein bekannt, dass er
“a complete hodgepodge, inconsistent performance, very buggy, inconsistent regression testing [and] dysfunctional driver threading… The driver devs remaining at this vendor pine to work at Vendor A.”
ist, also kurzum: schlampig und inkompetent ist, was Treiberarbeit betrifft. Interessant ist das, von Entwicklerseite mal zu hören. Außerdem:
- Vendor B meint es gut, hat aber (im Vergleich zu Vendor A) sehr limitierte Ressourcen und nur ein kleines Team. Auch interessant zu hören, die einen hätten unlimitierte Ressourcen, die anderen sparen.
- Der Treiber-Stack ist voll von Müll und keiner versteht ihn zu benutzen

Vendor C:

Vendor C hat gleich 2 große Entwicklerteams, aber keines davon interessiert sich für Grafik[3] und ist in dem Punkt viele Jahre hinter Vendor A und Vendor B, wenn es darum geht, die einfachsten OpenGL Features zu implementieren.
Vendor C führt zwar den Weg bei Open Source Treibern und geht am öffentlichsten mit Hardware-Specs um, aber was hilft das?
Ein Treiber ist Jahre hinter der Konkurrenz, der andere ist einfach unbenutzbar schlecht. Viele Codepfade funktionieren einfach nicht.
Vendor C hat außerdem keine debugging tools:
“no GL tools at all for either platform. Sorry — want to debug that graphics problem you’re having? Welcome to 1999.”
Fazit:
hier gibt es keinen "Gewinner" bei Vergleich zwischen Vendor A, B und C. Nur einen Verlierer: der Markt bzw der Kunde.
Wer sich weiter in die Materie einlesen möchte, dem sei Geldreich's Blog [4] generell empfohlen, er führt hier mindestens 30 weitere Gründe für und gegen OpenGL an.

DANKE auch an M4xw0lf, der meine News mit seinem Kommentar [5] (ganz unten auf Seite 1) ergänzt und einen noch tieferen Einblick gewährt.

Quellenverzeichnis
[1]: Why we can’t have nice things: Valve programmer discusses wretched state of OpenGL | ExtremeTech
[2]: Rich Geldreich's Blog: The Truth on OpenGL Driver Quality
[3]: Intel unveils Haswell’s graphics: Iris branding and improved performance per watt | ExtremeTech
[4]: Rich Geldreich's Blog
[5]: Ergänzender Kommentar von M4xw0lf
[6]: About The Khronos Group - für Interessierte: die Gruppe hinter den APIs OpenGL, OpenCL, WebCL, OpenMAX, OpenGL ES usw usf
 
Zuletzt bearbeitet:
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Schliese mich deinem Fazit an.

@T
wurde bei AMD eigentlich der freie Treiber berücksichtig immerhin soll der ja angeblich besser sein als der proprietäre ?
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Schliese mich deinem Fazit an.

@T
wurde bei AMD eigentlich der freie Treiber berücksichtig immerhin soll der ja angeblich besser sein als der proprietäre ?
Ich denke es geht hier um die direkte Spiele und GPU Entwickler Zusammenarbeit. Die ist ja schon kompliziert genug. Wenn pro GPU Entwickler jetzt noch ein zusätzlicher OpenSource Treiber hinzukommt wird es bald extrem unübersichtlich und immer schwieriger zu testen. Auch ein weiteres Problem von OpenGL, es gibt nicht EINEN Strang an den man zieht, sondern einfach zu viele.
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

@T
wurde bei AMD eigentlich der freie Treiber berücksichtig immerhin soll der ja angeblich besser sein als der proprietäre ?
Ja, wurde er. Besser ist der aber sicherlich nicht, die Performance ist besonders bei neuer Hardware so la-la. Das Problem ist, dass im geschlossenen Treiber diverse lizenzierte Techniken verwendet werden (können), die nicht in einen freien Treiber fließen könnn (Patente etc.). Außerdem gibt der Treiber Einblicke in die Hardware, was so mancher Hersteller auch nicht gerne sieht.
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Wenn pro GPU Entwickler jetzt noch ein zusätzlicher OpenSource Treiber hinzukommt wird es bald extrem unübersichtlich und immer schwieriger zu testen.
Was haben die Treiber mit den API Spezifikationen zu tun? Die Treiber müssen die API Unterstützen, nicht die API die Treiber.
Auch ein weiteres Problem von OpenGL, es gibt nicht EINEN Strang an den man zieht, sondern einfach zu viele.
Ich interpretiere eher daraus das die Treiberprogrammierer der drei Hersteller zwar OpenGL Unterstützung in die Treiber reinprogrammieren, diese aber fehlerhaft und nicht richtig implementieren/umsetzen bzw. die Entwicklung der Treiber eher schleifen lassen.
OpenGL wird von der Khronos Group verwaltet und die legen die API Spezifikationen fest.

Er beschwert sich ganz klar über die mangelhafte Treiberqualität der Grafikkarten Hersteller und nicht über OpenGL, wie du es auch in der Überschrift und dem News-Text auch richtig geschrieben hast.
 
Zuletzt bearbeitet:
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Was haben die Treiber mit den API Spezifikationen zu tun? Die Treiber müssen die API Unterstützen, nicht die API die Treiber.Ich interpretiere eher daraus das die Treiberprogrammierer der drei Hersteller zwar OpenGL Unterstützung in die Treiber reinprogrammieren, diese aber fehlerhaft und nicht richtig implementieren bzw. die Entwicklung der Treiber eher schleifen lassen.
ohne stabile Treiber ist es halt auch schwer zu testen. Ohne eine gute Implementierung in stabile Treiber auch.
Und wenn eine API sich mit jedem Treiber etwas anders verhält... ist das auch... Gacki
OpenGL wird von der Khronos Group verwaltet und die legen die API Spezifikationen fest.
jo mei, und die Khronos Group, wer arbeitet da alles mit und versucht sein Ding durchzudrücken: Intel, AMD, Nvidia, Apple... sogar John Carmack bzw Id Software haben lange an OpenGL mitgebastelt
http://www.khronos.org/about/ einfach mal die Symbolchen anschauen.
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

ohne stabile Treiber ist es halt auch schwer zu testen. Ohne eine gute Implementierung in stabile Treiber auch.
Klar müssen die getestet werden, aber was richtig umgesetzt wird in der Treiberprogrammierung kommt viel schneller zu einem guten Ergebnis, als etwas halbherzig irgendwie zu implementieren, was eben vom Valve Mitarbeiter auch kritisiert wird. Am Ende müssen nämlich die Engineentwickler den "Müll" ausbaden, den die Treiberhersteller verbocken.
Und wenn eine API sich mit jedem Treiber etwas anders verhält... ist das auch... Gacki
Dann stimmt etwas mit dem Treiber nicht, wenn das Ergebnis genormt ist, aber der Treiber ein anderes Ergebnis bringt. Wenn du in einen Taschenrechner 2+2 eingibst und er zeigt als Ergebnis 5 an, dann liegt das auch nicht an dem festgelegten Ergebnis (4) sondern am falsch konfigurierten/programmierten Taschenrechner.
jo mei, und die Khronos Group, wer arbeitet da alles mit und versucht sein Ding durchzudrücken: Intel, AMD, Nvidia, Apple... sogar John Carmack bzw Id Software haben lange an OpenGL mitgebastelt
About The Khronos Group einfach mal die Symbolchen anschauen.
Genau deswegen gibt es auch die Khronos Group. Die Sammeln die Ideen der Hersteller/Entwickler, fassen diese zusammen und stimmen ab was wie umgesetzt wird. Am Ende gibt es eine genormte Spezifikation. Was ist daran so schwer?

Glaubst du PhysX, Mantle, G-Sync, TruForm (damals von ATI), Havok, EAX, 3D Vision, oder das rauswerfen von Hardwaresound in DirectX 9 (?) und spätere erneute Implementierung (DX 11) und wie die ganzen propritären Erweiterungen heißen wären da besser?
 
Zuletzt bearbeitet:
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Du hast noch ein paar witzige Stellen weggelassen. ;)
Zu NV:
This vendor [Nvidia] is extremely savvy and strategic about embedding its devs directly into key game teams to make things happen. This is a double edged sword, because these devs will refuse to debug issues on other vendor's drivers, and they view GL only through the lens of how it's implemented by their driver. These embedded devs will purposely do things that they know are performant on their driver, with no idea how these things impact other drivers.
Vendor A is also jokingly known as the "Graphics Mafia". Be very careful if a dev from Vendor A gets embedded into your team. These guys are serious business.

Zu AMD:
Unfortunately this vendor's GPU is pretty much standard and is quite capable hardware wise, so you can't ignore these guys even though as an organization they are idiots with software. Basic stuff like glTexStorage() crashes (on a shipped title) for months on end with this driver. B's driver devs try to follow the spec more closely than Vendor A, but in the end this tends to do them no good because most devs just use Vendor A's driver for development and when things don't work on Vendor B they blame the vendor, not the state of GL itself.
Interestingly, Vendor B has a tiny tools team that actually makes some pretty useful debugging tools that actually work much of the time - as long as you are using vendor B's GPU. Without Vendor B's tools togl and Source1 Linux would have taken much longer to ship.
On the bright side, and believe it or not, Vendor B knows the OpenGL spec inside and out - to the syllable. If you can get them to assist you, their advice is more or less reasonable about plain GL matters (not extensions).
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Ja danke! Wollte es nur Sinngemäß übersetzen und abschicken, schön leserlich halten und gestalten. Musste dann aber weg, irgendwann muss auch ich was arbeiten :D
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

:hail: ich hätte nicht gedacht, dass ich irgendwann Bestätigung für meine These erhalten würde. Ich habe mir das Spielchen mit Mantel angeschaut und war recht amüsiert darüber als dann der neue Nvidia Wundertreiber kam. Meiner Meinung nach bereitet AMD mit deren API den Weg um in der Zukunft richtig Kohle rein zu holen.
Ab jetzt sieht es doch so aus, dass ich als Spielehersteller ein Game fertig mache und dieses dann auf Xbox One, PS4 und dem PC zum laufen bekomme mit nur geringem Aufwand.
Wieso sollte sich irgendein Studio die Mühe machen und ein Spiel auf OpenGl Basis releasen?

Ich denke, dass wir von OpenGl in den nächsten 6 bis 7 Jahren wenig bis garnichts mehr hören obwohl diese API die effizienteste sein könnte. Sie Umfasst den direktesten Zugriff aller APIs und wenn, wie schon berichtet wurde, alle an einem Strang ziehen würden... wäre sie auch die beste. :wow:
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Dank AMDs Mandle bewegt sich was, []

Doch es gäbe doch schon längst eine API die all das kann was Mantle und Direct X 12 uns versprechen: OpenGL.
1. Typo, Mantle
2. OGL kann nicht alles was Mantle und DX12 versprechen und vor allem nicht längst.

Er beschwert sich ganz klar über die mangelhafte Treiberqualität der Grafikkarten Hersteller und nicht über OpenGL, wie du es auch in der Überschrift und dem News-Text auch richtig geschrieben hast.
In einem Blogeintrag davor beschwert er sich über 20 Dinge die ihn bei OGL wahnsinnig machen.

Ich denke, dass wir von OpenGl in den nächsten 6 bis 7 Jahren wenig bis garnichts mehr hören obwohl diese API die effizienteste sein könnte. Sie Umfasst den direktesten Zugriff aller APIs und wenn, wie schon berichtet wurde, alle an einem Strang ziehen würden... wäre sie auch die beste. :wow:
DX ist Windows exklusiv, Mantle bisher auch.
Wie soll OGL verschwinden? Mit was wird bei Linux-Systemen programmiert oder die Abwandlung OGL ES für den mobile space?
Mantle wird schnell von der Bildfläche verschwinden, wenn es nicht weitere Plattformen unterstützen sollte und offen gelegt wird.
 
Ich denke, dass wir von OpenGl in den nächsten 6 bis 7 Jahren wenig bis garnichts mehr hören

Das glaubst du doch selbst nicht. Schau dir mal die Steamliste an mit den Spielen die die letzten Monate erschienen sind und auch unter Linux und/oder Mac OS laufen. Die Engines verwenden alle hierfür OpenGL. Spiele für Smartphones nutzen OpenGL oder OpenCL.

Was glaubst du was Epic gemacht hat das die aktuelle Unreal Engine 4.1 unter Linux und Mac läuft? Was macht das Cytec Team (Engineport auf Linux).
 
Zuletzt bearbeitet:
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Zumal DX12 mit Garantie nur auf Windows9 kommen wird.
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

ausgerechnet mir als Rechtschreibnazi passiert sowas.
Ich hatte grad vorher nen Rezept über Marzipan rausgesucht, da kam wohl der gute alte Freud' und meinte wohl ich muss jetzt Mandel schreiben bzw Mandle. Danke!
ich hätte nicht gedacht, dass ich irgendwann Bestätigung für meine These erhalten würde. Ich habe mir das Spielchen mit Mantel angeschaut und war recht amüsiert darüber als dann der neue Nvidia Wundertreiber kam. Meiner Meinung nach bereitet AMD mit deren API den Weg um in der Zukunft richtig Kohle rein zu holen.
Der Mantel ;) passiert wohl nicht nur mir :)

Ne, Geld schäffeln werden sie mit ner eigenen API nicht lange. Mantle wird durch DX12 verdrängt werden, Microsoft hat einfach viel mehr Marktmacht um das ganze zu entwickeln. Zumal Mantle NUR für Spiele da ist und Direct X/ Open GL mehr kann. Eine API eigens weiterentwickeln, noch dazu im Wettrennen mit Microsoft, kann nie AMDs Ziel sein. Mantle wird verschwinden, wie es dazumals Glide getan hat - egal wie gut es ist.
Nicht nur, dass es enorm Geld (und Menschliche Ressourcen (die AMD nicht mehr hat)) kostet, eine eigene API zu entwickeln und weiterzuentwickeln, es geht ja dann auch um den sauteuren Support bzw die Zusammenarbeit/Implementierung durch die Hersteller (die AMD quasi bezahlen muss), sowie eine weitere API die mit Treibern versorgt werden muss.
Ich denke, dass wir von OpenGl in den nächsten 6 bis 7 Jahren wenig bis garnichts mehr hören obwohl diese API die effizienteste sein könnte. Sie Umfasst den direktesten Zugriff aller APIs und wenn, wie schon berichtet wurde, alle an einem Strang ziehen würden... wäre sie auch die beste. :wow:
das ist unrealistisch:
Alle Android Mobiltelefone sowie Apple Mobiltelefone nutzen Open GL in einer Variante.
Linux nutzt es als Grafik API
Ebenso Mac OS.
Auch die PS4 basiert auf OGL
PROFIsysteme? Milliardengeschäfte in CGI, Militärsimulationen, CAD usw usf...

Das ist ja das Problem von Open GL: auch wenns viele Varianten davon gibt: es ist zu breit gefächert. Es hat eine zu große Nutzerbasis, muss zu viel gleichzeitig können.
Wieso sollte sich irgendein Studio die Mühe machen und ein Spiel auf OpenGl Basis releasen?
Klick mal bei STEAM auf "Linux-Spiele" oder "MacOS Spiele" dann wirst du merken es gibt hunderte OpenGL Spiele. Auch große Spiele wie damals Quake, Doom 3 und Rage sind OpenGL. Fast sämtliche Valve Spiele gibts inzwischen in OpenGL. Ein Open GL Spiel hat also den Vorteil, dass es theoretisch überall läuft, ein Direct X/Mantle Spiel läuft nur unter Windows, ein Mantle Spiel sogar nur auf 10-20% der Windows-Spielerechner, da nur in jenen GCN AMD Karten sind.

Die Gefahr bei Direct X Spielen: Unterstützt Windows das Spiel oder Direct X nicht mehr, kann es theoretisch sein, dass man das Spiel nie wieder zum laufen kriegt.
Bei Open GL und einer Systemunabhängigen Programmierung kann es immer Portierungen geben oder Emulatoren.

Edit: Hab' jetzt M4xw0lfs Kommentar in der News verlinkt. Wollte es ursprünglich in die News integrieren aber hab' dann 1. gesehen, sie wird dann zu groß und unübersichtlich und 2. würde ich dann die Lorbeeren eines anderen Users kassieren.
 
Zuletzt bearbeitet:
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Edit: Hab' jetzt M4xw0lfs Kommentar in der News verlinkt. Wollte es ursprünglich in die News integrieren aber hab' dann 1. gesehen, sie wird dann zu groß und unübersichtlich und 2. würde ich dann die Lorbeeren eines anderen Users kassieren.

Ach, darauf müsstest du jetzt keine Rücksicht nehmen, ich hab mich ja auch keiner anderen Quelle bedient als du :)
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Ach, darauf müsstest du jetzt keine Rücksicht nehmen, ich hab mich ja auch keiner anderen Quelle bedient als du :)
aber wenigstens nachgelesen und nicht blind meiner News vertraut bzw diese sinnvoll ergänzt ;)
 
AW: Valve Mitarbeiter erklärt warum dank Nvidia, AMD und Intel OpenGL keine Chance hat

Passend zum Thema: Hat eigentlich mal jemand Wolfenstein TNO (oder Rage) auf einer Intel-GPU ausprobiert? :devil:

MfG,
Raff
 
Zurück