Sorry for spamming this thread a little...
Here's a nice video about monitor scanout from blur busters:
So the monitor does the top to bottom scan without pausing between cycles.
I might have thought the scan would be linked to what's the monitor capable, so 120 hz monitor scanouts always being twice as fast as 60 hz monitor scanouts, even when both monitors set to 60 hz.
But it's not the case!
With gsync, the scanout speed is determined by the gsync module before each new scanout starts.
If the fps drop from 60 to 50 between one frame to the next, so a frametime of 20ms instead of 16.66ms, the monitor will hold the scanout for 6.67ms before starting the next scanout.
The next scanout will then take 20ms to complete.
Now this vsync relation comes back into play.
If the system instantly goes up to say 100 fps, so the next frametime would only be 10ms, then the scanout would be at 50%, or right in the middle of the screen, when the next frame would be shoved into the scanout buffer.
= tearing!
Vsync will make the the gpu holding back that frame until the scanout is completed.
The next scanout would be set to 10ms without pausing between the 20ms scanout and the 10ms scanout.
So no tearing, and in theory a 10ms input lag on top, although you can't really call this "input lag" imo.
Blur busters say the same. Vsync off can have an input lag advantage but only if tearing happens. So I'd rather have the lowest lag with a clean image instead of tearing with parts of the image being updated.
About gsync buffer: it seems that there is no input lag caused by buffering. The gpu renders frame A, puts it in the scanout buffer to the monitor and while the scanout is done, it renders frame B into a second buffer.
Afaik that's how vsync off works too. You always have to have one buffer for the monitor and one to put the next frame in.
Quite awesome, I didn't know that... I thought gsync would add 1 frame lag, but it does not.
Anyway, next tests will be:
- Gsync + gpu limit to test lag within gsync range but without a limiter
- combined with ac max frame latency at 20
- no gpu limit but rtss limit + ac latency at 20