Troubleshooting scenery stutters on high-end hardware (RTX 4090 / 5900X / Reverb G2)

Have you tried disabling HPET? I still think the stutters are related to issues with Windows and timers. On mine I disable HPET, and use ISLC to lock the system timer to 1.00 ms.

Same problem with a 4090 and 12900k ghz with 3600Mhz ddr4 Ram 32gb.
It seem that lowering the TLOD to 250 helped a bit tough.
I did not test much tho.

1 Like

HPET disabled. But I don’t know about ISLC, will google it…

My LOD is at 100 :slight_smile:

@RomanDesign Hi Roman. I know we’ve chatted about this before, but I wanted to share my latest attempts and settings in the quest to tame the MR/stutter beast.

I know exactly the stutter you’re talking about. It’s a translational thing, coming from scenery loading clashing with the main thread I think. It almost never happens if you just do loops around the same tight area. As soon as you start traveling any real distance over the ground though it comes to haunt your MR dreams.

It happens for everyone, VR or not, but most don’t notice it I think unless they’re using MR in VR. Most people lose a single frame here and there when it happens, easy to miss, but we lose 3 frames, and then the MR basically falls down the stairs and has to resync after that, so it’s pretty irritating visually I know.

Unless something changes in the way scenery is loaded in the sim I don’t think it’s currently possible to cure it entirely, but it can be mitigated in three ways. The first is hardware of course (5800x3d or 7800x3d). The second is our old enemy TLOD. The lower you set it the less severe and shorter the stutters are. And the third is minimizing the length of the staircase that MR falls down through a combination of fps locks.

This is what I do currently that gives me the best and smoothest result…

I run Rivatuner Statistics Server (RTSS) for primary framerate locking, and ISLC to keep the memory clean, both started before the sim.

RTSS Settings:
Framerate Limit: 30
Enable 64 bit applications: checked
Enable framerate limiter: async
Enable passive waiting: unchecked

ISLC Settings:
Enable custom timer resolution: checked, and set to 1ms
Purge when list size is at least: 1024mb
Purge when free memory is lower than: 64000 (so it always purges every at every 1gb)

Nvidia control panel settings:
Prefer Maximum Performance
Threaded Optimization: off
Vertical Sync: force ON
Low latency mode: off
Max frame rate: off

Sim settings:
TLOD: 100 (or whatever your machine can handle)
DLSS quality or balanced (or whatever works for you)
low latency: off
vsync on, 100%
The rest as you like

OXR Toolkit settings:
Reprojection mode ON, 30 fps lock
Framerate lock: off (option gets removed with repro on anyway)
The rest as you like

These settings give me a very smooth 30 fps locked MR experience everywhere, even over photogrammetry cities, with only the occasional unavoidable scenery load microstutter, but even looking out to the side these are much reduced in severity.

Each fps lock (RTSS and OXRTK repro lock) have their individual issues. The RTSS one works great by itself until there’s a scenery stutter and then the async trips over itself trying to catch up. The OXRTK reprojection lock doesn’t have that resync issue but has a constant 15 fps microstutter when engaged on its own. You have to really look for it but it’s there. The two of them combined though, with vsync forced on in the driver, is nearly perfect.

Oh and this is on a 3090 btw, but with an absolute potato cpu, a nine year old skylake i7-6700k. :wink: With your rig you should be able to get much better results.

After writing all that I think I can actually hear Matt screaming at me. The only thing he’d hate more than seeing one fps lock is seeing two of them. :wink:

Give it a try though, nothing to lose!

BTW: I’ve also gone down the Special-K dll injection route, and there is real potential there, with far more granular control over fps locking than even RTSS provides, but it’s extremely hard to fine tune. RTSS is good enough, and easier to deal with. I’ll keep messing with it over time though.

Edit: Forgot to mention DX11 currently gives me the best results with SU11 beta for this. DX12 was top dog back in SU10 beta 1, but it’s kind of been getting a bit worse ever since, lots more stutters in general. DX11 still has its one native stutter to deal with, that annoying 180 degrees from sun angle thing, which DX12 does not. Hopefully one day DX12 can take over for real.

