Windows vs Linux (Wine) Prestanda

Permalänk
Medlem

Windows vs Linux (Wine) Prestanda

Kanske skulle vara kul att kunna se vad folk får på olika hårdvara mellan Windows och Linux (Wine) och se vad för optimeringar folk använder.

Allt från kompilerings optimeringar till patchar som kan användas. Här nedan kommer exempelvis ett par test jag gjort med EVE mellan olika Wine versioner och Windows.

Grafer:

Dold text

Program:
Arch Linux
KDE 4.11.2
Linux-ck-piledriver 3.11.4
Wine-multimedia med patcher
Wine vanilla (Arch repo)
nVidia 331.13 (Linux)
nVidia 331.40 (Windows)

Wine configuration:

FLAGS -march=native -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
Wine-multimedia
Wine-ssl.patch
glBufferSubDataARB

Wine start utan optimering:
WINEDEBUG=-all wine explorer /desktop=EVE-Commander,0x0 /home/commander/.Games/eve/install/drive_c/Program Files/CCP/EVE/eve.exe &>> ~/EVE/Commander.log&

Wine start med optimering:
__GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine explorer /desktop=EVE-Commander,0x0 /home/commander/.Games/eve/install/drive_c/Program Files/CCP/EVE/eve.exe &>> ~/EVE/Commander.log&

Dold text

Var god att notera att det kommer bra mer prestanda att använda performance governator istället för ondemand. Jag håller själv på att försöka hitta någon sweetspot med just olika värden på ondemand men inte riktigt hittat där den skalar bra utan att förlora för mycket prestanda.

TLDR:
Threading patchen tillsammans med __GL_THREADED_OPTIMIZATIONS=1 kan ge fina prestanda vinster. Vissa spel jag tittat på kan ge upp mot 100% bättre prestanda. Samma med att ändra governator.

Just nu försöker jag att få Wine att kompilera med Link Time Optimization som kom med nya GCC. Detta har enligt vissa tester på mjukvara förbättrat prestanda upp mot 100%. Tyvärr lyckas jag inte kompilera med detta då antingen är någon bugg i Wine eller GCC uppstream.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Läste på Phoronix att Linuxkärnan 3.12 har förbättringar i ondemand schedulern vilket gav rejäl prestandaboost med AMD Redeon open source drivrutin (men inte med andra grafikdrivrutiner konstigt nog). Kan kanske vara intressant att jämföra?

Tyvärr har jag inte Windows på datorn och använder knappt Wine heller så jag kan inte bidra så mycket med prestandajämförelserna. Eller jo, jag har Windows och Arch Linux på bärbara datorn men den är ganska klen hårdvarumässigt (integrerad intel grafik typ 5 år gammal).

Permalänk
Inaktiv

Problemet är väl att avgöra om bildkvalitén är samma. Det är mycket som inte stödjs i wine, håller man ordning på det och gör en rättvis jämförelse så håller jag med om att det är intressant.

Permalänk
Medlem
Skrivet av ronnylov:

Läste på Phoronix att Linuxkärnan 3.12 har förbättringar i ondemand schedulern vilket gav rejäl prestandaboost med AMD Redeon open source drivrutin (men inte med andra grafikdrivrutiner konstigt nog). Kan kanske vara intressant att jämföra?

Tyvärr har jag inte Windows på datorn och använder knappt Wine heller så jag kan inte bidra så mycket med prestandajämförelserna. Eller jo, jag har Windows och Arch Linux på bärbara datorn men den är ganska klen hårdvarumässigt (integrerad intel grafik typ 5 år gammal).

3.12 Skall komma med förbättringar, har själv nu piledriver-ck kerneln 3.12 Skall kolla om det har blivit bättre eller inte.

Mer intressant är Stefan Dösingers 100+ patchar som ökar prestandan med ca 100% i CPU drivna spel. Hans patchar som fanns publika var till Wine 1.7.1 om jag minns korrekt. Sakta men säkert har nu Wine teamet försökt att implementera dessa men det tar tid och även nu 1.7.7 har man inte infört allt. Dock så har CrossOver versionen alla patchar redan så jag själv är intresserad av att bara köpa mig in där och se om just i detta "EVE - Online" ger en prestandaboost eller inte. (då det är det spel jag spelar).

Skrivet av anon18971:

