Nvidia Driver 465.89 VR performance

@strat0spheric It’s interesting you mention panning/tilting of the landscape. I too can get that tilting motion of the landscape to be 100% smooth subjectively (no repro), which feels amazing. However, at the same time, the landscape motion moving past me due to the forward motion of the plane always seems a little microstuttery. This makes no sense to me since the “tilting motion” is usually much faster than the “landscape moving past me motion”, and faster motions usually seem more stuttery.

Has anyone else noticed this? What could be the reason?

@CptLucky8 Do you have any perspective on this disparity in motion types?

Worth noting that I followed the suggestions of CptLucky8 and it didn’t hit my fps at all, only my GPU usage went up around 2-3% usage, so I’m happy!

Also, even if the last patch helped a lot to retrieve a smooth experience for me, we have a degradation of performance in MSFS whatever NVidia (or AMD I suppose) drivers you are using.

I kept my benchmark tests from before World Update 3, and also my settings at that time, and all my GPU usage raised around 10% nowadays. E.g. with Render Scale 100%, TAA and no SuperSampling (so x1.0) and fps locked 45 ASW OFF I had 55% GPU usage, and now I have around 65% usage. See in blue below:

Capture d’écran (347) - Copie

My playing configuration right now still Render Scale 70% TAA and Supersample 1,7, still locked at 45FPS ASW Off, and my GPU usage is 83% instead of 73% before WU3. I tested both the drivers I had at that time 457.30, and latest NV ones, and I can’t retrieve my GPU usage.

1 Like

I’ve noticed this too, but not only 2020 but FSX was the same. Not sure why this would be. Panning = very smooth, landscape passing underneath = micro stuttering

Interesting, so at least it’s not just my setup! It would be amazing if that could ever be fixed, it’s one of the most immersion breaking things IMO.

Hi everyone,
First post here, some of you may recognized me as the DDU author from Wagnardsoft.
Here is some information for this open ticket on Nvidia side :[VR]: Microsoft Flight Simulator 2020 VR may stutter if Hardware-accelerated GPU scheduling is disabled. [3246674]

I personally had the issue and I have reported this along with GPU traces to Nvidia.

The specific issue I reported :
1- Using the HP Reverb G2
2- HAGS (Hardware Accelerated GPU Scheduling) Disabled
3- Using the OpenXR runtime from SteamVR. <---- This is important.
4- Issue started to happen with driver 46x.xx (issue not present with 457.30)

There is 2 workarounds when you are using the G2 with the steamVR OpenXR Runtime.
On my end, enabling HAGS fixed the issue. But this can impact negatively other game or configuration. Example: with the Valve Index the performance is way worse.

Another workaround is to NOT have the game window selected. Example , open an explorer window and have it selected. Note that you must be full joystick support because mouse / keyboard can’t control the game if you do not have the game window selected.

Anyway , that is what I reported to Nvidia.
Note that I didn’t have performance issue with the default OpenXR from WMR (Windows mixed reality) with HAGS disabled.

3 Likes

I’m not sure to understand exactly what you are referring to, but here is what I think you are talking about:

  • when looking through the opposite side window (from the left seat looking to the right side), it is smooth enough.
  • when looking through the same side window, there is some more juddering or stuttering.
  • when looking downward through the same side window, it is stuttering much more.

Is this what this is about?

Is so, my theory is simple:

  • the larger window footprint, the more outside scenery to display
  • the more outside scenery to display, the more polygons to render
  • the closer the ground mesh (when looking downward), the more polygons to render as well (LOD)
  • the more polygon to render, the more pixel shader to process

Usually, it is a good optimization technique to rendering the cockpit first, and the scenery second. Although the video card will process the geometry visible or hidden behind the cockpit walls, the video card will discard hidden fragments. This means the video card won’t “paint” the outside scenery pixels hidden behind the cockpit walls.

With FS2020 I believe there is an additional factor when looking downward causing more stuttering than expected, especially over PG areas. I suspect the game is still streaming some of the data per-frame (or every N frames) and when looking downward it might be sufficient enough to causing stuttering. If this is the case, the reasons are simple: while you’re streaming vertices to the video card, you can’t render the image until they are all updated to the vertex buffer. During this time, you basically halt the video card from rendering.

Any modern rendering engine will do it in the less disruptive way as possible, such as pre-uploading vertices to a buffer which is not in use for rendering yet, and discard the older vertices when switching to the new ones. FS2020 is certainly using all these optimizations and best practices I have no doubt about it. However, you’re hitting another wall here if there are too many vertices at once: the DX11 driver will keep a copy of the buffers in RAM, and when running a 3090 you can end up eating a lot of RAM. If you don’t have enough RAM, the OS will page out to disk (search the 3090 64MB topic here and at avsim, it really helps going from 32GB to 64GB RAM with a 3090). The other wall with DX11 is that in oversubscribing the VRAM with too many on-the-fly buffers, the driver might start streaming data back and forth between VRAM and RAM. This is why you have to lower some settings eating VRAM in order to keep some room, but you’re fine raising some settings eating the pixel shader resources because you generally have some to spare (see @CodeLoran69 comments above).

These are very complex matters and there is no simple answer. You might want to support this Q&A question. In effect, in X-Plane 11, you can display the MicroProfile window with tons of metrics and this is really helping a lot to determining the bottlenecks and performance issues. It is also a wonderful tool which shows how good the X-Plane 11 task scheduler is, and how well it is using all your system resources:

Will we have performance profiling tool that helps add-ons to troubleshoot performance issues? - Community / Dev Q&A: Ask Questions Here - Microsoft Flight Simulator Forums

2 Likes

Thanks for the detailed reply. However, I wasn’t talking about relative smoothness across different windows, but the following situation that can occur in rural areas that can run at high FPS (say around 50+), at low altitude (say 1000-3000ft):

  • Looking straight ahead, I bank left. The entire landscape rotates in butter smooth “banking motion” , it’s perfect, it looks like reality, no hint of stutter.

-But if, instead of banking, I look down at the landscape (which is moving past me as a result of the plane moving forward at constant speed), there is always a slight microstutter, despite the landscape moving past relatively slowly.

What confuses me is that the banking motion, despite being faster, feels much more fluid than the landscape motion. Usually the faster something is moving, the more obvious a low FPS becomes.

It’s almost like the banking motion and the moving-past-me motion of the landscape run at different fps, or at least different frame timing. Have you noticed this effect?

2 Likes

I believe this is what I’m trying to describe in “looking downward” in my post. But this is only part of the problem.

The micro stutter you might notice when looking at pixels passing by is also there when you’re looking straightforward. You just can’t notice it as much because of the pixel angular velocity:

  • pixels in front of you are moving a fraction of a degree per frame, even a fraction of a pixel per frame.
  • pixels on the side (looking at 90 deg from the direction you’re moving) are moving 1 or more degree per frame, most likely jumping over multiple pixels from frame to frame.

This is where the motion smoothing algorithm kicks in and tries its best, but it is much easier smoothing out pixels moving a couple pixels distance max between frames, than pixels jumping over 10 pixels from one frame to the other. Because even if motion smoothing creates for example 2 synthetic frames for 1 real frame, this means the pixel is still jumping about 3 pixels per frame and this causes juddering no matter what (this is unfortunately due to LCD and there are technologies in the controller to reduce “ghosting” from previously lit pixels but it can’t eliminate it all).

The other factor causing micro-stuttering is just the driver and the game rendering loop feeding it some way to causing this micro-stuttering. This is what I’ve been trying to tackle with some success in “My VR Settings” guides dealing with Win10 and NVidia settings for this reason, and sticking with 457.30 for now*.


PS: this is something which is bugging me from quite some time too:

  • FS2020 is computing the pixel motion vector for TAA (you can display it in Developer mode, it is neat)
  • VR driver (SteamVR, WMR) is computing the pixel motion vector for motion smoothing

You see the point here? The same job is done twice. OpenXR doesn’t seem to have an API to feed a “pixel motion vector” texture which could be passed along for motion smoothing as far as I know, but this is making me wondering whether we’d get better motion smoothing if this would be possible, and/or lower fps impact in not computing the same thing twice.


*and SteamVR with up to 6:1 motion smoothing with the Valve Index is working fantastically (I used 4:1 ratio before SU3 but have to use 5:1 ratio since then because of FS2020 lower perfs).

1 Like

Thank, I figured it was something like this. But if we were to reach a constant 90fps+, even the looking down/landscape motion should look perfectly smooth, right?

Probably, up to a certain speed. You’ll still have LCD ghosting causing some of the juddering artifacts, but this is where using a 144Hz headset like the Valve Index is helping a lot:

I know exactly what you’re referring to. If you rotate your head left right, it’s fine. If you pan with an input device it’s not. Try it in drone mode.

If the fps monitor is on, you can see the frame drops.

Seems to only drop frames at 30 → 90 repro with 2 interpolated frames…not with 45->90.

Same question as dbuz1805, why lock to 38 fps?

Noticing a bit of strange behavior:
Motion reprojection off in OpenXR, my frame rate is 35-45, which is playable in my G2 with this driver, although not super smooth. (but somehow feels a lot better than with the 430.70).
exit, reboot computer, start wmr, then OpenXR:
Motion reprojection on in OpenXR, frame rate drops 28 to 30, there is some stuttering when it switches from 3 to 3+ and back again.
I don’t understand how switching on OpenXR motion reprojection is causing an fps penalty.
Specs:
Ryzen 5800x
32GBmem
RTX 3080
No overclocking

It was saying the Sim was waving between 30 and 45Hz and create stutter during those phase changes so I guess by locking at 38 it will prevent the Sim or better the driver to try to go above and will stay at 30 with headroom. I could have wrong but it sound logical like this… I experiment this when I have an apps which can’t maintain the 90Hz of my headset and kick ASW On (retropro) to fall to 45 and then few seconds later go up again to 90, etc. better to lock at 45 to avoid this.

1 Like

It is not a fps penalty, it is matching fps to an integral divisor of 90Hz and this is both normal and expected.

Why do I prefer 30fps stable with juddering rather than 90fps with motion smoothing

1 Like

For me 465.89 at first seemed better than 457.30, but after a few flights I am realizing that I’m having more micro stutters than I ever did before even with HAGS on. I reverted back to 457.30, turned off HAGS and the issue went away. This is with a 3080 and 10700k.

5 Likes

Hags off for me too. Much smoother.

1 Like

Sorry for the stupid question. How to enable or disable HAGS ???

How do you set a value for motion smoothing in steamVR. I only see an option to switch it off or on?

Go into Windows Game Mode area by searching for that at the bottom left of the main screen on your desktop (don’t turn on game mode once in there), and in that page is another option for something like Advanced Graphics settings and in there is the toggle on/off for Hardware Accelerated Graphics (hags)

1 Like