G-Sync's 1ms Polling Rate: My Findings & Questions

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.
Post Reply
User avatar
jorimt
Posts: 2481
Joined: 04 Nov 2016, 10:44
Location: USA

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by jorimt » 13 Nov 2016, 17:18

lexlazootin wrote:I took the high speed from work a week ago to do the test because i have no idea what you're on about but i forgot the SD card and i kept on forgetting it, finally took the time to remember it and my brother is leaving for NZ today and is taking the cameras :lol:

So if someone else cares they can do it :)
Well, that's both ironic and unfortunate. Appreciate the attempt nonetheless.
(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)

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by Sparky » 13 Nov 2016, 17:48

jorimt wrote:I'll do you one better than a text reply.

For the record, I'm using a Corsair Vengeance K65 compact mechanical gaming keyboard with a reported 1ms response rate, and a Razer Deathadder Chroma mouse at 800 dpi/1000 Hz on a i7-4770k/980 Ti with the Acer Predator 27" XB271HU 144 Hz (165 Hz overclockable) G-Sync monitor. Overdrive is set to normal, G-Sync mode to fullscreen only.

I captured the below footage with a Samsung Galaxy Note 3 rear camera in 120 fps slow motion @720p. Not at all optimal, but it should give you a better idea on what's happening with G-Sync + V-Sync off at a certain framerate.

For the purposes of the video, I set the monitor to 120 Hz, and the in-game cap at 118 fps:
https://youtu.be/XfFG1r7Uf00

The behavior, regardless of the native refresh, is consistent. The display stops tearing screen wide and limits itself to the bottom at 144 Hz around the 142 mark. For 100 Hz, it's around 98 fps. 165 Hz is around 162 fps.
Looking at that video, it seems like the tear doesn't show up on every frame, and the ones that do show up aren't all in the same place, so I'm guessing the tearing is caused by inconsistency in frame time. Like 120hz is 8.33 ms per frame, and the framerate cap is targeting an average of 8.47ms per frame, but the individual frame intervals might range between 8ms and 9ms each, and anything below 8.33ms will cause a tear.

It depends on how the framerate cap is implemented, Say you have a frame that has to load an asset and takes a long time, on the very next frame the limiter sees you're below the target framerate, so it won't stall the game engine as long, so that next frame can finish much faster than average.

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

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by jorimt » 13 Nov 2016, 18:19

I understand what you're saying.

The training area in that video is good for testing, because there isn't a lot of background asset loads or sudden frametime spikes, otherwise, you'd be seeing the full screen tear that happens below the G-Sync range. And again, if you aren't looking for it, the tearing is pretty hard to spot; players aren't usually looking at the bottom of the screen.

Do note, what the video exhibits happens with RTSS as well. The only difference is that RTSS has a much more stable frametime cap than most in-game solutions (less drift), and thus doesn't need as low as a cap to diminish or eliminate the tearing.

So, does this further confirm my theory about the 1ms padding needed to eliminate tearing in this range due to the polling rate, or is it inconclusive (e.g. if the polling rate disappeared, tearing would only occur below the G-Sync range)? And where does that leave the G-Sync + V-Sync on behavior in regards to masking the tearing and possible increase in input latency in the same range?

EDIT: I can capture a video in the same scenario with an RTSS limit, if will help further.
(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)

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by Sparky » 13 Nov 2016, 18:52

I would say g-sync with v-sync in that range is fine, instead of tearing, that single frame will get delayed by the time it takes the scanline to go from the location of the tear to the bottom of the screen. As long as the average framerate is below what the monitor is capable of displaying in g-sync mode(call it 142fps at '144 hz'), the delay won't build up to multiple frames of latency, it will just stay around until the tear would have disappeared in the gsync on vsync off case.

If I was using g-sync I'd cap framerate at 140fps in game, and leave vsync on as the fallback case.

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

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by jorimt » 13 Nov 2016, 22:22

That would makes sense. I appreciate the insight as always.

I assume you recommend an in-game cap of 140 because of the aforementioned frametime drift. I'm sure an RTSS cap of 142 would also be sufficient, sans the increase of 1 frame input latency. It's a shame there isn't a latency free alternative for games that don't feature built-in limiters (which there are a lot of), but it is better than Nvidia Inspector in a pinch, at least.

So I guess we can agree there is a mechanism that compensates for that 1ms polling window with V-Sync on. Obviously, G-Sync was always intended to work alongside V-Sync for both that purpose and as a fallback under the minimum refresh range.

This means, once and for all, G-Sync + V-Sync off is actually the worse option, at least when it comes to staying within the full 100% tear free G-Sync range. And ironically, it also means those average G-Sync users that proclaim the V-Sync off combo is "broken" are more correct than they know, just not for the reasons they think. Now if I can convince them that G-Sync + V-Sync on isn't broken, and doesn't add any additional latency if set correctly. *Sigh.* Good luck me.

