-
-
Notifications
You must be signed in to change notification settings - Fork 878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
video_core: Use adaptive mutex on Linux #2105
base: main
Are you sure you want to change the base?
Conversation
I tested in 4 different games: Bloodborne, GRR, GR2 and Nier: Automata, and this PR had no major change on the last 3, but it made Bloodborne run at 15-20 FPS in the Hunter's Dream, down from a stable 60 on main (tested 3 times, so it's consistent). It has to be noted, though, that even on main, the framerate also deteriorates after a few minutes to the same level (and it happens for all games, as well) |
This PR fixed the performance regression for me. My FPS has increased to 50 from 17. |
For me also reduce the performance by 8-10 fps overrall |
I went from 125-135fps to 120-125 with this pr |
Some interesting test results. So basically:
I wonder if we can get a middle ground of this, something that can spin lock for a number of times, then sleep, like a adaptive mutex? |
dc358e3
to
5175053
Compare
I have change this PR to use adaptive mutex on Linux so this should not affect other OSes. Need retest from Linux users. |
Fix performance regression with shadps4-emu#1973 on SteamDeck
5175053
to
6180c9a
Compare
I would like to test it on SteamOS, but I am not sure how to get the AppImage to do that. Can you let me know? |
I didn't see any difference in the performance, or at least I didn't notice any. |
On the "actions" tab look for "video_core: Use adaptive mutex on Linux", click on the most recent one, then download the linux-qt version. |
shad_log.txt |
While I'm not seeing any increase in FPS this really helps smooth out my frame rate by getting rid of the low dips. For example while standing at the Central Yarnham lampost my fps would hover around 65 but drop to 52-53 every 5 seconds or so. This is gone now. |
Tested a bit in Central Yharnam comparing latest main with this, didn't notice any performance difference on Windows like other people said, think with a little more testing this might be good to go. |
This PR now only affect Linux. |
@ngoquang2708 AFAIK we have adaptive mutex implementation for windows in |
Isn't that for guest side use? This PR use adaptive mutex for host side, only for Linux though, since I don't see any complains about performance regression from Windows users. |
Ah, you're right, my bad. |
@kalaposfos13 Can you help retest new changes on your system? |
The performance is now yet again similar to main. Side note, I was able to significantly lessen the performance degradation and lag spikes by manually installing the 565 Nvidia drivers (Mint/apt only comes with 550), but it didn't completely solve the problem. |
@kalaposfos13 Thanks. |
Fix performance regression with #1973 on SteamDeck (#2048).
Tested with reduced resolution to reduce GPU load and vblank divider set to 2.
SteamDeck
Laptop
main.mp4
pm+wm.mp4