Back then I had no understanding of why this was happening. I thought it was the strangest damn thing ever.
Now I understand better but while it's been explained to me multiple times I'm still not 100% clear on why capping framerate below the refresh rate is better for input lag, or under what conditions that is the case. I think it has something to with preventing the CPU from queuing up a bunch of frames, but I thought Reflex was supposed to solve that.
The pc space is too complicated. Reflex at least fixes that. You can just turn it on and then you only need to worry about vsync in terms of tearing assuming you have a VRR monitor.
When you enable vsync in game you can either have double or triple buffered output. Triple buffering has 1 extra frame queued so it feels laggier.
Assuming a fixed refresh display, double buffering with vsync is basically one buffer for the frame being displayed and one buffer being written to by the gpu. When the display finishes displaying the frame the buffers swap and the next frame begins being displayed. If the buffers would swap before the gpu is finished writing, the swap is held until the next interval. So 60Hz becomes 30Hz when the interval is missed. Lag from double buffered vsync is basically 1 frame time or 2 frame times when you miss the window. There’s also some lag because if your gpu processes a frame at 10ms it would have to wait for the next fixed interval eg 16ms on a 60Hz display.
If you were to disable vsync the frame buffers swap immediately when the gpu finishes writing a frame to a frame buffer. That means the display could be part way through drawing one frame, the buffers swap, and then it continues drawing data from the next frame which causes the tearing artifact.
With Gsync the same double-buffering is used but the control for sync is on the gpu side. After a frame is drawn the gpu signals it’s swapping buffers so the next frame can begin drawing before a fixed interval. If you force vsync on with a gsync display it actually only controls what happens if you reach or exceed the refresh rate of your monitor. For example do you vsync at 60Hz or do you uncap and tear? I think nvidia control panel ensures double buffering where in game could be triple. With gsync modules it’s also supposed to do some frame pacing optimization, but I’m not sure it matters on other vrr displays without the module.
Long story short is enable reflex when it’s available because it will eliminate input lag caused by frame queuing. Then in terms of your display, if you want to avoid tearing turn on vsync in the nvidia control panel if you have a gsync compatible VRR display. It’ll automatically limit your fps to stay within the VRR window to avoid tearing turn.
If you don’t have VRR turn on reflex and leave vsync off and just live with the tearing.
If the game doesn’t support reflex then try using an in-game limiter to set your fps to something where your gpu never exceeds maybe 95% usage to try to stay cpu limited and reduce frame queuing. External limiters can add a frame of input lag. Some in game limiters do as well but it’s your best bet.