Valve: Left 4 Dead unter Linux schneller als auf Windows - dank OpenGL

Rollora

Kokü-Junkie (m/w)
Steam-Linux.jpeg
Vorweg: Kurz vor dem Windows 8 Release, dem Valve ja nicht nur positiv gegenübersteht, einmal ein Newsupdate zur Linuxversion:

Valve hat 10 Jahre lang die Source Engine für Windows Entwickelt, weiterentwickelt und optimiert. Immer wieder gibts und gabs Engine Updates.
Aber was das OpenGL/Linux Team von Valve geschafft hat ist nochmal unglaublicher. Innerhalb weniger Monate hat man die OpenGL Version auf die Beine gestellt - der Erfolg ist auch in Zahlen messbar: mit derselben Hardware läuft Left 4 Dead 2 auf Linux (Ubuntu 12.04) 20% schneller:
The Valve Linux Team breaks it down on their shiny new blog: With an Nvidia GTX 680, Intel i7-3930k, and 32GB of RAM, Windows 7 and DirectX, Left 4 Dead 2 maxes out at 270.6 fps. With the same hardware, but different software — Ubuntu 12.04 and OpenGL — L4D2 scores 315 fps, almost 20% faster than Windows.
Man beschreibt auch wie Hart die Arbeit dorthin war. Auch wenn es im Vergleich zu den 10 Jahren nur einige Monate gedauert hat, so ist die Linuxversion auch einmal mit 6 FPS gestartet. Man hat aber L4D2 dann noch ganz Speziell an den Kernel angepasst, mit den Grafikkartenherstellern eng zusammengearbeitet, damit die Treiber optimiert werden und Bugs entfernt werden:
The Linux port of L4D2 didn’t start off at 315 fps, of course — the initial version actually maxed out at just 6 fps. To realize such a huge performance gain, a three-pronged approach is taken: The game is tweaked to play nicely with the Linux kernel, the game is optimized to work with OpenGL (rather than DirectX), and bugs in the Linux graphics drivers are addressed.
Warum der Vorsprung der OpenGL Version so groß ist, liegt scheinbar an der API selbst, die schnellere "reibungslosere" Berechnungen beim "Zeichnen" der Grafik zulässt:

As for why OpenGL is faster than DirectX/Direct3D, the simple answer is that OpenGL seems to have a smoother, more efficient pipeline. At 303.4 fps, OpenGL is rendering a frame every 3.29 milliseconds; at 270.6 fps, DirectX is rendering a frame in 3.69 milliseconds. That 0.4 millisecond difference is down to how fast the DirectX pipeline can process and draw 3D data.
"Lustig" ist auch, dass dieser Effekt nicht nur unter Linux vorherrscht. Jetzt ist auch unter Windows die Left 4 Dead 2 Version für Linux, also die OpenGL Version schneller als die Direct X Version - weil OpenGL eben schneller ist.

Im Weiteren spekuliert der Artikel dann noch, warum überhaupt auf DX setzen, wenn OpenGL schneller ist und auch auf Mac, Konsolen und Handies/Tablets läuft (DirectX nur auf Windows, Xbox, Windows Phones).

Valve wird sich zur OpenGL/Linux Version von L4D2 auf der SIGGRAPH nächste Woche weiter äußern.

Noch was eigenes: Die Verwendete Hardware ist eine auf Nvidia basierende - die in den Vergangenen Jahren immer die bessern Linux/OpenGL Treiber hatten. Es wäre Interessant wie der Vergleich heute ist.

Da eine Diskussion aufgetaucht ist, welche da sagte der Vergleich sei Unfair weil Direct X 9 uralt sei und man dürfe es nicht mit dem aktuellsten OpenGL vergleichen, hier nunmal ein Update dazu, denn wie schon vermutet wurde eben NICHT die aktuellste OpenGL Version verwendet, sondern eine DX9 äquivalente
Die Tests wurden übrigens von Valve mit OpenGL 3.x durch geführt was etwa DX9-10 entspricht. Also nicht das neuste OpenGL gegen das alte DX9c.

Quelle:
Valve: OpenGL is faster than DirectX — even on Windows | ExtremeTech
Faster Zombies! | Valve
Could this be the year of the Linux desktop? | ExtremeTech

Und hier noch eine deutschsprachige Quelle die ich auch noch gefunden habe, aber im Artikel nicht eingebaut ist, weil ich sie erst nachher gefunden hab:
Left 4 Dead 2 luft besser unter Linux als unter Windows - Nachrichten bei HT4U.net
 
Zuletzt bearbeitet:
Hoffentlich hat da kein Linuxer vergessen, das Engine-Limit unter Windows/DX abzuschalten, was ab Werk bei 300 Fps liegt. ;)

Ah, offenbar nicht:
„Interestingly, in the process of working with hardware vendors we also sped up the OpenGL implementation on Windows. Left 4 Dead 2 is now running at 303.4 FPS with that configuration.“

