VR Performance vs flatscreen, why is main thread performance worse?

Just curious if anybody actually knows why VR performance seems to tax the main thread so much more than flatscreen?

I have a good spec PC, with a 10850K and a 3090. My 4K performance is good enough that I never worry any more about performance. I lock it at 45 fps and it’s stutter free and runs fine.

VR however is so much harder. Now obviously having two displays to drive is going to demand more, but it seems to me that would demand more GPU rather than CPU?

I’d assume the main thread getting hammered is due to things like AI traffic, physics calculations ,weather etc, things I’d assume wouldn’t be left or right eye dependent? Do these things also have to get calculated twice, which is why the main thread performance is so much worse in VR?

1 Like

In a game’s graphics pipeline it (very generally) bottlenecks around resolution for the GPU and geometry for the CPU. MSFS is pretty heavy in terms of geometry, which makes it hard to scale up with VR.

The best optimizations without improvements to the efficiency of the geometry in MSFS is to use things that the GPU can do better, such as upscaling techniques - so a 80% render that taxes the CPU less (less geometry etc) scaled up via NIS, FSR, DLSS etc helps. If you haven’t already check out OpenXR Toolkit (upscaling, world scale, hand tracking...) - Release thread

I would assume it’s because a flat screen only renders one window while a vr headset renders two at a wider FOV. On the quest 2 it’s 1920 X 1832 per eye, so a total of 3840 X 3664 thats higher than 4k at 3840 X 2160. Also because the two displays are offset you are rendering two different pictures for each eye instead of one which will have it’s own geometry associated with each eye vs a single geometry render for a flat screen.

It would only be 3664 x 1920 as the two displays are side by side, therefore the horizontal FOV is doubled but the vertical remains the same. You woulnd’t actually want to run a Quest 2 at 3664 x 1920 however as that’s the resolution of the displays and not the headset’s render resolution.

You have to account for the distortion introduced due to the fact you’re viewing the displays through curved fresenl lenses, that mean the centre of the image is slightly futher away, (barrel distortion) and there rendering quite singificanly below its actual resolution.

The proper resolution for the Quest 2 is 5408 x 2736 which gives an undistorted, barrell distortion corrected image. It looks fantastic at that setting, in some games actually better than if I run my Reverb G2 at its native display of 2160 x 2160 per eye. Of course you don’t want to run the G2 at only 2160 x 2160 per eye either but rather a total resolution 6336 x 3092, which looks amazing, but isn’t possible yet in MSFS unfortunately.

Ah I didn’t really think about the geometry, I figured the GPU is handling all of that.
I do seem to find at the moment that the things that tax my system the most are Terrain LOD and AI traffic, which I guess are mostly CPU based. Do you think the CPU has to render the terrain twice as well then because of the slight geometrical difference between views in the left and right eyes?

I just upgraded to a 12900k and 3090ti and I can confirm main thread seems to be a huge issue in VR. Getting 80-85 fps with settings maxed out accross the board in 4k on my main display, but jump into VR and it’s 35 fps. Thats only 10 FPS better than my 1080ti while the jump on the flat screen is from 35 fps to 80. I’m trying to figure out why this is because the geometry change shouldn’t be the issue as my screen is a widescreen with about 120* FOV and I don’t know why it’s the CPU bottlenecking. I hope a proper implementation of DX12 will fix this by spreading the load for the CPU a bit better.

1 Like

That’s both disappointing and good news I guess. I have a 10850K and 3090 and really want a new 13900k, 4090 machine this Christmas to run this properly. If you’re experiencing only a modest VR boost upgrading to a more powerful rig than my current one from a 1080Ti then I guess I can save myself £4000…

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.