Is it stutter, or is it judder (or, how Stanley Tucci made me rethink vsync)

Like many I have been striving to get the best out of my MSFS VR setup from day one. Things are in a fairly good place, but despite having a powerful system I still don’t understand what is going on with stutter.

Or, at least, I thought I didn’t.

Stanley Tucci, the American actor, to the rescue.

Tucci has a series on the BBC at the moment called Searching For Italy—it’s a foodie travelog, and being a Tucci fan I had to tune in. Immediately I was struck by how jerky the video sequences were—when the camera was moving or panning. And I knew what I was seeing—judder.

In telly world stutter occurs when the framerate is too low. It is particularly evident when there is fast moving action—there aren’t enough frames to render the fast action smoothly—it jumps from one frame to the next. But the key thing here is that the jumps are consistent, because the FPS is consistent, and the effect is akin to a ‘flickering’ of the image edge where it is moving quickly.

Judder is when the FPS doesn’t match the refresh rate evenly and the display time of frames becomes uneven, and while it can look like stutter, it is more pronounced and inconsistent.

So are my issues in fact more to do with judder and not stutter?

I can eliminate stutter as defined above by having a high enough framerate, although at a cost to graphics fidelity. And what remains does look more like judder.

If it was then matching FPS with refresh rate should deal with that—I couldn’t reach the lowest refresh rate of 72hz, but that’s fine—I just needed an even fraction, like half or a third.

But this wasn’t the first time I’d looked at this and previous attempts at matching FPS and refresh rate did not yield much.

But Tucci’s foodie series made me think that it should, so I took another look.

One of the things I tried first was to deliberately mismatch FPS and refresh rate—sure enough, with a maximized mismatch, I could observe excessive ‘judder’. But matching the two, like before, still left some obvious judder.

My suspicions fell on the Nvidia vsync configuration parameter.

I had this set to ‘on’ because that was what was being recommended by the various YouTubers. But I hadn’t actually read the documentation for that setting—and it states that it can cause ‘stutter’ when the frame rate is below the refresh rate—which for MSFS is the case no matter how I have it set up.

So I turned it off and tested with a matched frame rate and refresh rate. Sure enough there was an observable improvement.

There were two other settings of interest also—Fast and Adaptive—and I would say that they seemed to improve things further. Fast is an enhanced version of ‘off’ and Adaptive is a version of ‘on’ without the low FPS side effects. But vsync ‘on’ is intended for when the FPS is higher than the display refresh rate, so I have stuck with off/fast.

This has left me with only certain combinations available—for example, 30 FPS with 90hz/120hz, or 40 FPS with 80/120hz. These were implemented by capping the max frame rate.

They all check out, but with the obvious comprises—30 FPS leaves me with some ‘stutter’, but a level that is acceptable. 40 FPS eliminates stutter but costs in terms of having to dial back the graphics fidelity.

Does it eliminate judder completely? No, it doesn’t. But analyzing the FPS with CapFrameX suggests why—even when capped at an achievable rate, FPS still bounces around, dipping above and below the capped amount resulting in a degree of mismatch with refresh rate and so low levels of judder at times (or in extreme circumstances).

Some other observations:

The higher I push the frame rate and so the demand on the system, the greater the variation in FPS—at 40 FPS the improvement is still clear, but not quite as good as 30 FPS.

The greater the ratio of FPS to Refresh rate the better. A high refresh rate tends to ‘hide’ any mismatch with a low FPS on its own—because the level of resulting unevenness is smaller. But then 120hz costs in other ways—more demand on the system, and it sucks the Oculus battery dry in about an hour.

The Nvidia control panel allows you to cap the FPS, but for me that needs a MSFS restart each time. So I used the Riva Tuner Statistics Server for testing—this allows changes to the max FPS on the fly.

Also, I use the OpenXR Toolkit FSR scaler to lower the load on the system.

Of course, as we frequently see with MSFS, what works for some doesn’t work for others—there are just too many variables. But it works for me and I’d be interested in the experiences of others.

Spec:

3080ti
11th Gen i9
64 GB

References:

4 Likes

My tests indicate that the ingame vsync is the most efficient. Turn that to 30 in game and leave all the Nvidia NCP settings on default. Otherwise, set ingame vsync to off and set Nvidia NCP to FAST. The Nvidia NCP settings for vsync do not affect VR.

