Don't use the DXVK limiter when there's alternatives available. It is known to be bad.
From a technical PoV this smells like BS anyway, the commit in question doesn't change the underlying implementation and doesn't even do anything in your case.
I'm just going to remove the ability to set the limiter at all at this rate, just keeping it for app profiles. Fucking tired of this shit.
@doitsujin
And how do you explain the differences in frame time? If you are stating it is BS.
And how do you explain that, when I reverted the commit in question - there is no issue?
What differences in frame time? You're CPU-bound. You're talking less than 2ms between supposed 'good' and 'bad' results at a 30 FPS limit, which is... honestly less than expected given that we measure GPU execution, which is affecrted by power management. You're not mentioning if the games in question are 30 FPS limited or if there's external limiters or anything. There's also no correllation between CPU frametimes, GPU frametimes and actual presentation frametimes.
Just debug it yourself at this point, I don't fucking care about this feature and I just want to remove it. Only thing it has ever done is make people complain.
Not seeing any difference on my end fwiw.
@doitsujin
What differences in frame time?
Which are shown on screenshots.
You're talking less than 2ms
I am taking about frametime graph consistency, i.e. consistency of actual time of frame rendering and presenting.
You're not mentioning if the games in question are 30 FPS limited or if there's external limiters or anything.
I provided all the information that is required by your bug_report.md template. Tested applications were limited only by DXVK FPS Limiter. Note: WarCraft 3 v1.26a does not have setting for FPS Limiting at all.
Just debug it yourself at this point, I don't fucking care about this feature and I just want to remove it. Only thing it has ever done is make people complain.
Never seen any complaints and never had any, up to the aforementioned PR. And I use 1.10.x on 2nd PC. Which does not have the aforementioned problem in the same scenario.
Not seeing any difference on my end fwiw.
Unfortunate, but expected. You may close the issue.
Only thing it has ever done is make people complain.
DXVK's frame limiter has ruined my saw blade! 🐸
| IGI 2 - uncapped | IGI 2 - 60 fps capped with DXVK |
|---|---|
Jest aside, maybe it's not perfect, but it's certainly useful.
Issue: Inconsistent frametime/microstuttering, if
d3d9.maxFrameRate/dxgi.maxFrameRateset to value less than display's refresh rate.Scope: Any application (D3D8/D3D9/D3D10/D3D11, x32/x64).
DXVK versions affected: Any after PR#4056 -
Limit frame rate to display refresh, specifically after commit https://github.com/doitsujin/dxvk/commit/379346751a102500a70a87e67d66941140e82040 -[util] Implement refresh rate heuristic for frame rate limiterSystem information
dxvk.confSettings:Issue's detailed description
Screenshots of the issue:
DXVK HUD's frametimes graph comparison between DXVK 3.0.2 with https://github.com/doitsujin/dxvk/commit/379346751a102500a70a87e67d66941140e82040 and without commit https://github.com/doitsujin/dxvk/commit/379346751a102500a70a87e67d66941140e82040 -
Note: Such test scenes were picked, due to their consistency and repeatability. Microstuttering increases as the CPU load increases during active gameplay. Video is not provided, due to no ability to record it.
Steps to reproduce the issue:
d3d9.maxFrameRate/dxgi.maxFrameRateto value less than display's refresh rate.d3d9.maxFrameRate/dxgi.maxFrameRateset to value less than display's refresh rate.Software information
Tested Applications Info:
Changing any setting in application, which includes changing Window Mode (Fullscreen/Borderless/Windowed) or VSync (On/Off) does not affect the issue.
Changing DXVK's settings (using
dxvk.conf), such as changingd3d9.maxFrameLatency/dxgi.maxFrameLatency,dxvk.allowFse,dxgi.syncInterval/d3d9.presentIntervaldoes not affect the issue.Mods/Add-ons: Not used in any application.
Apitrace file(s)
No ability to provide Apitrace file(s).
Log files
war3_d3d9.log
TQ_d3d9.log
swtor_d3d9.log
Assumptions and Suggestions
I guess that the reason of the issue is that refresh rate heuristic for frame rate limiter is: