protonscr

DXVK_FRAME_RATE reacts "slowly" to sudden framerate changes (throttles increase from low fps to high fps)

dxvkclosed can't reproduce
doitsujin/dxvk#3369 · opened 2023-04-19 by user3287 · updated 2023-11-10 · 6 comments · github
1 matching comments, n / p to jump
Uuser3287 2023-04-19 github

When the framerate changes very suddenly, DXVK_FRAME_RATE kind of throttles performance, I noticed this in Apex while using a script that limits the framerate to 30Hz for about 30 milliseconds.

So basically, when the 30 milliseconds are over, the game takes like 3 seconds to climb back up to 144Hz, where if I do not use DXVK_FRAME_RATE, it goes up to 144Hz instandly.

Game: Apex
Driver: Mesa23.1/AMD/Wayland
Wine: GE-Proton7-55
DXVK: ? Latest?

I suggest to add a little note in the read.me and the docs next to DXVK_FRAME_RATE and then to close this issue, as it isn't exactly an issue that needs fixing, but it took me a while to figure out, and if it would've been written there, it would surely have saved me a little bit of time/ frustration/ ranked points ;)

Ddoitsujin maintainer 2023-04-19 github

This isn't intended behaviour and I also cannot confirm this. If anything, the frame rate should (and does, in a quick test) briefly overshoot the target value since the limiter runs at vkQueuePresent time on a worker thread, rather than the application thread, and therefore lags behind by a bit. The limiter generally does nothing at all if the frame rate is lower than the target.

Uuser3287 2023-04-19 github

Did you test it in Apex? If not, I am gonna try if I can like read out the fps via, dunno, mangohud or something like that

Ddoitsujin maintainer 2023-04-19 github

I don't have Apex installed, no. I just modified our basic triangle test app (somewhere in https://github.com/doitsujin/dxvk-tests) to swap between 30 and unlimited fps every couple of seconds and ran it with DXVK_FRAME_RATE=100 DXVK_HUD=full.

And yeah, this might be a game-specific quirk, but I don't really see any conditions that would trigger the behaviour you observed.

Uuser3287 2023-04-20 github

Hm, framerate is displayed going up to 144Hz instantly indeed, at least via the in-game frame counter, I will try to do some more testing and see if I can find any prove other than "it feels laggy"
Edit: Don't close it yet, give me a few days

Uuser3287 2023-05-04 github

Mh, now I can't reproduce it either.
I must have changed something in the settings to get rid of the stuttering, but I can't figure out which setting it was...
Guess I was wrong here, which is weired, because I was really sure about it :(
Testing now resulted in the predicted fps overshoot, so I guess everything works fine.
Sorry for bothering.

BBlisto91 2023-05-04 github

If you encounter it again and it seems to indicate dxvk weirdness you are ofc welcome to open the issue again

Proton versions

Launch options