Originally Posted by skupples
Has anyone heard anything about G-sync using "filler" frames?
I have a visual / temporal understanding of how they work.
They are just simply repeat re-scans of the refreshes on the LCD (done internally by the monitor and/or drivers), every 1/30second if no new frame has yet been delivered. If the game crashes, the monitor automatically keeps refreshing the last frame every 1/30second. Anytime no new frame arrived at the monitor yet, the monitor/driver subsystem is simply refreshing the last complete frame. These repeat refreshes are necessary to keep the pixels fresh. These freshening-up refresh passes takes 6.9 milliseconds (since the refresh passes occur in 1/144second = 6.9ms) on the first G-SYNC monitors. (The freshen refresh occures at the monitor's specified maximum speed of a single refresh. So, in the future, 240Hz G-SYNC monitors, the freshen refresh passes will take only 4.1 milliseconds -- 1/240sec, limiting your stall to 4.1 milliseconds).
If a new frame arrives when a repeat refresh isn't occuring, it'll look exactly as if G-SYNC natively supports a below-30fps rate.
If a new frame arrives when a repeat refresh IS occuring, it'll simpy ultrabriefly wait till that's done before it's displayed; added 0ms and 6.9ms.
It won't make low framerates worse. GSYNC 17fps will still look better than non-GSYNC 17fps.
The only thing is that if a new frame gets delivered while the LCD is doing a "freshen" refresh, the frame has to wait until after the freshening refresh; so you get a delay of anywhere between 0ms and 6.9ms, depending on how far along the current freshening refresh pass is occuring. This is pretty good considering that with a 60Hz display, a refresh is often forced to wait 16.7ms.
If you can afford a G-SYNC monitor, you already have a good GPU, and your game won't be going below 30fps more than "occasionally", and even when it does, 30fps GPU lag is already 33ms, and when that occurs on a 60Hz display, it often adds yet another 16.7ms scanout on top, above-and-beyond. Compared to all of that, doing 30fps on a G-SYNC monitor, a brief wait (random value between 0ms and 6.9ms) caused by those refreshen refresh passes is nothing compared to doing the same sub-30fps on a non-GSYNC monitor. Doing sub-30fps on G-SYNC will still typically look better, because the frametime distortions caused by the repeat refresh passes, are smaller than the frametime distortions caused by being forced to wait for old-fashioned VSYNC, or the tearing problem of VSYNC OFF. Certain situations such as doing 28fps or 29fps, might create maybe 1 or 2 microstutters per second caused by the brief 6.9ms repeat-scans, but will still look MUCH better than doing the exact same 28fps or 29fps on a 60Hz monitor (much bigger microstutter during VSYNC ON, or tearing during VSYNC OFF) In fact, once you get 'out of the way' of the repeat scans, (e.g. doing 15fps), the repeat refresh cycles are completely finishing completely unnoticed in the idle gaps between new frames, with zero distortion to frametimes, so doing G-SYNC at certain low framerates would look exactly as if G-SYNC already natively supported that refresh rate. Intervals between frames below 30fps is already over 33ms, so there's plenty of opportunity for two or more 6.9ms refresh-passes to occur at very different times that aren't overlapping -- meaning, the repeat refreshes (taking 6.9ms) may often occur completely unnoticed, giving zero frametime distortion, and G-SYNC looks like it "natively" supports variable refresh rates below 30fps. Theoretically, in fact, if a game engine can accurately predict that it will run at a frame rate below 30fps, it can execute repeat refreshes "in advance". So perfect 29fps@29Hz is achievable with G-SYNC. Basically, a game engine that detects it is currently running at below 60fps, could automatically do two or three refreshes in a row, to allow the next frame to be precisely timed during a moment the monitor isn't repeat-refreshing, so that lower framerates can occur with zero gametime distortions. But since G-SYNC already does a good job at below 30fps, and users of G-SYNC monitors will rarely run less than 30fps except during brief periods, it generally won't be necessary for game makers to do that, considering that sub-30fps on a 60Hz monitor looks vastly worse than sub-30fps on a G-SYNC monitor.Thus, sub-30fps repeat refreshes are much ado about nothing, IMHO.Edited by mdrejhon - 11/21/13 at 5:35pm