If a stutter is a momentary pause, a judder is a regular pause. Judder occurs at the edges of vision in the VR headset or if you look out the cockpit at 90 degrees when you are close to the ground. I have no judder in 2D, but in VR it is still an issue. I can eliminate judder in VR by setting the in game scale to 60% or so, depending on the level of visual quality. Or, I try not to look out the cockpit at the ground rushing past. I don’t use the Openxr toolkit.

Thanks for the long post.
3080TI i7 11gen

2 Likes

OldpondGL

Is there an in game vsync for VR? I only see that in the in the PC settings - does it get applied to VR as well?

The Nvidia NCP vsync settings work for me in VR-when set under 3D settings. I do find that I have to restart MSFS each time, which is a pain.

There are vsync (or equivalent) in RTSS but I have not tried these.

Hi,I don’t understand why you say you have to restart MSFS every time? Surely once NVidia settings are defined they are retained and your good to go and start MSFS. Please explain

I can set and forget via the NCP, yes.

But if I change some settings in the NCP, they do not take effect for me until I have restarted MSFS. Max Frame Rate is one, vsync is another.

I have tried restarting the Oculus service but that is not enough.

This is correct. The sim does not pick up most Nvidia Control Panel changes until you restart the sim.

You can see the Vsync settings in 2D, but in VR the Vsync setting is not available because Openxr and the headset manage this. For my G2, I have it set to 60hz, not the default 90hz, and I have motion reprojection ON. This has the same affect as vsync 30 with my headset. If I leave the headset at the default 90hz with motion repo ON, it will sync at 45. However, 45fps can be a tough target to hit with high visual quality settings.

In 2D, vsync is an either/or choice: either on in the NCP or on in the game settings, but never both.

1 Like

This is the post i have been looking for so long !!!.

My experience is exactly the same as yours, if i look straight into the Cessna 152 the frontal image is smooth and skip-free but the fun part is looking out my left window and seeing the world go by, that’s totally terrible, it’s an image that is seen in small jumps, very continuous and very annoying, it’s not worth flying like that, I totally lose the desire to fly that badly.

It is a constant vibration of the terrain, like an annoying flicker, in my case it is not a FPS problem, I move between 40 and 42 fps in vr with everything in Ultra with the Hp Reverb G2 and openxr toolkit and the FFR technique activated in Wide and quality mode.

The most curious thing is that my I912900KF, my 32 ram ddr5 5600hz, my nvm2 7600 rpm reading and my rtx 3090oc, my FFR, are capable of giving me some 40/45 frames, BUT NEVER THE ■■■■ CHOPPY EFFECT BY THE LEFT WINDOW DISAPPEARS !!!

I like to fly very low with the cessna 152, what must be done to completely eliminate this unpleasant effect???, I am desperate with this matter !!!.

Thank you very much for listening to me dear community.

W10 fully upgraded
Nvidia driver updated
I9 12900KF MB
Asus Z690F
32 ram ddr5 5600hz cl36
nvm2 wd Black 7600rpm reading
Asus Strix 3090oc

1 Like

Try Texture Resolution LOW, Terrain LOD 10, and try an in game render resolution below 1080p that matches your monitor ratio like 720p. This will prove to you if your system can do it. I think it can. I use vsync 30 all the time as well, but you should try without it to see how fast it can go.

1 Like

Thanks for answering friend, I have two doubts, with the texture and terrain configuration that you recommend in the VR graphic configuration within mfs2020, the graphic quality will be very bad within the Hp G2, right ???, where do you select vsync to 30, in what menu ???.

Greetings

Sorry, I was thinking 2d for testing. For my G2 I have it set to 60hz with motion repro ON. This syncs at 30fps. In VR this juddering affect is even worse. Drag the slider in VR until the res is something like 1200x1200ish. The jaggies will be almost unbearable at that level, but adding AA and SS will slow you down again. It’s a tradeoff. More pixels means sharper image, but more judders. Less pixels means smoother ride but ugly graphics. Frankly, I prefer the sharpness and smoothness of 2d, YMMV.

I’ve been struggling to get smooth performance with my RX6700XT and G2. I’ve been wishing I bought an Nvidia card instead because my previous 1070 felt smooth but I am surprised you are having these issues with the 3080ti so maybe I shouldn’t mutter bad things about AMD drivers anymore.

After SU8 I felt the juddering had gotten worse. Previously, after about 30 minutes, I’d get judders and found that exiting and entering VR restored smooth framerates for another 30 minutes. Since SU8 that time had reduced to 4 mins so I had to do some more tests. I was expecting to have turn down some graphics settings but I was wrong. One weird effect was that after turning on the FPS meter in Dev mode, the judder start time increased to 8 minutes. Anyway, I’d previously discovered that setting Radion Enhanced Sync On improved the judders but setting Radion Anti-lag On made it worse. Now with SU8, turning On Anti-lag as well as Enhanced sync seems to have fixed my judders for now.

