Quad Views with FoveatedRenderingScale < 0.5 causes jitter

Description of the issue:

There is a a new setting for tweaking the Quad Views foveated rendering that allows adjustment of the size of the full resolution foveated view.

The default for this is set as “FoveatedRenderingScale 0.500000” and this equates to half the overall render resoluton used for the main hi-res region. This only gives small gains but now with the new option the size of this region can be adjusted increasing the gains significantly and with the use of eye tracking the lower resolution outer region is not noticed.

I have set FoveatedRenderingScale to 0.300000 and get a great gain in render performance. The issue now is that there is jitter in the image, a slight shake to the view.

What I have found is that with eye tracking enabled any setting below 0.5 exhibits this jitter. If I disable eye tracking the FoveatedRenderingScale setting works fine no jitter but of course the foveated region is now locked in the center.

2 Likes

Some more info…

This may be a Pimax related issue as there have been reports elsewhere that this jitter occurs with the OG Crystal and with the Crystal Super.

I have one report from a user with a Varjo XR4 that says they don’t have jitter. This user also has a Pimax Super and does see the same jitter with QV.

1 Like

I think I have a possible cause and workaround for the jitter issue when using quad views and the FoveatedRenderingScale set to less then 0.5

Some quick info using the Crystal and values I’ve plugged in…

Crystal native render res:

4312 x 5102

Scale 0.5 = 2156 x 2551
Scale 0.3 = 1293.6 x 1530.6

Adjusted res using OXRTK crop mod custom mode as this allows independent X Y resolution settings:

4320 x 5100

Scale 0.3 = 1296 x 1530

Notice with native res using 0.3 scale there is a fractional component to the foveated res and this may be causing the jitter as it tries to “place” this into the final QV composite for output. When forcing a perfectly divisible resolution for 0.3 I don’t get any more jitter with eye tracked QV.

3 Likes

Can confirm that this worked for me. Great find, thank you. Now all we need is for Handcrafted airports to not torpedo the CPU so that we can turn on Quad Views permanently (which also hits the CPU hard) and finally we have a winner for VR in MSFS2024.

1 Like

So FoveatedRenderingScale is the pixel density of the focus region? I’ve messed with this a little bit and thought the was the size of the focus region. I could have swore that I noticed the focus region shrinking when I take FRS to 0.3 or less. I’ll mess around with it tonight just to make sure I’m not seeing things.

FoveatedRenderingScale is the portion of the overall screen res used for the 1 to 1 pixel ratio.

Could be considered as pixel density of the foveated region too as anything outside this region is at half scale.

1 Like

I felt like this setting wasn’t changing the size of the region too, but someone else suggested it was.

So, what’s being suggested here is that it’s the rendered resolution of the region outside the foveated area as compared to the full resolution (which is 1:1 for the foveation area in the centre/viewpoint)

Which correlates better with what I saw - when I reduced it to a low number, the outside regions became exceedingly pixelated.

And if true, we therefore need to balance the overall resolution with this setting to avoid overly pixelated outer regions (which are distracting)

I hope they will provide settings for both resolution and area.

FoveatedRenderingScale is effecting both the foveated region size and the overall resolution of outer region.

I had tried 0.2 and 0.25 but both did not look good so stuck with 0.3 as a sweet spot and this is quite nice using a eye tracked Crystal.

Tried 0.1 today to see what is happening and got a tiny 1 to 1 window into a very pixelated world. Control over both regions scale would be great to have. Sort out the other QV issues with geometery instancing and the region blending and brightness variations and QV will be a winner.

1 Like

On my QPro, I’ve settled on a 0.375 number with 4840 horizontal resolution as this gives me a great sharp area in the centre without compromising on the pixelation in the extremities.
(RTX4090)
Of course, there are issues with enabling FR putting too much load on the CPU currently, which is annoying, but the load on my GPU with these settings is much reduced. I’m hopeful that with some work on the CPU-loading that I’ll be able to go even higher on the resolution and work the GPU some more.
Little steps… :slight_smile:

On the crystal super I see flickering artifacts and strange halos around some objects at .3, is this what is meant by “jitter” in this topic?

Turn off contact shadows as screen space based effects currently look poor with QV and cause issues like this.

The jitter refers to a slight shake to the image specially noticeable in the distant scenery. Will depend on the render resolution and foveated scale used for this artifact to manifest.

I’m also having some flickering artifacts. Turning off contact shadows helps a bit, but using DLAA instead of TAA helped more (at cost of some bluriness in glass cockpit)

See this finding in SU4:

A workaround for SU4 and Pimax Crystal OG:

1 Like

Found a solution thanks to @stekusteku and used Gemini to figure out what setting to use with my PSVR2 at 100% resolution (3400x3468).

Go into SteamVR settings and find the exact resolution of your headset as it’s set in there and share that with Gemini or ChatGPT.

Determine an approximate Rendering Scale you want to use, in my case it was 35, share that with the AI and request the exact rendering scale value that results in a whole number for both your horizontal and vertical pixels.

In my case it ended up being 0.352941, take that and replace the current setting in your UserCfg.opt file, which is hiding in one of two locations depending on where whether you have the Steam or the MS Store (aka XBOX Game Pass) version.

  1. If you have the Steam Version

Paste this path: %AppData%\Microsoft Flight Simulator 2024\

  1. If you have the Microsoft Store / Game Pass Version
    Paste this path: %LocalAppData%\Packages\Microsoft.Limitless_8wekyb3d8bbwe\LocalCache\

Good luck and let me know how it goes!

2 Likes