After a little more digging around, this is what I can come up with:
- Frame rate limiting caps how often work can be sent to the GPU. So a frame rate limit of 60 FPS means the CPU can only send a render command every 16.6...ms interval . This does not mean that the GPU will get a render command consistently every 16.6... ms, nor does it mean the GPU can have render times that are lower than16.6ms. In other words, it's possible for the CPU to send a command at say t=15ms, then t=17ms, because they're in two separate 16.6ms windows. The odd intervals the CPU can send commands plus the amount of time it takes to actually render the frame is known as frame time variance.
- G-Sync adjusts the V Blanking period of a display to the frame time of what the GPU outputted. That's what the "syncing" part of G-Sync means; it doesn't stop the GPU from swapping frame buffers if the monitor's not on its next V Blanking period. So if the frame time for Frame 1 is say 10ms, G-Sync will adjust the V Blanking timing to every 10ms. However, while its displaying Frame 1, if Frame 2 is completed before the 10ms window and the application is still using double buffering, the frame buffers will get swapped and you have tearing.
- In a double buffered system, V-Sync forces the video card to not swap the frame buffers until the display is in the V-Blanking period. And that's about it. If the system is using triple buffering, then V-Sync locks one of the frame buffers while the GPU is free to render on the other two as fast as it wants.
So the reason why you need G-Sync + VSync for a truly tear free experience is because G-Sync doesn't actually prevent the frame buffers from swapping. The reason for the frame rate limiter is you don't want the frame rate to exceed the G-Sync range.
Also read this article for further details:
https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/
EDIT: So to put it in a better summary, these are what the features are doing.
- Frame Rate Limiting: This keeps the application from having a frame rate beyond the maximum G-Sync range. Going beyond it disables G-Sync and the V-Sync behavior (either on or off) kicks in. So either you'll have tearing or lag.
- V-Sync: Prevents the GPU from swapping frame buffers while the GPU is sending something to the monitor. This can cause lag
- G-Sync: This adjusts the V Blanking period of the display. This is meant to augment V-Sync because the frame buffers can't swap unless the monitor reaches its V Blanking period.