Tja, dann könnte ich mir noch was anderes Vorstellen: Windows Vista und 7 lassen DX9 und älter ja über einen Wrapper laufen, sofern nicht die DX11-API mit Downlevel-Funktionen genutzt wird. Bei diesem Wrapper ist mir schon öfter aufgefallen, dass er im High-Fps-Bereich deutlich weniger Performance bringt als dieselbe Demo/Benchmark mit derselben Hardware und derselben Treiberversion (nach Nummer) unter Windows XP.
 
Zuletzt bearbeitet:
Aber es macht doch gar keinen Sinn OpenGL mit einer neuen Version gegen DX9 zu vergleichen? DX9 ist einfach veraltet und wird nicht mehr weiterentwickelt. Ich frage mich ob DX11 oder OpenGL schneller ist.
Das alles kommt mir nur wie Werbung für Valve vor...:schief:
 
ich find gut das nicht mehr alles nur für windows gemacht wird sondern auch für linux....
jetzt nur noch battlefield und ich steig auf linux um....:D
 
Wenn ich mir Windows 8 so ansehe würde ich es begrüßen wenn mehr Entwickler auf OpenGL setzen würden. Momentan kommt mann als Spieler einfach nicht an Windows vorbei.
 
Wenn ich mir Windows 8 so ansehe würde ich es begrüßen wenn mehr Entwickler auf OpenGL setzen würden. Momentan kommt mann als Spieler einfach nicht an Windows vorbei.
Du kommst aber vorderhand an Windows 8 vorbei ;)

Grundsätzlich interessant, aber wirklich überzeugend wäre die Sache nur, wenn eine native DX11-Engine portiert worden wäre.
Nach der alten Source-Engine kräht doch kein Hahn mehr, resp. es ist egal, ob die jetzt mit 280 oder 310 FPS läuft.

Um wirklich Schlüsse daraus für zukünftige Entwicklungen zu ziehen, hätte man in beiden Fällen die aktuelle API verwenden sollen.

EDIT: tolle News aber und gut geschrieben! Wäre schön, wenn öfters die originalen Textpassagen in Englisch drin wären - leider habens nicht alle so mit übersetzen. Ein "Gefällt mir" für den TE! ;)
 
Hoffentlich hat da kein Linuxer vergessen, das Engine-Limit unter Windows/DX abzuschalten, was ab Werk bei 300 Fps liegt. ;)

Ah, offenbar nicht:
„Interestingly, in the process of working with hardware vendors we also sped up the OpenGL implementation on Windows. Left 4 Dead 2 is now running at 303.4 FPS with that configuration.“

Tja, dann könnte ich mir noch was anderes Vorstellen: Windows Vista und 7 lassen DX9 und älter ja über einen Wrapper laufen, sofern nicht die DX11-API mit Downlevel-Funktionen genutzt wird. Bei diesem Wrapper ist mir schon öfter aufgefallen, dass er im High-Fps-Bereich deutlich weniger Performance bringt als dieselbe Demo/Benchmark mit derselben Hardware und derselben Treiberversion (nach Nummer) unter Windows XP.
Ja stimmt natürlich, habe ich vergessen, wird wohl DX9 benutzen- wobei es könnte schon der DX11 Pfad sein, hat L4D2 nicht einen?

Edit: nein, das hatte ich falsch in Erinnerung, ist wohl doch DX9c
https://developer.valvesoftware.com/wiki/Source_Engine_Features

Mich würd auch, rein interessehalber CPU Last auf beiden Systemen interessieren, aber auch min FPS Vergleiche.

Natürlich ist so der Vergleich DX9 vs OGL4 nicht "ganz" fair - aber es steht nirgends, dass sie OpenGL 4 benutzt haben. Eher fraglich, denn dann würds wohl weder auf Konsolen, noch auf älteren Grafikkarten laufen. Also ist der Vergleich vielleicht doch wieder fair, weil eine ältere OGL Version gegen eine ältere DX Version antritt?
Muss ich nochmal nachlesen.
Edit 2: steht nichts, aber es ist ja auch fraglich wie "fair" ein Vergleich ist, selbst wenn die neue Version von Open GL genutzt wird (eher nicht ausschließlich), dann hat man immer noch die "Unfairness", dass die Source Engine von Haus aus für DX7/8/9 entwickelt wurde und man sie 10 Jahre lang dafür optimierte, für OpenGL wohl nicht so lange
 
Zuletzt bearbeitet:
Mich würde die Leistung bei Verwendung der Open-Source Treiber auch mal interessieren. Weil anscheinend wurden ja die proprietären Treiber für nVidea verwendet.
 
EDIT: tolle News aber und gut geschrieben! Wäre schön, wenn öfters die originalen Textpassagen in Englisch drin wären - leider habens nicht alle so mit übersetzen. Ein "Gefällt mir" für den TE! ;)
Danke :)
Mich würde die Leistung bei Verwendung der Open-Source Treiber auch mal interessieren. Weil anscheinend wurden ja die proprietären Treiber für nVidea verwendet.
Erstmal genau lernen, wie der Hersteller wirklich heißt ;)
Und in einer der Quellen wird dir beantwortet warum die proprietären Treiber von Nivea ;) verwendet werden, nicht die fürs Gaming ungeeigneten Open Source Treiber

