G-Sync - Double Buffer Issue

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

Re: G-Sync - Double Buffer Issue

Post by jorimt » 19 Feb 2019, 14:01

Nemesis2K wrote:I have it set to full screen and windows gsync. I haven’t changed any registry settings as it’s a new build. I have game dvr, game bar on but game mode is off. I haven’t tested without gsync and Vsync yet.
Yes, try to test that same scene/scenario with G-SYNC off and V-SYNC off (both in the NVCP and in-game). If the issue still occurs like it did in your video with both off, then you'll know it isn't G-SYNC or V-SYNC related.

As for your game bar/DVR/Mode settings, mine are reversed; Game Mode on, other two disabled. The DVR process has historically been known to cause more frametime spikes/framerate drops in certain games, but behavior can vary.

I'd try the G-SYNC/V-SYNC off scenario first.
(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)

Nemesis2K
Posts: 8
Joined: 19 Feb 2019, 05:39

Re: G-Sync - Double Buffer Issue

Post by Nemesis2K » 19 Feb 2019, 16:31

Ok, I am home now so I can actually compile a proper response.

For clarification.
  • I have reverted NVCP to default.
    I have disabled Game Bar and DVR.
    I have enabled Game Mode.
    All background resources have been closed via task manager. (Aura lighting software, Logitech speaker lighting software, Steelseries KB&M lighting software. The only thing running in Windows during these tests are Afterburner and RTSS).
    In game graphical settings are all at Mythical and I am running at 3440x1440.
To test I am booting into an outpost and running around it for 5 minutes. Note: some outposts are more resource hungry than others (plunder outpost for example), also weather will play into it. This will explain some of the min frame rate results.

G-Sync: Off - V-Sync: Off (In Game and in NVCP) - Max FPS 117, Min FPS 111, AVG FPS 116 - Apart from the full screen tearing it runs well.

G-Sync: Enabled (for windows & full screen) - V-Sync: Off (In Game and in NVCP) - Max FPS 117, Min FPS 97, AVG FPS 108 - Apart from the small amount of tearing at the bottom of the screen it runs well.

G-Sync: Off - V-Sync: Enabled (Disabled in game and enabled In NVCP) - Max FPS 117, Min FPS 60, AVG FPS 65 - Double frame buffer setting in game but V-Sync in game was off. Basically unplayable. Constantly bounced between 60-117 but mostly around 60s/70s.

G-Sync: Off - V-Sync: Enabled (Enabled in game w/double buffer and let 3D application decide In NVCP) - Max FPS 117, Min FPS 60, AVG FPS 65 - Basically unplayable. Constantly bounced between 60-117 but mostly around 60s/70s.

G-Sync: On - V-Sync: Enabled (Enabled in game w/ double buffer and let 3D application decide In NVCP) - Max FPS 117, Min FPS 80, AVG FPS 110 - Basically perfect except for 4 drops in 5 minutes to 80fps for a split second. Even when sitting still like in the previous video I posted. Constantly bounced between 105-117 but just those random interrupts where the frame times spiked.

G-Sync: On - V-Sync: Enabled (Enabled in game w/ triple buffer and let 3D application decide In NVCP) - Max FPS 117, Min FPS 103, AVG FPS 114 - Seems to run perfect.

G-Sync: On - V-Sync: Enabled (Disabled in game w/ double buffer and enabled In NVCP) - Max FPS 117, Min FPS 60, AVG FPS 110 - Runs terribly, it will be fine for a while then I will get sudden drops to 60fps for a second or two. This happened 10 times in about 9 minutes (ended up spawning on an island with a boat at it, so went for some PVP, love this game btw.)
Basically this was the same as the video I posted.

G-Sync: On - V-Sync: Enabled (Disabled in game w/ triple buffer and enabled In NVCP) - Max FPS 117, Min FPS 104, AVG FPS 115 - Seems to run perfect.

Every time I tested with G-Sync on I was playing in full screen and had the notification.

