ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.9k stars 1.04k forks source link

fsync performance results #2966

Open Plagman opened 5 years ago

Plagman commented 5 years ago

Post your performance results here! If they're a regression, please also report them in the dedicated fsync issue https://github.com/ValveSoftware/Proton/issues/2922.

Make sure you're running the same build of Proton 4.11 on both sides (eg. don't compare 4.2 with 4.11), and the only difference is fsync toggled on or off. (PROTON_NO_FSYNC=1 vs. not)

LeJimster commented 5 years ago

Thief (239160)

I ran the Benchmark 3 times for each run. Not sure how reviewers do this, it's time consuming and boring =P, anyway... Oh yeah, using Proton 4.11-2

1440p+VeryHigh(custom settings)

fsync & esync Off Min: 32.63 Max: 93.43 Avg: 57.56

esync On Min: 54.53 Max: 123.36 Avg: 88.86

fsync On Min: 55.9 Max: 122.8 Avg: 87.63

Notes: I experienced a couple of app hangs with fsync as reported here System Specs

mitigd commented 5 years ago

Sleeping Dogs Definitive Edition - In-Game Benchmark Tool:

Made sure to run the benchmark first so there would be no shader compilation during testing.

w/Proton 4.11-2

Nothing: avg: 50.3 max: 88.4 min: 27.7

ESYNC: avg: 71.9 max: 98.6 min: 48.0

FSYNC: avg: 74.9 max: 105.1 min: 49.1

Specs: AMD 8350 with 1050ti

LeJimster commented 5 years ago

GTA V (Social Club version)

Ran benchmark 3 times for each config. fsync isn't turned on by default when using Lutris, used WINEFSYNC=1 to enable.

Lutris + Proton 4.11-2 1440p high(custom)

fsync & esync off: Min: 44.0735342 Max: 136.070210267 Avg: 99.685273267

esync on: Min: 46.394250467 Max: 184.974190333 Avg: 130.629943933

fsync on: Min: 51.347102867 Max: 179.839206 Avg: 127.200167933

Note: I experience one app crash when running a fsync benchmark, not sure how to create debug logs from Wine, so I haven't tried to replicate yet.

Complete GTA Benchmark Log files System Specs

telans commented 5 years ago

Results for Borderlands GOTY Enhanced.

I did crash once when leaving fsync enabled, however I am not sure if that was a one-off or even related to fsync at all.

Software Version
Nvidia-vulkan 418.52.18
Proton 4.11-1
DXVK 1.3.1-git - https://github.com/doitsujin/dxvk/commit/02d92210adb3369d4c3d7bb06660ca0cde0a2add
Kernel 5.2.5-arch1-1-fsync
Game fsync On / Off FPS
Borderlands GOTY Enhanced Off 122 fps
Borderlands GOTY Enhanced On 130 fps

FPS recorded sitting at main menu, with maximum graphics options at 1080p, plus a custom Reshade config.

Myrddin-Wyllt commented 5 years ago

GRIP: Combat Racing (396900)

alosarjos commented 5 years ago

@Plagman I would like for someone else to try by themselves, but this looks like a pretty huge improvement

Title: Greedfall Steam ID: 606880 Notes: It required the mfplat patch to boot (Bacuse of the boot video sequences with companies logo).

System: AMD Ryzen 1700 OCed to 3.6 Ghz AMD RX 580 16 GB RAM

OS: Fedora 30 Kernel: 5.2.11-201.fc30.x86_64 with f-sync (https://copr.fedorainfracloud.org/coprs/gloriouseggroll/kernel/) Mesa Version: (Mesa-ACO) https://copr.fedorainfracloud.org/coprs/gloriouseggroll/mesa-aco/

606880_20190910223133_1

606880_20190910223307_1

The only difference there was using the PROTON_NO_FSYNC=1 for testing purposes.

It was weird, because the game is not that impressive on the graphics side, the GPU usage was under 30% and the 16 CPU Threads were with a 75% usage. Then I saw a Youtube Video (https://www.youtube.com/watch?v=g_MLhvd24QM) and thought the the main difference could be the f-sync kernel patch, so I got it for Fedora and tried again and the game was running incredibly well. After that I tried disabling the f-sync with the Proton flag to check that was it, and it seems so.

telans commented 4 years ago

Game: The Outer Worlds Wine: wine-4.18.r2.ge380c1e9 ( TkG Staging Esync Fsync Vkd3d ) DXVK: 1.4.4-async Kernel: 5.3.7-17-tkg-pds

CPU: i7-4770 GPU: 980Ti

Logs recorded in-game with exactly the same mouse position & character location, over a 30 second timespan. Recorded with flightlessmango's mangohud DXVK patch

FPS Esync Fsync
Max 73 70
Avg 60 63
Min 51 60

https://flightlessmango.com/logs/13

What's much more apparent in the graphs is that the frametime is so more more stable with Fsync which is nice to see.