Termy schrieb:
Also erstmal: für sehr viele Spiele brauchst du heute gar kein Wine mehr, in Steam z.b. sind inzwischen ca. 25-30% der Spiele auch für Linux verfügbar
Ansonsten hast du schon richtig geraten: das mappen von DX-Aufrufen auf OpenGL ist natürlich langsamer - da werden zwar auch gute Fortschritte gemacht, grade in Verbindung mit Gallium, aber es wird wohl immer langsamer bleiben.
Bei den nativen Ports gibt es solche und solche - manche laufen mit ähnlichen FPS wie unter Windows, andere ein bisschen langsamer, wieder andere sind eine Totalkatastrophe. Vulkan wird das ganze hoffe ich mehr geraderücken (und so wie es aussieht wohl teilweise dafür sorgen, dass die Spiele unter Linux sogar flotter laufen), aber natürlich nur für neue Spiele und nicht für Wine.
Momentan wirste aber damit rechnen müssen, im Schnitt so 10% weniger FPS zu haben (ganz grobe Schätzung meinerseits, ohne jetzt Belege zur Hand zu haben
)
Ja, aber diese 20% sind meist Indie-Spiele, die mich nicht reizen. Nichts für ungut, ist aber leider so
Bezüglich den 10% weniger: ich wünschte es wäre nur so wenig, aber bei den PenguinRecordings und auch anderen Seiten wurde gezeigt, dass man im Schnitt(!) mit so 35% Performanceverlust rechnen muss. Das ist schon sehr bitter, und macht ein Spiel meist unspielbar.
Hab dann ein bisschen gegoogelt warum das so ist... ist schon irgendwie witzig, man denkt dann auch irgendwie OpenGL muss ja Mist sein. Aber nach einiger Recherche hat sich herausgestellt, OpenGL ist quasi gleichauf wie Direct3D. Problem ist wirklich das ganze Übersetzen der DirectX Befehle auf Software von Linux. Aber wenn das Spiel von Grund auf in Linux und für OpenGL programmiert worden wäre, wäre die Performance quasi gleich. Spiele, die in Windows OpenGL unterstützen, würden unter Linux in Wine nur so 7% Performanceverlust haben, im Gegensatz zu reinen DirectX Spielen, wo alles gemappt werden muss und 35% Verlust in Wine ist. Also der große Verlust kommt wirklich durchs Konvertieren von DirectX.
Dann bin ich auf eine News gestoßen, die sagte Valve machte seine "ToGL" Implementierung (Direct3D Befehle zu OpenGL) OpenSource. Mit der würden ja Spiele teilweise schneller laufen als in Windows. Hab dann gedacht, toll, wenn WINE diese Implementierung übernimmt, dann kriegen wir echte Gaming-Performance auf Linux....
Aber was muss ich dann in diversen Forums lesen? Diese Implementierung wurde nie übernommen, weil sie angeblich unbrauchbar für Wine ist. Sie wäre ganz speziell nur auf die Source-Engine zugeschnitten und beinhaltete nur einen Bruchteil der notwendigen Implementierung um ganz DirectX9c umzusetzen. Das Verwenden dieser würde nicht 1 Zeile Code ersetzen im bisherigen Wine.
Ich verstehe es allerdings trotzdem nicht ganz, wie es dann bei Valve dieselbe Performance hatte wie in Windows... es ist doch hauptsächlich die Renderperformance, die schlapp macht in Wine, oder? Wenn also "ToGL" hauptsächlich für Direct3D zuständig war (also ebenfalls die grafische Darstellung), dann müsste doch der schwerste Brocken mit dieser Implementierung gelöst sein? Wieso wird das dann nicht verwendet? Irgendwo muss doch da eine dicke Bremse in Wine sein... (wie gesagt, im Schnitt über 30% Verlust). Oder OpenGL selbst hat wirklich haufenweise veralteten, nicht-optimierten Code drin...
Dann weiter gelesen über Vulkan: wird wahrscheinlich nicht OpenGL ersetzen, also kann man sich die Hoffnung wegstecken, dass es in WINE eine Anstrengung gibt DirectX9-11 in Vulkan Befehle umzusetzen. Laut einiger Meinungen würde es auch gar keine Beschleunigung alter Titel in WINE bringen, solange nicht explizite Low-Level Optimierungen für die Spiele implementiert werden. Ansonsten wäre die Performance gleich wie bei der DirectX->OpenGL.
Ganz verstehen tu ichs wieder nicht, denn wo ist der Vorteil von Vulkan gegenüber OpenGL, wenn es keine Performance-Verbesserung bringt? (abgesehen für künftige Spiele). Würde das nicht bedeuten, dass Direct3D doch wesentlich performanter ist als OpenGL oder Vulkan - zumindest für alle Spiele im Bereich DirectX9-11?
Wenn das so wäre, dann verstehe ich auch nicht ganz wie man bei Vulkan von einem DirectX-Killer sprechen kann... das gilt ja nur für alle neuen Spiele, aber alle älteren DirectX Titel haben nichts davon. D.h. wenn man ältere Spiele zocken will auf Linux, bleibt man auf der bisherigen WINE-Performance sitzen
freak01 schrieb:
Naja, mit Gallium Nine können DirectX 9 Titel massiv beschleunigt werden,
öfters sind die Spiele schneller als sogar unter Windows (sic!)
http://www.golem.de/news/gallium-ni...-bekommen-direct3d-9-in-mesa-1411-110653.html
hab jetzt auf die Schnelle dazu keine Benchmark-Ergebnisse gefunden, kann mich aber an einige Resultate im Phoronix.com Forum erinnern
Iapetos schrieb:
Um auch noch meinen Sempf dazuzugeben: Mit Gallium Nine habe ich sehr gute Erfahrungen gemacht (Skyrim, World of Tanks, Witcher 1). Allerdings wird es von keiner Distribution von Haus aus angeboten, sondern muss immer über ein externes Repo eingespielt bzw. selbst einkompiliert werden (wer sich das antun möchte). Außerdem läuft es zur Zeit nur mit Radeons unter dem Open-Source-Treiber.
Nun verstehe ich auch das mit bei Gallium... wenn da Direct3D drinnen ist, muss es ja viel schneller laufen. Allerdings stimme ich zu, dass das notwendige Einkompilieren und die Restriktion auf Radeon OpenSource Treiber das auch nicht gerade motivierend ist.