Bonus Test @ 100fps cap
G-Sync: On - V-Sync: Enabled (Disabled in game w/ double buffer and enabled In NVCP) - Max FPS 100, Min FPS 60 - Runs terribly, it will be fine for a while then I will get sudden drops to 60fps for a second or two. This happened 4 times in about 2 minutes. Same as if I was running at 117fps

Image

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

Re: G-Sync - Double Buffer Issue

Post by jorimt » 19 Feb 2019, 17:45

Without opening a pandora's box here, and without being able to test this on your specific system directly, this is what I can say with the information you have provided thus far...

Your first four scenarios are all as expected.

The fifth scenario is in line with what is known as well; G-SYNC + V-SYNC must adhere to the VBLANK at all times, and G-SYNC + V-SYNC off does not.

This means while both start delivery of each frame scan at the very top of the screen (and then continuously downward), G-SYNC + V-SYNC off will let the next frame scan start within the previous frame's scan for frames that are ready a bit too early (bottom tearing) or way too late (frametime spikes = full tearing).

During frametime spikes, where frames are ready too late, G-SYNC + V-SYNC can result in increased duration of each frametime spike, as to completely avoid tearing, whereas G-SYNC + V-SYNC off will just fully tear in these instances to deliver the same frame(s) as fast as possible.

What is odd is that G-SYNC + in-game V-SYNC is exhibiting less stutter/higher average framerates for you during frametime spikes when compared to G-SYNC + NVCP V-SYNC (which is possibly just due to randomized frametime spike occurences between sessions), and why the spikes seem to be as short as they are with G-SYNC off + V-SYNC off when you use G-SYNC + in-game triple buffer.

Without testing this directly myself, while I'm not saying this is actually the case, I can only assume the game's engine is adding further buffers (maybe even internally increasing the pre-rendered frames queue) in both instances. This would smooth out and reduce frametime spikes at the cost of increasing input lag by a frame or two.

That said, frametime spikes will cause stutter, V-SYNC, G-SYNC, no sync, period.

Since frametime spike occurrence is so random (and short of the expected standalone double buffer V-SYNC effect separate of G-SYNC, this is what seems to be making the difference for you in the remaining scenarios), I suggest you play the game regularly for a while with G-SYNC off + V-SYNC off (both in-game and in NVCP), just to more objectively experience the fact that even with G-SYNC/V-SYNC off, frametime spikes can still cause visible stutter, which may help you better discern the differences in its occurrence and duration when directly compared to the G-SYNC scenarios.

FYI, I get frametime spike stutter (sometimes up to a half/second) with G-SYNC + V-SYNC "On" as well. Some games are better, and some games are worse in this regard.

Beyond that, if you want to ensure the lowest possible input lag while retaining most of the benefits of G-SYNC and reducing the duration of frametime spikes, use G-SYNC + V-SYNC off (both in-game and in NVCP), or go ahead and risk using G-SYNC + in-game triple buffer V-SYNC, which apparently may improve frame pacing in this specific game with G-SYNC during frametime spikes at the possible risk of increased buffering (e.g. more possible input lag).
(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)

Nemesis2K
Posts: 8
Joined: 19 Feb 2019, 05:39

Re: G-Sync - Double Buffer Issue

Post by Nemesis2K » 19 Feb 2019, 18:16

I played a little bit there with G-Sync on & V-Sync on in game w/ triple buffer. Worst drop was 82FPS, second lowest was 102FPS. I was sailing between islands in the Devils Roar, so it got a bit of a workout.

Image

The only issue I notice is when the framerate hangs around the 100s I get the infamous G-Sync flicker. When its 110+ it doesn't appear. But the framerate overall is pretty stable, I get the odd hitch when it drops quickly but that is expected. The input lag is of no consequence to me in this game and I don't think I am keen eyed enough to even notice it. So it wont be much of a concern.

I will post a graph tomorrow when I play G-Sync & V-Sync off. Are you able to post a graph of your own as you normally play, if you get a chance, to compare what I am looking for/at.

Thanks again for taking the time out to help, this stuff can be a fickle beast.

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

Re: G-Sync - Double Buffer Issue

Post by jorimt » 19 Feb 2019, 18:34

