protonscr

fsync performance results

protonopen
ValveSoftware/Proton#2966 · opened 2019-08-09 by Plagman · updated 2019-11-01 · 7 comments · github
1 matching comments, n / p to jump
PPlagman 2019-08-09 github

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)

LLeJimster 2019-08-10 github

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

Mmitigd 2019-08-15 github

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

LLeJimster 2019-08-15 github

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

Ttelans 2019-08-17 github

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.

MMyrddin-Wyllt 2019-09-10 github

GRIP: Combat Racing (396900)

  • 1080p Max settings
  • Vsync off
  • Film Grain & Motion Blur off
  • FXAA
    Fsync:
    Fsync
    Esync:
    Esync
    None:
    None
Aalosarjos 2019-09-10 github

@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.

Ttelans 2019-10-27 github

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.

Proton versions

Launch options

Upstream links