5 Likes

Thanks for a great and thorough answer, I will definintely try all your settings, they make sense.

Just learned about this one. Why 1ms though? Most gamer resources say 0.5ms is best. Is it something unique for MSFS?

Can NVCP fps lock be used instead of RTSS? I’m just thinking why use one extra service when NVCP alsready has that functionality. Or is there a reason to use specifically RTSS?

@RomanDesign No particular reason for using 1ms, try whatever you like. That number just works for me.

Yes RTSS has muuuch more accurate control over the fps lock than the driver, down to 3 decimal places vs driver whole number only, and gives different lock point options (start of frame, end, or asynchronous). Worth trying each, but FS is so variable in frame times that I find only async usually works well over a long session. Also you can change the fps lock on the fly with RTSS. With the driver you have to quit and restart the sim to change it.

I tested your settings. I can’t really say that it’s definitely better, but I think all steps I taken over the last couple of days, together with your settings, do mitigate the problem somewhate. Stutters are not gone, and sometimes there are even big ones, when I see scenery not just freezing for a moment, but kind of snapping back in time for a frame or so. But overall it seems like the stretches between stutters are longer now, and most stutters are smaller.

I guess I’ve done all I could at this point. I’ll have to wait for either the Asobo to fix this, or 7800X3D to be available, which probably also only going to mitigate the problem more, but still not really eliminate it…

@RomanDesign Can you confirm those settings I listed in RTSS? The 64 bit and async, are pretty important. The “enable passive waiting” setting is something you can play with, it just changes how the lock handles late or dropped frames.

Also if you start RTSS after the sim you might need to click in and out of the MSFS window a couple times before it kicks in. If you have your fps counter up you’ll see when it happens.

Yes, did it exactly like you said. Not just RTSS, everything. I then played around with RTSS and OXRTK settings on the fly. I see the limiting happening. It doesn’t make a lot of difference for me. Even set to unlimited everywhere - I see about the same stuttering-wise. Because the stutters are random and vary in severity it’s very subjective and difficult to actually measure. I think they are slightly better now but it’s difficult to say… All I can say is that they are still there. Possibly they are mitigated a bit. I’m testing in a challenging situation (730 low over Manhattan area and then flying north, with significant low clouds). Acheiving steady 30+fps MR (I usually see 25-34% overhead if I lock) with TAA in native Reverb G2 resolution is a formidable achievement. FPS hold fine, it’s just those annoying stutters… I will see what happens in a GA aircraft in a more normal area. Hopefully those are mitigated even more to not be very noticeable. I guess I’ll have to tolerate them in 737 in dense areas at least, but I’ll keep experimenting…

I had similar problems. After plugging my Reverb G2 from the front USB 3.2 gen 1 Type C port to my shiny new USB 4 at the back and additionally switching to DirectX12 (that made my scenery stutter go away), I got really good performance with my new RTX4090 suprim x and a Ryzen 7 7700x

I don’t have the regular stutters as you suggest. I have a 5800x and 6900xt with a Reverb G2. Here’s a few suggestions to try.

  • In the past turning off SMT in the bios has helped. I don’t need to do it now using DX12 but with DX11 it made a difference. I get the same performance on or off with DX12 but give it a try.
  • Raise your TLOD. I get better performance the more my CPU and GPU are balanced. Raising TLOD has done that for me. I’m at TLOD 250 now.
  • Try lowering you trees, grass, and buildings settings. I’m at medium for all 3 but they have an impact on stutters so play with them.

I also suggest you use CapFramX to measure your performance. I use this chart to evaluate the effect as I make settings changes. You want as much “blue” color as possible meaning you have very little variation frame-to-frame. Notice I have the blue color above 95% of the time showing smooth framerates. In general, it’s not the max framerate that matters, it’s having little variation no matter what framerate you attain.

After taking a measurement go to comparison–>variances to see the chart.

Good luck.

It seems my stutters are gone. I just turn off Rolling Cache.

