[Thread Superseded] G-Sync 101 w/Chart (WIP)

Talk about NVIDIA G-SYNC, a variable refresh rate (VRR) technology. G-SYNC eliminates stutters, tearing, and reduces input lag. List of G-SYNC Monitors.
Locked
User avatar
RealNC
Site Admin
Posts: 3730
Joined: 24 Dec 2013, 18:32
Contact:

Re: G-Sync 101 w/Chart (WIP)

Post by RealNC » 23 May 2017, 10:14

I've sent an email to Chris (Battle(non)Sense) in case he's interested in this, and he might be doing a quick test this weekend.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

akirru
Posts: 7
Joined: 15 Mar 2017, 08:23

Re: G-Sync 101 w/Chart (WIP)

Post by akirru » 23 May 2017, 12:22

I just tried what you suggested and it feel quite similar to RTSS.... But I only tried it in DOOM (Vulkan). I also noted that input lag was a lot worse when pre-rendered frames were set to "1" instead of application preference.

I can't wait to hear some more detailed findings though ;)

User avatar
RealNC
Site Admin
Posts: 3730
Joined: 24 Dec 2013, 18:32
Contact:

Re: G-Sync 101 w/Chart (WIP)

Post by RealNC » 23 May 2017, 13:58

Just tried Doom. Same results (meaning it's as good as RTSS.)

Can't see a difference between MPRF 1 and default though. Same input lag. Which makes sense, since MPRF > 1 only increases input lag if the cap isn't reached (like when capping to 140FPS but the game isn't able to go that high; then, and only then, will MPRF result in extra buffered frames.) So with the 23FPS cap test, MPRF > 1 never has an effect.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

akirru
Posts: 7
Joined: 15 Mar 2017, 08:23

Re: G-Sync 101 w/Chart (WIP)

Post by akirru » 23 May 2017, 17:07

Yea it feels good... I suppose it saves you having to use a separate tool. I'm interested to see some conclusive tests. Love all the work you guys put into this though ;)

User avatar
jorimt
Posts: 2479
Joined: 04 Nov 2016, 10:44
Location: USA

Re: G-Sync 101 w/Chart (WIP)

Post by jorimt » 26 May 2017, 21:57

As an aside while I continue my tests, I did several quick single run Creators update "Game Mode" G-SYNC + V-SYNC + -2 FPS limit @144Hz tests in Overwatch (at lowest settings) up against non-Game Mode G-SYNC + V-SYNC + -2 FPS limit @144Hz.

Scenarios as follows:

1. Fullscreen Optimizations Enabled
2. Fullscreen Optimizations Disabled
3. Game Mode (Settings) + Fullscreen Optimizations Disabled
4. Game Mode (Settings) + Fullscreen Optimizations Enabled
5. Game Mode (Settings) + Game Mode (Game bar) + Fullscreen Optimizations Enabled
6. Game Mode (Game bar) + Fullscreen Optimizations Enabled

The results? No input latency differences on my system. Granted, I had no background programs running, no overlays, CPU was unparked and at highest frequency, and I do have very decent specs, so the gains would likely only show on weaker configurations or systems that multi-task, but it still doesn't explain how Battle(non)sense's results show a significant global reduction in input latency, and solely with the Game Mode toggle in the Windows settings. Go figure.

The only difference I did observe with fullscreen optimizations, is that with it disabled, the screen would flash twice in exclusive fullscreen when trying to bring up the Game bar (which signifies it is supported, but can't be brought up because of exclusive fullscreen mode), and with fullscreen optimizations enabled (default), the Game bar could be brought up with the keyboard shortcut, even in exclusive fullscreen mode.

Anyway, since Game Mode tests won't be included in the upcoming article (off-topic), I thought I'd post about my findings (albeit not in the least ways in-depth or conclusive) here. It definitely appears that the Game Mode setting's effectiveness depends entirely on the setup. It would probably be very difficult to isolate consistent differences and come to any definitive conclusions from testing a single system.
(jorimt: /jor-uhm-tee/)
Author: Blur Busters "G-SYNC 101" Series

Displays: ASUS PG27AQN, LG 48CX VR: Beyond, Quest 3, Reverb G2, Index OS: Windows 11 Pro Case: Fractal Design Torrent PSU: Seasonic PRIME TX-1000 MB: ASUS Z790 Hero CPU: Intel i9-13900k w/Noctua NH-U12A GPU: GIGABYTE RTX 4090 GAMING OC RAM: 32GB G.SKILL Trident Z5 DDR5 6400MHz CL32 SSDs: 2TB WD_BLACK SN850 (OS), 4TB WD_BLACK SN850X (Games) Keyboards: Wooting 60HE, Logitech G915 TKL Mice: Razer Viper Mini SE, Razer Viper 8kHz Sound: Creative Sound Blaster Katana V2 (speakers/amp/DAC), AFUL Performer 8 (IEMs)

drmcninja
Posts: 112
Joined: 09 May 2017, 10:26

Re: G-Sync 101 w/Chart (WIP)

Post by drmcninja » 28 May 2017, 19:51

Does V-Sync with -2 FPS limit work without G-Sync? Meaning, does it work without giving you a lot of input lag?

And if not, why does that work when G-Sync is turned on? Why does V-Sync suddenly stop giving input lag in such a situation?

Third question: If the fps is limited to 2 below the refresh rate, then why do you need V-Sync with G-Sync to begin with? Wouldn't G-Sync alone just sit at that framerate/refresh (i.e, 142fps/Hz on an otherwise 144Hz monitor). I thought V-Sync only has an effect when there's tearing from going above the monitor's refresh rate?

Somewhat different question: Why does Overwatch's internal setting 'Display-Based' under frame limit option use 10 above the refresh rate whereas you're using 2 below?

User avatar
RealNC
Site Admin
Posts: 3730
Joined: 24 Dec 2013, 18:32
Contact:

Re: G-Sync 101 w/Chart (WIP)

Post by RealNC » 28 May 2017, 21:22

drmcninja wrote:Does V-Sync with -2 FPS limit work without G-Sync? Meaning, does it work without giving you a lot of input lag?
Yes, it works. But obviously you will get stutter.
Why does V-Sync suddenly stop giving input lag in such a situation?
That's because with vsync, the game renders more frames that the display can output. This results in every available frame buffer being filled. When that happens, the game stops rendering new frames. By the time those frames make it to the screen, they are based on very old player input.

Using a frame cap makes sure the game does not render more frames than can be output. This means frame buffers stay empty, which in turns means player input is only read when the frame that is generated based on that input is sure to be displayed as fast as possible.

This effect of filled up buffers and old input is known as "vsync back pressure." Frame capping reduces this.

Using a -2FPS cap with vsync is not recommended due to the stutter issue. It's best to use a -0.007FPS cap. RTSS can do that by editing its profile file. Another method is to modify the refresh of the monitor and then cap to a non-fractional frame rate (like using 120.008Hz and capping to 120FPS.) This results in virtually no stutter (there will be a hiccup every couple minutes or so, but this is completely masked by other FPS fluctuations.)
Third question: If the fps is limited to 2 below the refresh rate, then why do you need V-Sync with G-Sync to begin with? Wouldn't G-Sync alone just sit at that framerate/refresh (i.e, 142fps/Hz on an otherwise 144Hz monitor). I thought V-Sync only has an effect when there's tearing from going above the monitor's refresh rate?
This is needed to guard against fluctuating frame times. G-Sync can tear even if the apparent frame rate is within g-sync range. In reality, some frame limiters are not very accurate and produce frame times that are too high followed by frame times that are too low. CS:GO for example has this issue. Enabling vsync solves the issue.

This is not an issue with accurate frame limiters though. RTSS for example does not have this problem; vsync off works just as well.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

User avatar
jorimt
Posts: 2479
Joined: 04 Nov 2016, 10:44
Location: USA

Re: G-Sync 101 w/Chart (WIP)

Post by jorimt » 28 May 2017, 22:13

drmcninja wrote:Does V-Sync with -2 FPS limit work without G-Sync? Meaning, does it work without giving you a lot of input lag?

And if not, why does that work when G-Sync is turned on? Why does V-Sync suddenly stop giving input lag in such a situation?

Third question: If the fps is limited to 2 below the refresh rate, then why do you need V-Sync with G-Sync to begin with? Wouldn't G-Sync alone just sit at that framerate/refresh (i.e, 142fps/Hz on an otherwise 144Hz monitor). I thought V-Sync only has an effect when there's tearing from going above the monitor's refresh rate?

Somewhat different question: Why does Overwatch's internal setting 'Display-Based' under frame limit option use 10 above the refresh rate whereas you're using 2 below?
RealNC already provided accurate answers, but to further answer you, the first three questions will be answered in detail in my upcoming article, input latency results included. The third question is already pretty much answered in my existing article here, though even it will be overhauled with further explanations and corrections when my third article is released:
http://www.blurbusters.com/gsync/gsync101-range/

As for the "somewhat different question," Overwatch's "Display-Based" setting obviously isn't intended specifically for G-SYNC, which stops working as intended when the framerate exceeds the refresh rate, thus the need for an FPS limit below the refresh rate.
(jorimt: /jor-uhm-tee/)
Author: Blur Busters "G-SYNC 101" Series

Displays: ASUS PG27AQN, LG 48CX VR: Beyond, Quest 3, Reverb G2, Index OS: Windows 11 Pro Case: Fractal Design Torrent PSU: Seasonic PRIME TX-1000 MB: ASUS Z790 Hero CPU: Intel i9-13900k w/Noctua NH-U12A GPU: GIGABYTE RTX 4090 GAMING OC RAM: 32GB G.SKILL Trident Z5 DDR5 6400MHz CL32 SSDs: 2TB WD_BLACK SN850 (OS), 4TB WD_BLACK SN850X (Games) Keyboards: Wooting 60HE, Logitech G915 TKL Mice: Razer Viper Mini SE, Razer Viper 8kHz Sound: Creative Sound Blaster Katana V2 (speakers/amp/DAC), AFUL Performer 8 (IEMs)

drmcninja
Posts: 112
Joined: 09 May 2017, 10:26

Re: G-Sync 101 w/Chart (WIP)

Post by drmcninja » 28 May 2017, 22:44

Thanks for the explanations guys!

So... what's the input lag like when using V-Sync, without G-Sync, while frame-capped below the refresh rate? I.e, 118fps cap, 120Hz refresh rate, V-Sync On?

Is it more or less than Fast-Sync? Because I'm wondering what's the point of 300fps, 120Hz refresh, Fast Sync On when I can just do 118fps, 120Hz refresh, V-Sync On...
This is needed to guard against fluctuating frame times. G-Sync can tear even if the apparent frame rate is within g-sync range. In reality, some frame limiters are not very accurate and produce frame times that are too high followed by frame times that are too low. CS:GO for example has this issue. Enabling vsync solves the issue.

This is not an issue with accurate frame limiters though. RTSS for example does not have this problem; vsync off works just as well.
So if I'm reading you correctly, using RTSS means you can just use G-Sync and do not need to enable V-Sync at all? Then why doesn't everyone just do this rather than enabling V-Sync which might introduce extra input lag?

And correct me if I'm wrong, RTSS alone can't help me if I don't have G-Sync, right? I'll need to use either V-Sync or Fast-Sync to get rid of tearing? Or can I set RTSS @ my refresh rate and hope for the best? There's no impact on input lag with RTSS either, right?

User avatar
jorimt
Posts: 2479
Joined: 04 Nov 2016, 10:44
Location: USA

Re: G-Sync 101 w/Chart (WIP)

Post by jorimt » 28 May 2017, 23:25

Thanks for the explanations guys!

So... what's the input lag like when using V-Sync, without G-Sync, while frame-capped below the refresh rate? I.e, 118fps cap, 120Hz refresh rate, V-Sync On?

Is it more or less than Fast-Sync? Because I'm wondering what's the point of 300fps, 120Hz refresh, Fast Sync On when I can just do 118fps, 120Hz refresh, V-Sync On...
Depending on how v-sync is capped, anywhere from 1/2 to 1 frame of accumulated delay in my testing (full results coming in the article) if you limit one or more full frames below the refresh rate, thus the recommendation to set the FPS only a few decimal points below the refresh rate.

Fast Sync is limited by the display's scanout speed and must deliver a single, complete frame at a time, so, unlike v-sync off, those excess frames are not giving you the same type of input latency advantage above the refresh rate. Instead, the excess frames are being used to deliver to the display faster than they would be with double buffer v-sync.

120Hz w/300 fps and Fast Sync is a little over a 2x ratio, which is enough excess frames to get you within a few milliseconds of G-SYNC input latency, but since Fast Sync drops frames, you're not going to get near as smooth frame pacing. But yes, in that situation, it is much better than uncapped double buffer v-sync input latency-wise.

RTSS adds a frame of delay no matter the syncing method, so while you could get extremely close to 120Hz + 300 FPS + Fast Sync input latency levels with double buffer v-sync + FPS limit a few decimals below your refresh rate, and probably better frame pacing to boot, again, you'd have an additional 1 frame of delay from RTSS. You could use the in-game limiter, but then you'd have to limit by a full frame, which would introduce as much recurring microstutter as Fast Sync would, as v-sync would skip a frame roughly every second.
So if I'm reading you correctly, using RTSS means you can just use G-Sync and do not need to enable V-Sync at all? Then why doesn't everyone just do this rather than enabling V-Sync which might introduce extra input lag?
Nope. G-SYNC + V-SYNC "Off" is basically Adaptive G-SYNC; it's will tear, just not all the time. the V-SYNC in "G-SYNC + V-SYNC" is simply a poor label for the toggle that allows frametime compensation with G-SYNC enabled. It ain't really v-sync, and it doesn't introduce extra input lag inside the G-SYNC range, but it ensures G-SYNC shows only one frame at a time.

Again, way more details in my upcoming article. I've been working on it for over a month, so it will be chock full of info and input latency charts.
drmcninja wrote: And correct me if I'm wrong, RTSS alone can't help me if I don't have G-Sync, right? I'll need to use either V-Sync or Fast-Sync to get rid of tearing? Or can I set RTSS @ my refresh rate and hope for the best? There's no impact on input lag with RTSS either, right?
Correct, RTSS will only limit the framerate, it will do nothing to eliminate tearing, and must be used in conjunction with a syncing method.
(jorimt: /jor-uhm-tee/)
Author: Blur Busters "G-SYNC 101" Series

Displays: ASUS PG27AQN, LG 48CX VR: Beyond, Quest 3, Reverb G2, Index OS: Windows 11 Pro Case: Fractal Design Torrent PSU: Seasonic PRIME TX-1000 MB: ASUS Z790 Hero CPU: Intel i9-13900k w/Noctua NH-U12A GPU: GIGABYTE RTX 4090 GAMING OC RAM: 32GB G.SKILL Trident Z5 DDR5 6400MHz CL32 SSDs: 2TB WD_BLACK SN850 (OS), 4TB WD_BLACK SN850X (Games) Keyboards: Wooting 60HE, Logitech G915 TKL Mice: Razer Viper Mini SE, Razer Viper 8kHz Sound: Creative Sound Blaster Katana V2 (speakers/amp/DAC), AFUL Performer 8 (IEMs)

Locked