Nemesis2K wrote:The only issue I notice is when the framerate hangs around the 100s I get the infamous G-Sync flicker. When its 110+ it doesn't appear.
G-SYNC "flicker" is highly panel/model specific. I have an IPS-type G-SYNC panel, and only get minor flicker when the FPS is below 30 FPS (like on some loading screens with specific background colors).
Nemesis2K wrote:Are you able to post a graph of your own as you normally play, if you get a chance, to compare what I am looking for/at.
I could, but since the issue with frametime spikes and G-SYNC is display-side (G-SYNC intercepts, processes, and times frame delivery with the module after the frames have left the system), it won't show on graphs, only in person. Our systems specs are a bit different as well, so the graphs would vary anyway (heck, even on the same system from game session to game session).

It should also be noted that Afterburner only pings for frametime/framerate changes every second (at default at least; lower ping levels can mess heavily with system performance), so you're only getting a rough idea of your average frametime usually.

In fact, your eyes are really a more accurate/effective detector: do I see stutter, or don't I? Do I detect it occuring less often or more often? Do I feel each instance lasts a longer amount of time or a shorter amount of time?

That's all that really matters in the end, what you experience, what you see, what you process; same goes for input lag, generally.
Nemesis2K wrote:Thanks again for taking the time out to help, this stuff can be a fickle beast.
Indeed ;)
(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)

Nemesis2K
Posts: 8
Joined: 19 Feb 2019, 05:39

Re: G-Sync - Double Buffer Issue

Post by Nemesis2K » 21 Feb 2019, 19:40

So I pulled out all the stops today, I formatted my PC. Upon installing Windows 10, I installed the latest NVidia drivers and Sea of Thieves only. The drops still happened.

Although...

I found that the drops didn’t happen in a window, even if the window was sized the full screen/resolution. Then while in widowed mode, if I switch windows to tablet mode, it goes into full screen, with gsync, and Vsync double buffer. No random drops to 60.

I’m confused. Something about my monitor/gsync doesn’t like their version of “Fullscreen”? This is the only game I’ve got this problem in.

Any ideas what’s going on?

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

Re: G-Sync - Double Buffer Issue

Post by jorimt » 21 Feb 2019, 20:01

Off the top of my head? Nope. Probably game-specific.

With G-SYNC + V-SYNC it's definitely not a double buffer lock (you experienced the real thing with standalone double buffer in one of your scenarios), but instead, is caused by frametime spikes (asset loads and/or random network activity triggering the drop).

Causes of frametime spikes vary wildly (https://www.blurbusters.com/gsync/gsync ... spikes-101), and are often specific to the system, game, or a combo of both.

One thing that can influence seemingly randomized severity of frametime spikes from game session to game session is the Nvidia "Shader Cache" setting, which reduces asset loading (HDD/SSD access) related frametime spikes. However, it has a very small cache size (around 250 MB), so it purges/overwrites depending on what games you play. This can give the appearance of a smoother experience in one session, and then in the very next, you'll wonder why it's so bad, or visa-versa.

It's enabled by default. To better replicate the frametime spike issue you're experiencing, you could disable it temporarily for more consistency from session to session and scenario to scenario.

Speaking of replication, other than setting it to G-SYNC + double buffer V-SYNC, what are the conditions you're having to meet to trigger this, and how long has your average session/activity variation been?

If I can replicate it, I may be able to give you a better idea on how normal it is, and what you should be expecting.

FYI, whatever this ends up being, frametime spikes aren't 100% avoidable in any configuration in modern games.
(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)

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

Re: G-Sync - Double Buffer Issue

Post by jorimt » 23 Feb 2019, 09:48

Oh, and if you haven't already, you can try setting "Power management mode" to "Prefer maximum performance" (disables adaptive GPU power management, and ensures GPU clock at max) in the NVCP, and temporarily set your Windows "Power Options" power plan to "High Performance" (disables any adaptive CPU power management, and ensures CPU clocks are always at max) to see if either improve the situation, and reduce the frametime spikes you are seeing in that game.
(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