Problemet är väl att avgöra om bildkvalitén är samma. Det är mycket som inte stödjs i wine, håller man ordning på det och gör en rättvis jämförelse så håller jag med om att det är intressant.

EVE Online klarar av att köra på samma kvalite. Tidigare versioner har haft problem med att explosioner inte renderades 100% korrekt (AMD). Men i vad jag testade EVE - Online så är kvaliten inställt på samma och jag personligen kunde inte se skillnad på Wine och Native, förutom prestandan då.

Oftast så är det AMD's drivrutiner som inte fungerar korrekt i Wine. Texturproblem och rendering eller crasher är vanligt.

Gjorde tidigare ett liknande test med AMD XFX 6970xxx där den fick ca halva av det nVidia kortet fick här på Linux i wine. Samt gav renderingsproblem när man inte hade AA igång.

För att understryka. EVE - Online är platinum stadiet när det kommer till spelet överlag. Enda anledningen jag och andra röstar ner spelet är att Captain's Quarters inte alls fungerar. Inget gamebreaking eller något viktigt ännu i spelet men fortfarande bra att upplysa om.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem
Skrivet av Commander:

Mer intressant är Stefan Dösingers 100+ patchar som ökar prestandan med ca 100% i CPU drivna spel. Hans patchar som fanns publika var till Wine 1.7.1 om jag minns korrekt. Sakta men säkert har nu Wine teamet försökt att implementera dessa men det tar tid och även nu 1.7.7 har man inte infört allt. Dock så har CrossOver versionen alla patchar redan så jag själv är intresserad av att bara köpa mig in där och se om just i detta "EVE - Online" ger en prestandaboost eller inte. (då det är det spel jag spelar).

Prestanda-boosten är nog inte 100%, iaf inte i Skyrim (~50%) eller GTA IV (~10%). Själv har jag ett speciellt kod-träd med 1.7.1 + cmst-patcharna + git cherry-pick fd65b0a1c3f5f981cc110ca9e6a0edb6323e1296 (fixen för Steams 3 Dec uppdatering). Kan verkligen rekommenderas om man klarar av att kompilera wine själv.

I Skyrim så lyfte prestandan från 25-35 fps till 40-55 fps vilket är drömlikt bra. Detta med triple-buffering + vsync vilket är ett måste för skyrim eftersom spelfysiken buggar ut när man får för hög fps.
GTA IV kändes fortfarande som sirap trots att skuggor och texturer var minimala.

Visa signatur

Det var enklare förr att skilja Asus moderkort åt:
Asus A7V -> Asus P5Q Pro -> Asus M4A88TD-V EVO/USB3

Permalänk
Medlem

Ny benchmark av EVE!

Gjorde en ny benchmark baserat på 1 tidigare wine version för att få en fingervisning och sedan stefans senaste git version samt senaste wine development.

Jag använder Arch så ny CK kernel samt massa andra saker inklusive senaste nVidia drivrutiner 334.16 och såklart senaste EVE version.

Testen är gjorda med performance så ingen ondemand så ha det i åtanke.

Kort och gott vad som händer är...
Undock
Warp till bälte
Warp till gate
Jump fram och tillbaka
Warp till station
Dock

Intressanta är att Wine 1.7.4 visar högre siffror mot tidigare benchmark. Värt att notera är att jag använder bara native libs och inställt till Windows 7 och såklart corefonts från winetricks.

Öppna i ny flik för att se stora versionen.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Counter-Strike: Global Offensive

Hade lite funderingar över prestandan på CS:GO mot olika inställningar så jag spelade in en demo under en runda och sedan körde demot som benchmark mot olika konfigurationer av Wine.

Värt att nämna är att nVidia variabeln bara funkar på nVidia kort. CSMT funkar dock på samtliga; Dock har FGLRX har haft problem tidigare så YMMV. Kommer sen försöka kolla mot Windows prestandan i senare skede.

Hur:

  1. Loggade FPS till fil med WINEDEBUG=-all,+fps.

  2. Strippade bort allt förutom resultaten med följande kod:

    cat in.fil | awk '{print $5}' | cut -c 1-5 > ut.fil

  3. Plottade med gnuplot

Dold text

Enviroment:

Arch Linux
KDE 4.13.2
Linux-ck-piledriver 3.14.7
Wine 1.7.18 (CS 0.8)
nVidia 340.17 (Linux)

