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

There are many different kinds of stutters, with different causes. My seems to be CPU-related, but it’s irrefgular. I had the one you are talking about - every 1 second or so, very regular. I solved that one, but I don’t recall what exactly was the fix. I did a lot of optimizations, try them if you haven’t already, one of them may fix it:

  • Disable all unnecessary software. Any RGB-lighting or GPU-managing software is a known cause of stutters. Same for FPS monitoring software, etc.
  • Google all Windows processes that are not essential and can be killed, and kill them (I do it via .bet file I use to launch MSFS)
  • Set dwm and all software that you have to run together with MSFS to the last CPU core via affinty commands - some use Process Lasso, but I also do it with my .bat file.
  • Set system timer with ISLC TimerTool (but this was not my fix, as I did it later, after 1sec stutter was gond)
  • Limit your framerate to whatever max value you need (i.e. in my case 45 for VR with MR)
  • Kill HolographicShell (also nor my fix, but helps some, I still do it just in case)
1 Like

I still keep OXRTK around to reduce the input sensitivity on my G2. I still find this useful for those times when my heartbeat can look like small head movements to the sensors. That would certainly feel like a 1 sec stutter. I hope this helps.

Thanks! I had tried most of those apart from the processor affinity.
However, even if I reduce settings to a minimum so that the render thread and the gpu render time are 9-10ms each in VR, and set maximum fps to 30 or 45 I still get a jerkiness in the terrain when looking sideways at random times averaging to 2 or 3 times a second, both in VR and 2D, and I’ve seen it in people’s youtube videos.
I can’t help but think there’s something really not quite right going on!

1 Like

I have experienced this as well. Have you tried clearing the environment data in the WMR Headset menu? You will have to do all the calibrations and setup again.

That sounds to me like something is “stealing” CPU cycles from MSFS. I’d seriously consider tracking down every single task and process than can be killed and kill it. Especially any kinds of lighting-related things. In .bat file (or command line) you can kill tasks like this:

taskkill /f /im LightingService.exe

The go over your processes and stop averything that can be disabled, like this:

sc stop GamingServices

Then go over anything that’s left and has to run, and set all you can (except for MSFS, do NOT touch its affinity) to your last CPU cores - check which 2 cores MSFS tends to load, calculate your settings with any of the online affinity calculators. I use this for all processes that I want to offload from main cores and bind to the last 4 cores of my 12-core 5900X (with SMT off in BIOS!). I do this for all VR-related apps too, here’s a short clip from my long list:

PowerShell "$Process = Get-Process dwm; $Process.ProcessorAffinity=3840"
PowerShell "$Process = Get-Process audiodg; $Process.ProcessorAffinity=3840"
PowerShell "$Process = Get-Process HoloShellApp; $Process.ProcessorAffinity=3840"
PowerShell "$Process = Get-Process MixedRealityPortal; $Process.ProcessorAffinity=3840"
PowerShell "$Process = Get-Process EnvironmentsApp; $Process.ProcessorAffinity=3840"
PowerShell "$Process = Get-Process HoloCameraApp; $Process.ProcessorAffinity=3840"

I recently found how to do it for the processes that are enumerated - I couldn’t control them from a command line before because they all have the same name in Task Manager. Here’s how:

PowerShell "ForEach($PROCESS in GET-PROCESS chrome) { $PROCESS.ProcessorAffinity=3840}"
PowerShell "ForEach($PROCESS in GET-PROCESS NVDisplay.Container) { $PROCESS.ProcessorAffinity=3840}"

I suggest first have MSFS and VR running as usual, then in command line kill every single process and if things are still running fine, copy and paste it into your .bar file for launching MSFS. Test every command this way and next time everything will be killed and affinity-bound properly every time. And of course uninstall everything that’s not needed. I have a separate SSD drive with a separate boot and partition and its own Windows 10 installation just for MSFS and gaming. I have a boot menu to select when turning on PC. If you are using the same boot for everything, it’s especially important to kill all the junk that’s not needed.

1 Like

Thanks - will give that a go!

I’ve had stutters looking out the side and flying low, no matter where I’m flying. I’ve gone through X3 hardware upgrades (1600x - 5600x - 5800x3d) and 3080-4090. They are still here and I’m so annoyed feel like just walking away from it all.

Could it be something to do with quest 2 and does it have something to do with v sync?
I’m getting amazing frame rates with th 5800x3d and 4090 but I don’t get whey this is happening, stutters ruin it for me.
Happens no matter the preset (low or high end) and no matter what the LOD are (50-100)…and no live weather or online aircraft …
Totally fed up tbh!

I get you, that’s why I started this topic. I feel the same. It’s dishartening to hear that 4090 + 5800X3D are still giving you stutters. Ouch. I was hoping that whenever the 7xxxX3D is out that upgrade would solve the stutters (apart from rare scenery-loading once, I assume those are unavoidable). It’s not good if that’s still there on 5800X3D. The performance of 7 series X3D would not be that much different. Maybe 20% more, or 30% if we’re very lucky…

Are you using Motion Reprojection(MR) or not? If you are low and looking sideways, you have to have MR going to avoid frame to frame stutters due to large motion of ground objects and at one-half rate (example, for 90Hz, then 45 and locked - set it with ODT). Required also for flying helicopters since you are almost always yawing some.
These are my settings for 9700K@5Ghz+RTX3080ti+Quest2:
3080ti+DLSS+Great Clarity

