Question High FPS, stuttering without G-Sync

Sparklepaws

Distinguished
May 26, 2015
7
0
18,510
Hi everyone. Before I rush into my issue, here's a rundown of my specs:
A few days ago I upgraded my old RTX 1070 to an RTX 3070. The card ran great out of the box and I had no problems, so I decided to tweak my system a little. After messing around with things, I started Destiny 2 and something felt off about the framerate. All of my FPS counters were showing variable values between 120 and 170 FPS, but the game appeared to be "stuttering".

Here's a video of the issue (easiest to see at 1080p, fullscreen):
View: https://www.youtube.com/watch?v=e19u_KtZPVc
. Notice the stuttering despite a solid 120 FPS counter on the upper right.

I hesitate to even call the behavior stuttering because it only occurred while moving or rotating the camera, but the visual FPS definitely didn't match what my counters were saying.

I tried a few solutions and two seem to work each time:
  • Performing a system restore to an earlier point.
  • Turning on G-Sync in the Nvidia Control Panel.
All other options (including but not limited to reinstalling drivers, reseating hardware, manipulating background programs, restarting etc) had no effect.

I'm almost certain that before this incident began I did not have G-Sync enabled, but I do recall running into an issue months ago where having it disabled would cause my monitor to flicker uncontrollably without any programs running until it was switched back on.

This is an issue I'm completely unfamiliar with, I can't fathom what would cause visible stuttering without FPS loss. If anyone has answers, suggestions or comments I would love to hear them!
 

Cyberat_88

Distinguished
It's your setup not G-Sync. Do have it on, it works well but not for the FPS.
Your problem is a miss-configuration between your monitor vertical refresh rate & the old 60hz V-Sync (for old LCD monitors).
  1. Setup your monitor to 120hz (if you can, if not anything higher than 60hz).
  2. Disable V-Sync in drivers and in games (all of them).
  3. Enable Enhanced Sync (AMD), Fast Sync (nVidia) or might show as Adaptive but Fast is better, in drivers.
  4. Optional cap the FPS in game profile to 120FPS or whatever number you setup your vertical refresh in (1).
Hope this helps.
 
  • Like
Reactions: Sparklepaws

Sparklepaws

Distinguished
May 26, 2015
7
0
18,510
It's your setup not G-Sync. Do have it on, it works well but not for the FPS.
Your problem is a miss-configuration between your monitor vertical refresh rate & the old 60hz V-Sync (for old LCD monitors).
  1. Setup your monitor to 120hz (if you can, if not anything higher than 60hz).
  2. Disable V-Sync in drivers and in games (all of them).
  3. Enable Enhanced Sync (AMD), Fast Sync (nVidia) or might show as Adaptive but Fast is better, in drivers.
  4. Optional cap the FPS in game profile to 120FPS or whatever number you setup your vertical refresh in (1).
Hope this helps.

Thanks for the reply! I'm at work so I'm unable to try your solution yet, but I do have some questions in the meantime.

Before that, I just want to make sure that we're both on the same page: G-Sync fixes the problem I'm having, it doesn't cause it. My problem is with stuttering, not tearing or FPS. My monitor is 144hz and set to run at that refresh rate, my FPS is always great (easily 120 all the time). V-Sync being on/off has no effect on the stutters.

With that in mind, my first question is about clarification. Could you elaborate on what you mean by misconfiguration? I was under the impression that V-Sync, G-sync/Free-sync and Fast Sync are ways to combat screen tearing, not stutters. Part of my confusion is based on this premise because I can't understand how toggling G-Sync on and off would fix a stutter; it isn't a tearing issue.
 
Last edited:

Cyberat_88

Distinguished
G-Sync is for making sure your HDMI coordinates timely with the GPU & everything is transmitted in the proper time.
However, Sync as the name says, means you have ways of bypassing that coordination, from drivers or from inside a game.
The primary malfunction is screen tearing, but inside games, the secondary malfunction is FPS afflictions.
The danger here is games running too fast (faster than developers intended). The new sync that keeps up with it all is Fast/Enhanced or Adaptive.
144hz is the max. I would push on any game, I run 120hz myself to soften the speedup on some older games I like.
Just go through the guide and you should be fine. V-Sync however was designed at a time when 60hz was the norm/tops & will cause problems.
 

Sparklepaws

Distinguished
May 26, 2015
7
0
18,510
G-Sync is for making sure your HDMI coordinates timely with the GPU & everything is transmitted in the proper time.
However, Sync as the name says, means you have ways of bypassing that coordination, from drivers or from inside a game.
The primary malfunction is screen tearing, but inside games, the secondary malfunction is FPS afflictions.
The danger here is games running too fast (faster than developers intended). The new sync that keeps up with it all is Fast/Enhanced or Adaptive.
144hz is the max. I would push on any game, I run 120hz myself to soften the speedup on some older games I like.
Just go through the guide and you should be fine. V-Sync however was designed at a time when 60hz was the norm/tops & will cause problems.

I've been testing your suggestion for the past few hours and there's definitely an improvement. That said, G-Sync still provides a better experience when it's enabled.

I went ahead and downloaded MSI/Riva to see what was happening under the curtain. After starting a frametime graph I could see definite frametime stutters. So I switched each sync setting on and off independently:

All syncs off: Lots of stutters.
V-Sync on: Lots of stutters.
Fast-Sync on: Much less actual stutters, slightly less visible stutter.
G-Sync on: Almost no actual stutters, very smooth visible gameplay.

I began noticing that in every test, big stutters correlated with large FPS fluctuations. This reminded me of a YouTube video I had seen by Battle(non)sense on the topic, where he suggested limiting FPS until the frametime became stable. With this in mind I changed my refresh limiter in Riva from 140 to 120, since my FPS was running around 110 to 115 and only occasionally spiking to 140. The results were immediate, most of the stuttering stopped. I applied a soft overclock to my card to squeeze out the extra 10 FPS and changed some settings in my games to lower the resource cost. Everything is buttery smooth.

I'm happy with the performance now. For anyone else seeking answers, try Cyberat_88's suggestion. If that doesn't work, feel free to replicate my changes (compiled below).


Programs utilized
  • MSI Afterburner
  • RivaTuner Statistics Server
  • Nvidia Control Panel
  • Motherboard BIOS

Nvidia Control Panel settings
  • Cuda - GPUs > All
  • Low Latency Mode > Off (On if you're using V-Sync)
  • Monitor Technology > G-Sync Compatible
  • OpenGL Rendering GPU > [Select your GPU]
  • Power Management Mode > Prefer Maximum Performance
  • Preferred Refresh Rate > Highest Available
  • Shader Cache Size > Driver Default
  • Texture Filtering - Trilinear Optimization > On
  • Threaded Optimization > Auto
  • Triple Buffering > Off
  • Vertical Sync > Use the 3D Application Setting

RivaTuner Statistics Server
Before messing with Riva, find your baseline FPS. To do this. place an FPS counter on your screen and play some games or run a GPU benchmark. Keep an eye on the most consistent value. For example, if you notice that most of your games stick around 120 FP, that's your baseline.

This value may change depending on the game you're playing. The goal is to discover an FPS you're happy with that the GPU can consistently provide.

  1. Open RivaTuner.
  2. Input your baseline FPS into the field beside "Framerate limit".
  3. Restart your game/benchmark to test.
If you still notice frequent stuttering, or your FPS seems to always drop more than 10 frames below your baseline, lower the baseline in RIva by 5 and try again. Alternatively you can gain more frames by adjusting the graphics settings in your game. Popular choices for this are lowering shadow quality, ambient occlusion, motion blur and depth of field. In extreme cases, lowering the resolution can provide a very quick and immediate solution to reclaim tons of FPS.

MSI Afterburner is capable of overclocking your GPU, but do not attempt this unless you know what you're doing. I'll provide my settings for reference, but unless you own an RTX 3070 I wouldn't recommend copying them. Always follow a guide.

  • Core Voltage > +50%
  • Power Limit > Max
  • Temp. Limit > Max
  • Core Clock > +100Mhz
  • Memory Clock > +800
This is generally considered a safe overclock for the RTX 3070 and you shouldn't see temperatures higher than 76 degrees, which is well within operating limits. For me, this brings my FPS up by +10, sometimes +15.


Additional changes
I cannot confirm whether these additional changes had any impact on solving my stutter. They are worth trying if the above solutions failed. All modifications were made within the motherboard's BIOS.

  • Enabled XMP (Extreme Memory Profile) for RAM.
  • Disabled TPM (Trusted Platform Module), it's been known to cause stuttering on the x570.
  • Disabled Precision Boost for CPU (was running at 95 degrees with 40% usage).
  • Updated BIOS (LAST RESORT, don't do this unless you have to).

Final comments
Your system is unique, even if it's an exact replica of mine. Your components will behave differently under stress and will in turn respond differently the these solutions. Take them one step at a time.

Remember, sometimes the simplest solutions are the best. In scenarios where high FPS brings along stutter, simply limiting that FPS may solve your problem. Enabling Fast-Sync or even V-Sync may fix it. Attempt the easy stuff before moving on to the complex nonsense, hopefully you won't need it.
 

Cyberat_88

Distinguished
I was suggesting you use both G-Sync & Fast Sync. In tandem they should solve most of it.
But yes, Bios optimizations matter, if it's that bad. I cannot however know all Bios settings that are out there.
HPET OFF from I heard from Intel Users is only effective for AMD CPUs.
 
  • Like
Reactions: Sparklepaws

Sparklepaws

Distinguished
May 26, 2015
7
0
18,510
I was suggesting you use both G-Sync & Fast Sync. In tandem they should solve most of it.
But yes, Bios optimizations matter, if it's that bad. I cannot however know all Bios settings that are out there.
HPET OFF from I heard from Intel Users is only effective for AMD CPUs.

Sorry, I should have mentioned that I did test G-Sync + Fast-Sync (both on) as you suggested. The experience was exactly the same as when I had G-Sync enabled solo, which is probably because I had a limiter on my max FPS. Since it was never able to climb above my monitor's refresh rate I don't think G-Sync ever shut off in favor of Fast Sync. I'm guessing this combination would best be utilized when using uncapped framerates, perhaps when your GPU provides stable output equal to your monitor's hz?

I've actually never heard of HPET, but after some research I'm convinced it would be a good idea to disable it once I'm back in front of my PC; especially considering that I have an AMD CPU. Thanks for the tip!