There are still times when I need to exit and enter VR to restore smooth performance but it’s much better than doing it every 4 minutes.

I tried setting G2 refresh rate to 60Hz but that causes headache inducing flicker in bright screen areas on my system so that’s a non-starter for me.
Also I found that I have to set MSFS VR Off Screen Pre-caching to Ultra else the scenery reloads every time I turn my head, causing the GPU fans to go max speed and that causes some judders.

Just thought I put my experiences here in case someone else finds them useful as it’s all sync related.

2 Likes

I feel your pain.

One thing I would say is that it is not all about the GPU - that’s just one half of the equation - it is also about your CPU being able to generate the frames to be rendered.

A better GPU/card gives you a better graphics fidelity, but your CPU has to be able to calculate and serve those frames up to the GPU in the first place.

Where I am at is that my CPU struggles to deliver a reliable 40 FPS, but it can manage 30 FPS just fine. 30 FPS gives me stutter, but I can tune the judder out to a certain degree with 90 or 120hz. Only when I get really low, or in and around challenging scenarios like big cities does judder remain a problem. My benchmark is Chicago.

I am now considering moving to something closer to a pro-sumer headset.

The Varjo Aero is not for me just now - it requires base stations, offers no audo by default, and needs prescition lenses for oldies like me that rely on reading specs (its focal length is too short).

The Reverb G2 offers motion reprojection that by all accounts actually works - so, tempting.

There is also Meta/Facebook’s Cambria headset - widely touted for this year.

same thing here, I tried everything, low settings, high settings, openxr tool kit, anything in NCP but nothing, even when it’s in the pause menu the framerate sobs, same thing when I fly. on other games everything runs smoothly. in the photo you can see systematic micro-shots, both in game and with menu paused, does someone do the same thing? thank you

W11
I7 12700
RTX 3080TI
DDR5

I have the EXACT same issue as you, but with slightly worse hardware (8700k, RTX3080) - 42-45 FPS, but terrain moves past choppily. It has gotten MUCH worse since SU8 - they must have changed something. It makes no sense as the VR head movement is 100 smooth and panning around the plane is quite smooth too - it’s mainly the terrain moving past that stutters.

Disheartening that even with your hardware, it’s the same :frowning:
I was hoping that upgrading to a 13700K and RTX40XX may solve the problem.
But sounds like it’s simply bad coding in SU8.

Did you also notice that the problem really started with SU8?
This needs a hotfix IMO.

2 Likes

I agree, the stutter is definitely worse since SU8. We need to get this on the bug list!!!

Not sure I saw it get worse with SU8 - but it was definitely there prior to that.

I do notice that the more stable my frame rate, the lower the judder.

And as the per the original post, if the FPS and refresh rate are not aligned the judder is worse.

So how would one try and sync the FPS with the G2’s 90 fps refresh rate?

Even when I lock it at 45fps and it really is pegged at 45,it still stutters

45 FPS? I cant even get past 40 with the settings I want - and even then that’s an average - actual is all over the place.

Try 30 FPS and see what that looks like first. You’ll get some stutter, but do you get less judder?

Also, have you turned v-sync off, or to Fast, in the Nvidia control panel?

My observations are with the Quest, though. With the G2 things will be different - but you have an option to use motion reprojection - I have heard others have had good results with that on the G2.

Motion reprojection aka ASW on Quest is awful for me - but if I look past the highly distorted image, the underlying experience looks quite smooth, so motion reprpjection sounds like a serious contender. I am thinking of moving to the G2 so maybe able to report on that from the perspective of a quest user.

One other thing I would say is that no two systems seemed to be the same - I may be on an 11th gen i9 but the quality of the silicon and other factors maybe undermining me.

Another ray of hope (pun intended) for us is if Asobo are able to improve thread utilisation with DX12. Right now the CPU threads are under utilised so even though you end up CPU thread bound, there is still CPU capacity to be had.

Well, I make compromises with settings to get 45FPS, I actually get up to 50 some of the time if I don’t cap at 45. I turn off reflections, ambient occlusion and various other stuff I don’t particularly need.

I have tried 30FPS and the stutter/judder (I mean the irregular frame drops) are still there. And yes, I am currently on fast Vsync and have also tried none. I hate MR, it gives me horrible artifacts and is still not entirely smooth.