protonscr

Forced Variable Frame Rate on Windows

dxvkclosed windows
doitsujin/dxvk#5420 · opened 2025-12-31 by ghost · updated 2026-06-17 · 8 comments · github
?ghost 2025-12-31 github

Everything i try with DXVK on Windows has some kind of Variable Frame Rate Targets that cannot be disabled, even when forcing FSE using the dxvk.conf file. I have a 144hz Display and the Framerate keeps jumping to values 24 / 48 / 72 / 96 / 144.

Nothing of the sort occurs with DirectX, This does not occur on Linux with Proton on the same system, and it doesn't occur when using DXVK's dxgi.dll + VKD3D for DX12 titles on Windows.

No Frame Rate or Power Saving options are enabled in the Nvidia Control Panel or OS, Steam and Nvidia overlays are disabled.

Locking the framerate using dxvk.conf to a value like 72 will still have it where it locks to 48 and unlocks rapidly, Rivatuner's FPS Limiter has no difference.

Software information

Immortals Fenyx Rising, Metal Gear Rising Revengeance, Just Cause 3, Assassin's Creed Origins, Grand Theft Auto IV.

System information

  • GPU: RTX 4070
  • Driver: 591.59 and 566.36 Tested on Windows
  • DXVK version: 2.7.1
Ddoitsujin maintainer 2026-01-01 github

DXVK has no control over whether VRR is enabled or not, it's purely a driver / compositor thing.

On NV I guess you could try playing with the Nvidia driver setting to enable or disable DXGI layering for Vulkan swapchains.

?ghost 2026-01-01 github

DXVK has no control over whether VRR is enabled or not, it's purely a driver / compositor thing.

On NV I guess you could try playing with the Nvidia driver setting to enable or disable DXGI layering for Vulkan swapchains.

This also occurs on an AMD GPU, i tested the RX 9600 XT on a different PC with the latest drivers and software on Windows 11 and the same thing happens at 144fps with or without VRR / Freesync on.

On my Nvidia one changing Vulkan/OpenGL Present Method doesn't seem to do anything

I stated this is some kind of weird Dynamic Frame Rate lock that switches to values that can add up to 144. Happens on DXVK Windows only. and i don't know if it can be disabled or resolved manually

Ddoitsujin maintainer 2026-01-02 github

AMD also layers Vulkan presentation over DXGI these days.

I don't know what to do here, it's possible that Windows drivers simply require an extra back buffer and/or an extra frame of latency to work properly with v-sync on to even work properly, but that's not something we can find out programmatically. I also don't think I've seen this behaviour on my Windows 10 setup, so I don't really have a way to reproduce this either.

Issues like these are why Windows is a pain in the arse for us.

Mmirh 2026-01-09 github

That's probably you having enabled windowed g-sync.

?ghost 2026-01-11 github

That's probably you having enabled windowed g-sync.

Not it, happens with or without VRR (G-Sync / Freesync) enabled on 2 different Windows PC's with one having an NVIDIA GPU and my other having an AMD GPU.

Tried various drivers versions on both with Clean Installs and nothing changed, no power saving or frame rate target options enabled.

Mmirh 2026-01-11 github

.. I assume that if you change the refresh rate to some other odd value (100 or 120 for instance on my monitor), then the "fractional lock values" change accordingly?

Also, you did try to clean re-install the drivers with DDU, and disable VRR in the windows graphics settings?

?ghost 2026-01-12 github

.. I assume that if you change the refresh rate to some other odd value (100 or 120 for instance on my monitor), then the "fractional lock values" change accordingly?

Also, you did try to clean re-install the drivers with DDU, and disable VRR in the windows graphics settings?

I did DDU before changing Driver versions on both Nvidia and AMD, VRR in Windows Settings is automatically disabled if Freesync / G-sync is disabled in the respective softwares.

Nvidia App and GF Experience is not installed and AMD Software is installed as Minimal in order to change Driver / Freesync settings.

Changing the Refresh Rate to a value like 120hz will have it rapidly lock to 60fps, 60hz will be 30fps and 75hz will be 37 - 38 fps.

Tested Immortals Fenyx Rising with DXVK for that since it allows changing Refresh Rate in-game, ran the game at lowest settings and resolution with to maximize FPS.

Setting the resolution and settings to highest in order to reduce FPS will have it rapidly switch to values that can add up to the Display's Refresh Rate, V-sync on and off.

Mmirh 2026-01-12 github

Sigh..
Only other things I can think to try (obviously grasping at straws) is trying to boot with diagnostic startup, and trying to nuke every layer.

DLLs