@RomanDesign Thanks for trying out my settings, sorry they didn’t help all that much.

One last thing I forgot to mention, I disable the terrain cache in the usercfg.opt file, in both the 2D and VR sections. Seems to help a little with smoothness on panning.

{OffscreenTerrainPreCaching
	Enabled 0
	Quality 0
}

After that I’m out of ideas! Good luck!

That one is new to me too, but I don’t have any panning problems, panning is perfectly smooth for me.

Hi @RomanDesign

Very random suggestion, and I’m thinking outside the square with this (sorry if you’ve already done it), have you tried doing a couple of flights in offline mode?

That is, completely disconnected from the internet, just to see what it does and if the stutters go away?

Obviously you’d never fly like this normally, what would be the point, but I only mention it out of curiosity.

About 1 month ago we had an internet outage here for 1 week. I played offline and thankfully my Innsbruck area had been cached so I flew around it for the week until the internet came back online. I remember them being some of the smoothest flights I’ve ever had.

Like I said, outside the square thinking, but it might help narrow down what might be causing your stutters.

Cheers,

@Ramasurinen ,
I’m going to try all these settings with a 9700K@4.8Ghz+RTX3080ti+Quest2+Medium Settings where without MR, I get about 40 to 42FPS in medium complexity scenery . I would like to sync at 36 FPS (1/2 of 72Hz) or maybe 30FPS (1/3 of 90Hz). Right now, I get mostly smooth but sideways looking stutters only about once every 3 to 4 seconds on average using 36 (realy 45) for ASW. (Maybe that is about as good as it gets anyway).

  1. Do I set RTSS at 36?
  2. How do I get RTSS to use FlightSimulator.exe instead of just Global - there seems to be a permission problem with the executable when I try to add it.
  3. What about NVCP setting for Virtual Reality pre-rendered frames?
  4. Sim settings - Vsync ON?? in PC??

NOTE: Maybe some of this won’t work for Oculus/Meta since it is not WMR

That would possibly cure the stutters, but what would be the point? That information would not help me to fix it.

Yes, that describes well what I’m having, and obviously if a 4090 doesn’t cure it, it’s not GPU-related.

I start MSFS with a complicated .bat file, and I just start RTSS in this file, so it’s only loaded when MSFS is loaded. No issues with applying it globally then.

@RomanDesign, Thanks for all your feedback. Since you are not on 22H2 but we have similar bumps in the road, it probably isn’t 22H2 after all, except for maybe WMR folks who have to deal with “HolographicShell”.
One thing that does bother me is wildly varying frametimes even though my Motion Reprojection (Quest2 = ASW) seems to “hang in there” pretty well. Here is my jpg of raw times. I’m trying to flying at 36FPS. Also, this plot is BEFORE the above settings are tried.

@SearBreak225638

  1. To set the limit just click in the field next to “framerate limit” and type in the limit you want. You can do fractional limits if you like, like 29.976 etc, or just whole numbers like 36, up to you. I don’t remember if ASW is as demanding performance wise as MR, but 36 might be a bit tough if you’re hitting 40ish without. 30 is probably more reasonable.

  2. I had no problem adding flightsimulator.exe to a profile in it, but I use the steam version. If you’re on the store version I’m not sure how to solve that, sorry.

  3. I find with MR that pre-rendered frames tends to make things more stuttery rather than less, but I’m not sure with ASW. You’ll have to experiment.

  4. Yes, vsync force on both in the NVCP and in the sim. That gives me the best results with WMR, but again ASW may want something different.

Good luck!

@RomanDesign

I was thinking more along the lines of a process of elimination.

If you already have AI traffic and multiplayer disabled, then briefly doing a disconnected (offline) test flight in a cached area (with or without external add ons) might help rule out if the stutters are caused by a network related issue (e.g. ISP, bandwidth, MSFS server side issues, time of day, etc)

If you try a flight offline in a cached area and it runs perfectly fine without stutters, then perhaps your PC and graphics configuration is fine after all.

If you do try it, just be sure to disable your network before starting the sim.

Cheers,