Aber es macht doch gar keinen Sinn OpenGL mit einer neuen Version gegen DX9 zu vergleichen? DX9 ist einfach veraltet und wird nicht mehr weiterentwickelt. Ich frage mich ob DX11 oder OpenGL schneller ist.
Das alles kommt mir nur wie Werbung für Valve vor...:schief:
Ja ich mach hier Werbung für Valve ich steh auf deren Gehaltsliste... omg ???
Wenn dir nicht klar ist, welche Auswirkungen eine OpenGL Portierung hat, dann bitte nichts dazu schreiben und die Diskussion lesend verfolgen, oder danach fragen.
 
Das Windows inhärent bei Spielen einfach schneller ist und man da garnicht dran kommen kann, hat glaube ich auch kaum jemand gedacht. Passt man OpenGL, die Engine und die Treiber auf Linux ab gibt es eigentlich kein Grund, warum die Spiele nicht mindestens genauso gut laufen.

Interessant finde ich die Aussage "We are using a 32-bit version of Linux temporarily and will run on 64-bit Linux later."
Ob das heißt, dass der Steam Client und die Source Engine direkt auf 64 Bit optimiert werden? Möchte es hoffen. Mal schauen wie das die Grafikleistung am Ende überhaupt betrifft.
 
Danke :)
Ja ich mach hier Werbung für Valve ich steh auf deren Gehaltsliste... omg ???
Wenn dir nicht klar ist, welche Auswirkungen eine OpenGL Portierung hat, dann bitte nichts dazu schreiben und die Diskussion lesend verfolgen, oder danach fragen.

? Meinen Beitrag nicht verstanden?
Du hast die News von irgendwo aufgegriffen, was Valve sagt ist alles nur PR für ihr eigenes Produkt. Woher schließt du den bitte, das ich mir nicht im klaren bin, was eine OpenGL Portierung bedeutet? Ich habe nur in Frage gestellt das der Vergleich nicht Fair ist und wahrscheinlich Humbug ist. Also nicht gleich anflamen...
Ich bin natürlich dafür das man mehr Auswahl hat, auf welchem BS man seine Spiele spielt.
 
Auch sehr interssant aus den Kommentaren:

Valve Linux team says:
August 2, 2012 at 3:10 pm
We are already in contact with other game developers and building a list of those with interest in porting existing games in their current catalog to Linux. Some of these companies already have Linux versions available.
 
Ich freu mich schon allein, dass Steam für Linux kommt und wenn dann noch Games schneller laufen :daumen:
 
Schon komisch. Jahrelang lag Linux als Spieleplattform quasi brach, bis auf ein paar Eigenkreationen usw. und jetzt nimmt sich Valve dessen an und plötzlich scheint es in großen Schritten voran zu gehn. Hoffentlich klemmen sich jetzt noch weitere Publisher und Entwickler dahinter, so dass das Angebot weiter wächst.
 
die "Performance-Steigerung" hält sich doch aber stark in Grenzen, vor allem bei über 300 Fps. Trotzdem interessant, das Linux effizienter mit Ressourcen umgehen kann
 
Wenn ich mir Windows 8 so ansehe würde ich es begrüßen wenn mehr Entwickler auf OpenGL setzen würden. Momentan kommt mann als Spieler einfach nicht an Windows vorbei.

Das eine hat mit dem anderen nichts zu tun und Windows 7 reicht ja auch. Lies mal den Post von PCGH_Carsten unter dem Artikel auf Seite 1... ;)
 
Schon komisch. Jahrelang lag Linux als Spieleplattform quasi brach, bis auf ein paar Eigenkreationen usw. und jetzt nimmt sich Valve dessen an und plötzlich scheint es in großen Schritten voran zu gehn. Hoffentlich klemmen sich jetzt noch weitere Publisher und Entwickler dahinter, so dass das Angebot weiter wächst.
Naja stimmt schon aber ein paar wenige Entwickler gabs eigentlich immer die auch Linuxportierungen von Haus aus angeboten haben:
ID Software, Blizzard, Epic etc
die "Performance-Steigerung" hält sich doch aber stark in Grenzen, vor allem bei über 300 Fps. Trotzdem interessant, das Linux effizienter mit Ressourcen umgehen kann
Was hat das mit 300fps zu tun? Bzw über?
Die Leistung stieg DURCHSCHNITTLICH um 20%.
Wenn man das bei einer Grafikkarte will, zahlt man oft 100€ drauf.
Überleg mal eine Radeon 7850 zu 7950 oder Geforce 670 zu 680. Das sind knapp um 20% AFAIR und der Preisunterschied sind über 100€. Dabei ging das theoretisch auch mit mehr Optimieren der API, Treiber, OS und des Spiels.
Was sind 20%? Das ist natürlich so gesehen nicht viel. Eine geringfügig höhere Auflösung, mehr AF oder AA. Aber das wars dann auch, es lässt natürlich keine revolutionär neue Grafik zu. Aber das erstaunliche ist jetzt nicht, dass es bloß 20% mehr sind, man hat eher erwartet, dass man bei Linux WENIGER Fps hat als bei Windows
 
Zurück