[SOLVED] VSync Behaviour When Monitor Refresh Rate Cannot Be Reached

Caster13

Distinguished
Apr 1, 2011
10
0
18,520
Just bought a 3060 Ti and a Gigabyte G32QC (32", 1440p, 165Hz, connected via included display port cable). I prefer having VSync on.

I anticipated my computer probably wouldn't be able to reach 165 FPS in most games so I set my monitor refresh rate to 120 Hz (via Windows display settings, monitor on-screen display confirms that its refresh rate is 120 Hz).

I've only been able to do a few hours worth of testing so far, particularly in Rainbow Six Siege and in Mechwarrior Online. One thing I've noticed is that my FPS in Mechwarrior Online will seem to go back and forth between 120 and 60 (did not encounter this issue in Siege). I did some searches to figure out an explanation and the best I was able to find were some vague, passing forum posts saying that, in some games, VSync will "step down" to a lower FPS if the target FPS can't be reached. I.e., since my GPU couldn't render120 FPS at certain times, it'll switch to render at 60 FPS instead.

I'm hoping the wider community wisdom and knowledge could spare me even more hours of forum searching hell and tell me if this is actually true/expected/relatively normal.
 
Solution
Vsync works by forcing only completely rendered frames to be drawn to the screen. When a new frame is not ready when the display is ready to display a new image, the last completed frame is drawn instead. The effect is generally the number of frames sent to the display being half the displays refresh rate (though if FPS varies by a significant degree, this can be something different).

Simple test: Turn Vsync off and see what the behavior is.
Vsync works by forcing only completely rendered frames to be drawn to the screen. When a new frame is not ready when the display is ready to display a new image, the last completed frame is drawn instead. The effect is generally the number of frames sent to the display being half the displays refresh rate (though if FPS varies by a significant degree, this can be something different).

Simple test: Turn Vsync off and see what the behavior is.
 
Solution