It's a shame Nvidia made the frankly stupid decision to expose the V-Sync off option the way they did in the first place, and worse yet, they most recently made V-Sync's default setting "use 3D application setting" with G-Sync enabled. It has caused way too much confusion, and in turn, created a lot of misinformation since.

I've tried to pm Nvidia's @ManuelG (support), as well as engage with him on the official forums, but he's been silent as the grave.

Finally, if anyone else viewing this thread has the capability and the interest, a thorough "G-Sync + V-Sync on" latency test in the 120-144 range would be very appreciated. Theory is great, but proof is better.
(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)

Samhain
Posts: 23
Joined: 17 Dec 2013, 16:11

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by Samhain » 15 Nov 2016, 00:10

Couple of questions...

1. Can you post the recommended settings for a 90 Hz monitor?

2. So is the V-Sync FAST (via NCP) setting pointless?

3. What is RTSS?

Thank you for getting to the bottom of this confusing topic!! :)

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by Sparky » 15 Nov 2016, 00:27

Samhain wrote:Couple of questions...

1. Can you post the recommended settings for a 90 Hz monitor?
I'm not aware of a 90hz G-sync monitor. Is this fixed refresh rate, freesync, or just a g-sync monitor I haven't heard of?

If it's freesync or g-sync, cap framerate in game at say 86fps. If it's a fixed refresh rate monitor, well, I'm more tolerant of tearing than judder or input lag, so I use vsync off, and cap framerate if it keeps me from becoming gpu limited.
2. So is the V-Sync FAST (via NCP) setting pointless?
For g-sync, yes, as you should be capping framerate inside the VRR range. It has some utility with ULMB.
3. What is RTSS?
rivatuner statistics server

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

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by jorimt » 17 Nov 2016, 13:05

Quick question @Sparky,

After reading some documentation on my Note 3, it appears it can record 720p slow motion video at 240 fps. I did three tests in CSGO recording the screen and my mouse. As soon as my finger depressed the left button, I counted frames until I saw the very beginnings of the gun's muzzle flash. I repeated this until the clip was empty.

I then added up all the shots per video (about 18) and divided them by the total.

Test #1 @144hz, G-Sync + V-Sync on, no fps cap:
4.4 frames on average / 240 fps = 4.1ms per frame x 4.4 = 18.04ms

Test #2 @144hz, G-Sync + V-Sync on, 142 (140 effective) fps cap:
2.7 frames on average / 240 fps = 4.1ms per frame x 2.7 = 11.07ms

Test #3 @144hz, G-Sync + V-Sync on, 120 fps cap:
2.5 frames on average / 240 fps = 4.1ms per frame x 2.5 = 10.25ms

I realize this is a really rough, if possibly pointless way of testing input latency. Also, those final numbers seem impossibly low; I'm probably not calculating something correctly. Even if I do end up calculating this correctly, can this at least give a ballpark estimate in a pinch?

All I really want to establish is that there is no input latency difference between a 120 fps and 142 fps cap with G-Sync + V-Sync on.
(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)

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by Sparky » 17 Nov 2016, 14:00

Test 1 seems low, that should be at least 30ms for uncapped v-sync. Maybe Nvidia automatically enables a framerate cap?
Tests 2 and 3 are plausible enough I think you got the math right, though the camera could be missing up to 8ms of latency depending on how long the shutter is open for each frame.

There's also the question of the mouse's actuation point vs when you start counting, and the time the switch takes to actuate. Are you counting from when the switch is fully depressed, when your finger touches it, or somewhere in between?

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

Re: G-Sync's 1ms Polling Rate: My Findings & Questions

Post by jorimt » 17 Nov 2016, 14:26

I know, test #1 seems really low. Yes, I probably only have a total of 5-7ms monitor+mouse input latency with this setup, and multi-core rendering is disabled in CSGO, but it should still be higher. RTSS shows 143.0+ish fluctuating in the fps counter, and never reaches 144 solid uncapped, but I thought that was a simply rounding error.

I'm holding the mouse sideways and tapping very quickly and really hard at the edge (lifting my finger fully and immediately after the click), where the soft plastic of the mouse button is pretty easy to make out when depressed. Currently, I count a frame after the depression is made, or when the flexion of my index finger begins (sometimes I can't make the latter out). I'm using QuickTime for the videos, so jumping a single frame back/forward is easy.

Rough or no, as long as you say my math is right (I thought for sure I was getting the 144Hz/240 fps thing wrong somehow), it likely confirms that (within margin of error), there's virtually no difference between a 120 fps and 142 fps cap with G-Sync + V-Sync on, at least in CSGO. If that's the case, it's unlikely there's a difference between that 120-142 fps range either. Basically, as long as you're avoiding V-Sync behavior, the only thing that's going to vary is the game and the fps cap method used.

I'll retest a few times to make sure.

I'm currently in the process of creating a G-Sync "101" guide, and an extended legend of my chart for the layman G-Sync user, which I'll be posting here as a draft for proofing soon. I want to make sure I have all my facts right before I begin posting it anywhere else.
(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)

Post Reply