My Quest2 settings for great clarity and ASW half rate (72/36Hz) - need a RTX3080ti and 5Gz CPU:
Oculus App: 72Hz - 5408x2736 (my version = 44.0.0.169.455)
ODT PD=1.6, FOV=0.75, ASW=45fps,Encode Res WIdth=3648,Airlink bitrate=200,Link Sharpening T
OXRTK 80%FSR or so, FFR=whatever ==> MSFS Render SCale = 100, reports res as 2598x2624
Set VR Sharpen=1 in UserCfg.opt
MSFS2020: DLSS=Quality, AMD Sharpening=200 (Great clarity, reduces OXRTK appGPU significantly) - allows for complex clouds at high/ultra - currently I use DX11

Make sure you restart Oculus PC app and run ODT to set it up. Confirm with Oculus HUD printouts

I use the following script to set up what changes everytime I connect via Link or Airlink:
ECHO ON
echo server:asw.Clock45 >> “TEMP.txt”
echo perfhud set-mode 0 >> “TEMP.txt”
echo service set-pixels-per-display-pixel-override 1.6 >> “TEMP.txt”
echo service set-client-fov-tan-angle-multiplier 0.75 0.75 >> “TEMP.txt”
echo service enable-adaptive-gpu-perf-scale off >> “TEMP.txt”
echo exit >> “TEMP.txt”
call “C:\Program Files\Oculus\Support\oculus-diagnostics\OculusDebugToolCLI.exe” -f “%~dp0\TEMP.txt”
del “TEMP.txt”
EXIT
//Notes:

//
//For Clarity MAX, set Base Res at 72Hz,5408x2736, Encoder res = 3648, Bitrate=200,Sharpen=1
//
//Clock30 actually means one-third of 90 (=30) but if the HMD is set to 72fps, then the result is 24Hz ASW
// ASW options are 45,30,and 18 ( Why not one-fourth = 22.5)
//perfhud set-mode 1 shows Performance (1->7) and reset removes it
//layerhud set-mode 1 shows Pixel Density and FOV and reset removes it
//For more settings, startup OculusDebugToolCLI.exe and try the various help options

3 Likes

Thanks so much I will try all this later tonight!

Yeah, I really feel it’s not for lack of hardware performance…I will the settings in the other reply. Really want to get to the bottom of this or I’ll just have to goto DCS.

1 Like

Really surprised you are getting stutters with that hardware. Have you tried locking fps at or at half your HMD refresh rate?

In VR vsync should be off, both in nVidia CP and in MSFS, so if you have it on, that’s a first thing to try.

Besides all the things that are often mentioned (HAGS off, game mode off, BIOS multithreading off), two things that are a bit harder to find mention of and seemed to make a difference for me were:

1: Using ISLC (google it and/or search forum)
2: Disallow the computer to pause any USB device (maybe this matters because Quest uses USB-C; you need to go to Power Management tab in the Properties of all individual USB devices in Device Manager to disable that function.)

Worth and try and good luck!

Tremendous performance gain HTC VIVE PRO 2 in VR with this option enabled. I’ve previously heard people say that this option didn’t work well for them, but something must have improved because it’s working perfectly for me. My rig. Rtx 3090, Ryzen 5900x, 32Gb ram 3800 Mhz, Nvme 2tb gigabyte hard drive and Htc Vive Pro 2. I explain my experience in case it helps anyone and want to replicate it. After months of frustration for not being able to play decently in Rv at good quality and performance I have discovered something that has forever changed my performance and with almost everything in ultra, even the Lod in 300 and the quality of objects in 200, insane … I am using the latest beta of the simulator and dx12, I also use DLSS in quality and what many will not believe is that I have the Vr application configured in 4024x4014 per eye (a barbarity) and VIVE console in ultra and 90 hz (this way I am not limited by the processor). I only had to activate two options for my gaming experience to change like overnight, all super fluid and with a tremendous quality, before, without this configuration was totally unplayable, even lowering the quality to high and lowering the resolution in steamvr. I’ll get to the point: Enter Vive Console in “Settings”, “video” and activate the option “Motion Compensation” and the “FPS Preference” option in auto. You will notice a little “aquatic” dance in the menus, also in external views it is noticeable in sudden movements at the beginning, but it is very little appreciated and when you take a few minutes it disappears completely, it is as if the image is stabilized, at the end inside the simulation for me everything is perfect, super fluid even at low altitude and in dense populated areas. If you put the DLSS on performance and lower the setting to “high” everything will be much smoother. In the past Htc’s motion compensation didn’t work very well, but they have improved it a lot; actually what it does is to skip frames in the scene to maintain stable fps, so the performance goes up a lot and what fascinates me the most is that there is no degradation in the scene outside the menus, but that’s not something that worries me too much, inside the simulation my experience after months of frustration trying everything is fascinating. As for those who have a rtx 4080 or 4090 I suppose they can even raise the resolution of the viewfinder much more and the simulator settings in ultra. I have also tested it without DLSS, in TAA and it works frankly well.

I decided to try this way. I will let you know if it helps!

1 Like

You start your wall of text talking about “this option”, but which option do you mean?

This option is only available for the HTC VIVE PRO 2 in the VIVE CONSOLE application.

As @BearsAreCool510 asks, what option are you talking about?

1 Like

I am Spanish and the application VIVE CONSOLE is in Spanish, but I suppose that in the English version everything will be in the same place.