CSMT.patch för Stefans förbättringar.
GCC49.patch för att fixa problem mot senaste GCC.
SteamOverlay.patch för att fixa krash när overlay är aktiverat.

governator: ondemand

Dold text

Legend:

CSMT R1-3 (CSMT aktiverat)
CSMT OPT1 R1-3 (CSMT aktiverat med nVidia __GL_THREADED_OPTIMIZATIONS=1)
CSMT OFF R1-3 (CSMT avaktiverat)
OPT1 R1-3 (nVidia __GL_THREADED_OPTIMIZATIONS=1)

Dold text

Summa summarum

  • Tydligt ser man att nVidia's optimization inte fungerar något vidare här. Något som bör testas är att köra patchen use_glBufferSubDataARB_dbuffer.patch som skall förbättra förutsättningarna för nVidias variabel. Men denna kompilerar ej längre mot Stefans wine.

  • CSMT förbättrar och fixar alla problem med rendering som annars sker, inget som lyser igenom längre, prestandan är bättre och spelet känns mjukt som på Windows.

För att få igång CSMT kan man antingen själv kompilera Wine med CSMT från Stefans Git alternativt ladda ner färdiga versioner med hjälp av PlayOnLinux så man slipper själv sitta och kompilera och leka runt.

*Något att notera är att som sagt SteamOverlay är lite buggat och det är rekommenderat att stänga av det i steaminställningar för spelet.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Väldigt intressant analys!

Är själv intresserad av att testa patcharna som skall minska CPU overhead med opensource Radeon drivisarna, men har inte passande hårdvara tillgänglig.

Permalänk
Medlem
Skrivet av Phiphler:

Väldigt intressant analys!

Är själv intresserad av att testa patcharna som skall minska CPU overhead med opensource Radeon drivisarna, men har inte passande hårdvara tillgänglig.

Något intressant att testa är också dx9 trackern där någon har implementerat hela DX9. Såg en del tester på youtube samt lite andra forum där det fungerar förvånandsvärt bra.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Är lite ny med optimering och konfiguration av Wine, så detta kanske låter konstigt... Men hur och var skriver jag in optimeringarna? I ett skript som startar programmet eller?

Visa signatur

AMD R5 1600 3.2 GHz | Gigabyte AX370 Gaming K3 | Corsair Vengeance LP 2x8GB 3200MHz CL16 | Sapphire RX580 Nitro+ 8GB | Phanteks Eclipse P400S | 1x Samsung 970 EVO 500GB 1x WD 500GB | Windows 11 Pro

Permalänk
Medlem
Skrivet av oTiuZ:

Är lite ny med optimering och konfiguration av Wine, så detta kanske låter konstigt... Men hur och var skriver jag in optimeringarna? I ett skript som startar programmet eller?

CSMT måste du kompilera själv eller hitta en färdig version, tror det finns PPA men lättaste är via PlayOnLinux. (Är det jag använder för att testa mot olika versioner av Wine mot min egna kompilerade CSMT, men de har CSMT versioner också)

Nvidias threaded räcker att du använder som jag gör i mina exempel.

Citera om du vill ha svar snabbare nästa gång

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem
Skrivet av Commander:

Något intressant att testa är också dx9 trackern där någon har implementerat hela DX9. Såg en del tester på youtube samt lite andra forum där det fungerar förvånandsvärt bra.

https://www.youtube.com/watch?v=J3K22rpURc4

http://www.linuxsystems.it/2014/09/wine-vanilla-vs-csmt-d3dst...
http://www.phoronix.com/scan.php?page=news_item&px=MTc4ODE

Ja faktiskt ser det riktigt bra ut trots att man kör med open source drivrutiner.

Permalänk
Medlem
Skrivet av ronnylov:

A, jag läste det ganska nyligen imponerad faktiskt av deras resultat. Frågan man ställer sig är vad hindrar en Direct3D implementation i de stängda binärerna? Är det att man är rädd för patent/copyright? Borde inte domen från Oracle vara något där man inte kan ha dessa på APIer ?

CS:GO börjar närma sig lansering på Linux så jag kommer köra en runda tester med spelet. Något annat spel jag vill testa är prestandan på WaTthunder med deras OpenGL backend. Vill köra tester med EVE för att se vart prestandan är påväg där då jag själv spelar spelet mycket dock är problemet att det är väldigt svårt att få ett konsekvent resultat.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem
Skrivet av Commander:

A, jag läste det ganska nyligen imponerad faktiskt av deras resultat. Frågan man ställer sig är vad hindrar en Direct3D implementation i de stängda binärerna? Är det att man är rädd för patent/copyright? Borde inte domen från Oracle vara något där man inte kan ha dessa på APIer ?

CS:GO börjar närma sig lansering på Linux så jag kommer köra en runda tester med spelet. Något annat spel jag vill testa är prestandan på WaTthunder med deras OpenGL backend. Vill köra tester med EVE för att se vart prestandan är påväg där då jag själv spelar spelet mycket dock är problemet att det är väldigt svårt att få ett konsekvent resultat.

Funkar ck-piledriver även till Linux Mint? Eller måste man dona lite innan?

Visa signatur

AMD R5 1600 3.2 GHz | Gigabyte AX370 Gaming K3 | Corsair Vengeance LP 2x8GB 3200MHz CL16 | Sapphire RX580 Nitro+ 8GB | Phanteks Eclipse P400S | 1x Samsung 970 EVO 500GB 1x WD 500GB | Windows 11 Pro

Permalänk
Medlem
Skrivet av oTiuZ:

Funkar ck-piledriver även till Linux Mint? Eller måste man dona lite innan?

Om det finns en till Linux mint så ja. Annars antar jag du måste kompilera en egen för att få det rätt till. Kanske finns några repos som skulle underlätta det.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Här kommer lite comparisons med Linux, Wine, Windows på CS:GO
Eftersom att voglperf inte vill spotta ut sig fps längre förutom frametimes så kommer den info jag kan få tag på.

System
Arch Linux
3.16.3-1-ck
nVidia 343.22
KDE 4.14

Windows 7
nVidia 344.xx

Linux
3752 frames 14.913 seconds 251.59 fps ( 3.97 ms/f) 29.090 fps variability

Linux Wine
3752 frames 28.110 seconds 133.48 fps ( 7.49 ms/f) 16.100 fps variability

Windows 7
3752 frames 25.319 seconds 148.19 fps ( 6.75 ms/f) 102.921 fps variability

Summa summarum:
Vad skall man säga, jag är ganska förvånad över hur Wine och Windows prestandan sitter på och sedan blåst på hur Valves direct3d->OpenGL prestanda på Linux piskar Native direct3d på Windows 7.

Både dubbelt så bra frametimes på 3 ms på Linux mot 6 på Windows. och Variation är på ~30 på Linux mot ~100 på Windows.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Det verkar som att Linux egentligen är en mycket bättre plattform för spel än Windows rent tekniskt. Kanske SteamOS inte är en sådan dum idé trots all skepsis som förekommer? Som spelkonsol med mindre krav på hårdvaran än Windows så att man kan komma undan med billigare spelmaskiner. Vi får väl se om det kommer fler spel till Linux framöver.

Kanske ska man satsa på att använda openGL direkt istället för att ta omvägen via direct3d? openGL finns väl även för Windows så varför tar man omvägen över direct3d egentligen? Antar att det har att göra med något programmeringstekniskt.

Permalänk
Medlem
Skrivet av ronnylov:

Det verkar som att Linux egentligen är en mycket bättre plattform för spel än Windows rent tekniskt. Kanske SteamOS inte är en sådan dum idé trots all skepsis som förekommer? Som spelkonsol med mindre krav på hårdvaran än Windows så att man kan komma undan med billigare spelmaskiner. Vi får väl se om det kommer fler spel till Linux framöver.

Kanske ska man satsa på att använda openGL direkt istället för att ta omvägen via direct3d? openGL finns väl även för Windows så varför tar man omvägen över direct3d egentligen? Antar att det har att göra med något programmeringstekniskt.

Stor del handlar om allt FUD där Microsoft gick ut med att OpenGL inte skulle vara firtst class citizen i Vista utan skulle sitta och bli emulerat via Direct3D med mycket lägre prestanda. Sedan har Microsoft varit bra på att pusha sitt som "Gamer platform"

OpenGL har legat lite i bakkanten utan någon bra PR och fått nya funktioner mm. Dock till testet förstår jag inte varför Windows får så stor variance, jag blev faktiskt extremt förvånad.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.