Description
Tested versions
Tested on v4.4.1.stable.steam [49a5bc7]
System information
Godot v4.4.1.stable (49a5bc7) - Windows 11 (build 26100) - Multi-window, 2 monitors - Vulkan (Forward+) - integrated AMD Radeon(TM) 760M (Advanced Micro Devices, Inc.; 32.0.13031.3015) - AMD Ryzen 5 7640U w/ Radeon 760M Graphics (12 threads)
Issue description
When using the Dynamic Refresh Rate feature in windows enabled on one or more monitors in your setup Godot stutters every time the mouse starts or stops moving, if Godot is running on an high refresh-rate external monitor.
100ms stutters make the game, or even the editor feel really bad.
What is Windows DRR? Windows DRR is a feature where Windows only uses the high refresh-rate (like 120hz) when the mouse moves, and when the mouse is not moving it uses something lower, like 60hz to save some power. To use drr, vrr needs to be enabled on a monitor.
Where I noticed this issue:
My laptop has a vrr screen, and to save battery I use the drr feature. Godot never stutters on the internal screen, whether drr en enabled on the internal screen or not. The problems show up when I started using an external high refresh-rate screen. When using drr on any of the screens, Godot stutters on the external display, even if this display is not vrr. Godot does not stutter if drr is disabled on all screens.
My laptop has an AMD gpu, I will test this on a Nvidia gpu in a few days if needed.
Steps to reproduce
- Enable windows DRR on any screen. (A recent version of windows 11 is needed and a vrr display.)
- Open any project in playtesting and use the profiler to see the stutters everytime you start and stop to move your mouse.
The screenshot is in Dutch, but it is the blue toggle under the refresh rate option in the windows settings.
Minimal reproduction project (MRP)
Any project will do. Even an empty scene.