Everything Looks More Real With Ambient Occlusion in VR But Performance Takes a Hit, Obviously

@CptLucky8 has a Wishlist thread for baking ambient occlusion into the inside view of the cockpit in VR and in his preamble he points out that turning ambient occlusion on also improves the realism of the view outside, although in his opinion not enough to be worth the performance hit. I will upvote his thread but wanted to start a separate one for examples and discussion of how much it makes a difference in your outside world view. I find it really make a big difference for me and will include two comparative pictures below, since they are 2D captures of the left eye view, that show a subtle but significant difference between ambient occlusion (AO) OFF and on HIGH.

Going for AO on HIGH really only works for GA out in the country and would be insane to fly big jets over dense metropolitan areas, etc. Also, to do this, I turned volumetric clouds to low (would turn it off completely if I could - edit the UserCfg.opt file?!). The settings are a takeoff of CptLucky8’s as mentioned in this post: New Nvidia Driver 461.40 - #62 by JALxml. I have multiplayer, live weather, live traffic all off. All the traffic settings OFF or otherwise as low as possible. And as described in the linked post, I’m running at 100% TAA in the sim, 100% SS in OXR, while using AO on HIGH. If one turns down rendering in the SIM, obviously the performance gets better and better but even dropping down to 80% TAA, the scenery is just not as sharp for me.

Basically, having ambient occlusion on to some degree improves the sense of dimensionality tremendously. Without AO, things look “flatter.” With AO on, trees on hillsides stand up and out, instead of seeming to be painted onto the hillside. Individual trees in a cluster are more apparent. Undulations in distant hillsides with AO on seem real in 3D relief instead of a sketched in effect.

There are quite a few blogs of what good ambient occlusion can do for a scene. One of the best that I found that covers the topic in great detail and has excellent examples of the enhancement ambient occlusion can bring is:

P.S. At the end of the ARVILABvr article, there are some examples with sliders where you can turn AO on or off as you drag the slider across the example photos.

In MSFS in VR, the image examples here would be much larger as virtual images, they’d be in 3D, and moving - all of which makes the depth effect much more effective than just a small 2D screen capture of the left eye view. The effect of AO in cockpit structures like the supporting window frame and the pilot’s instrument panel is much more apparent in the screen captures.

Mann Gulch, MT - Ambient Occlusion OFF (click to enlarge, arrow key to cycle views)

Mann, Gulch, MT - Ambient Occlusion HIGH (click to enlarge, arrow key to cycle views)

2 Likes

AO is a must. If turned off you might as well go back to a monitor. I really hope that developers can come up with a way to find a way off providing AO taking it away from the HMD and current FPS drain.
Saying that I have it on high and my Reverb G1 provides great performance on my system. VR is the future.

1 Like

Just in the interests of “full disclosure,” here is an out-of-context quote from the Arvi Lab article that I cited, emphasizing the greater importance of AO in 2D flat screen vs. 3D VR in order to achieve dimensional realism.

In virtual reality, SSAO is very important, but it is less important than for ordinary games. This is due to the effect of stereo vision.

With stereo vision in virtual reality, our brain sees the depth-buffer, reconstructing it from two stereo pictures. The more objects are shifted in the pictures, the closer they are to the viewer, and thus the brain actually receives depth information and recognizes it.

Thus, unlike PC games, where there is no depth information on the monitor and such effects like AO are needed to emphasize depth, in VR, even without the AO effect, the viewer understands the depth of the scene and much needs this effect much less.

On top of that, due to parallax, the eyes perceive slightly different images, and SSAO, due to its screen space nature, generates slightly different results for them. They make AO seem “illusive” as each eye sees mismatched AO results. Therefore, in larger AO radiuses, it can even make a bad, general image impression and break immersion.

Another aspect is that all screen space effects depend on the resolution – the higher the resolution is, the more they affect performance, especially such a “heavy” effect like AO.

Source: Ambient Occlusion: An Extensive Guide on Its Algorithms and Use in VR — ARVI VR (arvilab.com)

2 Likes

Never really understood this before now so thank you for the explanations and links.

1 Like

My brain isn’t really working well enough to have understood much more about this thread than “Turning on AO in VR is important”, so I did that, and I’m posting this so I get notified of future posts and hopefully when my cognitive functions are working better than they are now…

1 Like

@KevyKevTPA. You’ve no doubt seen azmidi’s VR Bang-For-the-Buck settings review. You may very well take quite a performance hit. Since I am just a scenery gawker slowly flying around in anything small that keeps me in the air, I don’t mind a bit of stuttering for visuals that thrill me. From the Google Sheets link in azmidi’s post, here’s the effect:

|

According to azmidi, going to Ultra on AO causes a ~18% performance loss vs. AO OFF (the lowest setting). Hopefully, anyone like me who likes AO can be happy with something between the HIGH and LOW setting (azmidi actually recommends LOW or OFF). I’ve found going back and forth to Options, General, Graphics, and twiddling the settings and then just coming back to stationary VR at the “Ready To Fly” point that I can tell quite a bit how a settings change is going to affect the scenery and cockpit view without actually taking to flight. It saves some time finding a visual effect I can be happy with before I actually find out how much of an FPS hit it’s going to cost to enjoy that eye candy! :slightly_smiling_face:

In my opinion, AO is taking too much computing resources and in VR every fps counts. This places it in the category of “optional” settings to me (like “lens flare” or “motion blur” in 2D) for this reason, unless you do have a Video card powerful enough. I also find AO HIGH or ULTRA making surreal halos around ground workers for example.

The best way to accessing what AO is really doing to the rendered view:

  • Enable Developer Mode
  • Open the developer menu
  • Select Options > PBR Channel > AO (srgb)
  • Select Options > PBR Channel > Disabled to revert.

This will show you the actual AO buffer.


Additional materials:

GTC 2020: Real-Time Ray-Traced Ambient Occlusion of Complex Scenes using Spatial Hashing | NVIDIA Developer

1 Like

I guess I’m in the gaming dept, not the simming department. I’ve set all airline traffic and personnel as low as I can get them and would turn them all off if I could - for what I want out of MSFS, it’s like you say for “lens flare” or “motion blur.” It’s an optional setting (people) that I have no use for! :slightly_smiling_face:

But thanks for the DEV mode settings. It will be interesting to see what AO is adding or detracting from a scene. I think, though, that the criticism just falls within the same general scope of criticism of VR to begin with. Visual performance in VR is so lousy compared to 2D. Hopefully it will get better. The machinery (and maybe the software) is just not up to dealing with AO. But when it is, everything will be “more better.” I have considered that just like some folks are thrilled with overly saturated color photos on their favorite smartphone that maybe I’m just getting carried away with striking artificial effects(artifacts!). I may need more time to sober up and learn more fully what I’m doing - but given my increasing old age, I may not be able to live long enough to accomplish that! :slightly_smiling_face: Thanks for all the great, well-meaning advice!

I have read some posts on the forum, though, that think that DX12 with DLSS will solve all the world’s problems (with a new generation or two of Nvidia cards thrown in for good measure) although there are some dissenters who say Asobo will never bake DLSS into MSFS as it’s gotta run on the Xbox One X with AMD hardware! (if I read the posts correctly). Perhaps we’ll find out in the not too distant future…

1 Like

I must say I do like AO for the cockpit because it really adds depth to the otherwise flat shaded view, especially for everything below the yoke/panel (rudder pedals, central consoles, seats, etc…). What works better for the outside view to me is ground and contact shadows instead (unless you’re flying in the middle of tall buildings where AO will add a sense of realism, or when looking at buildings facades with a snow cover beneath). If they could at least optimize it further it would make it a no brainer.

DX12U (ultimate) opens the world of RT (Ray Tracing) and with this there are novel ways to do AO and other stuff usually done in screen space for perf reasons. The neat thing is that it is using silicon which is doing nothing otherwise, therefore it is like adding a 2nd GFX card just doing this. The cons though is that AMD RT is brand new and less performant than NVidia’s and if they calibrate the use of RT based on XBox AMD GPU, we won’t get the full potential for the 85%+ simmers on PC using an NVidia card.

As for DLSS, it is important because it allows raising the effective pixel count without raising per-pixel cost. It is not dissimilar a cost/benefit balance as when using TAA50+SS100 but instead of using the pixel shader, it will be using specialized silicon which is also dormant otherwise and it is stretching the lowest resolution render to higher resolution view in creating convincible pixels as-if it was rendered natively at the higher resolution.

This is the main advantage of all these techniques: the NVidia GPU is 3 in 1:

  • Rasterizer/Shaders (the GPU as we know it)
  • Ray Tracing
  • Tensor Cores

Each of these is dedicated and separate silicon, which means if you’re not using RT and TC for example, you’re only using 1/3 of the GPU silicon available (it is not 1/3 in number of transistors but 1/3 in functionality). Whenever you’re using the 2/3 remaining, you’re adding computing power to the final view render.

But I’m starting to believing the only reason they’ll add DX12U support is because it is the only API on XBox and they’ll use it for what the XBox is offering only. It is just because it is cross platform the PC version will be in DX12 as well, not because they’re intentionally porting to DX12 to get access to the additional capabilities NVidia RTX cards have to offer. This makes sense too because although 85% simmers are on NVidia, not all of these are RTX either, but by the same token, I believe it is a wasted PR opportunity not pushing the envelop and raising the bar specifically for people having an RTX.

3 Likes

I must be blind because I can’t tell the difference between on and off.

5 Likes

@Sharpe2603. I don’t know if it makes a difference but before I turned AO to HIGH, I had Texture Supersampling upped to 4x4 and Texture Synthesis set to HIGH. So maybe I’m enthused about the combined effect of better rendered and better lit/shaded surfaces both inside and outside the plane. I found all combined made a particular difference looking at textures and shapes inside the cockpit (see CptLucky8’s remarks about cockpit effects for AO).

Here’s an example of AO illustrated in 2D: Ambient Occlusion thing...? - #2 by vizuk

Here’s an enthused remark from someone who flies with AO on Ultra with a 2080Ti: VR Mode, a lot to wish for - #35 by HURCN30

As CptLucky8 remarked, if you fly over NYC (2D might be easier than 3D), AO should show in reflections and shadows between buildings in the skyscraper canyons and I’ve remarked that I can see the same thing flying amongst real canyons formed by mountain skyscrapers in Mann Gulch, MT, and Machu Picchu, Peru: [FEATURE REQUEST] Bake Ambient Occlusion in the cockpit when Ambient Occlusion is disabled - #14 by JALxml

The former should only affect ground decals (the painted yellow lines at the airport are such decals for example), the later is supposed to be only affecting in-cockpit materials (the grainy or cloth waving look on the seats and walls).

The scenery looks better textured to me with those texture settings both in Mann Gulch and Machu Picchu. Maybe it’s a placebo effect!? I’m thinking of bare rocky or very dry grassy surfaces. I’ll double-check my observations and try to screen capture the difference, if possible, much later today. Are the graphics mechanics just carried over from FSX, described in the SDK (it’s so incomplete, it doesn’t seem likely!), or was it figured out by “reverse engineering” as to what the texturing affects in MSFS?

Edit_Update: In the following composite .JPG illustrating texture supersampling, one can see distant parts of the runway area beyond ground decals change when one swipes one’s mouse cursor from right to left across the picture. Seems to apply to grassy textures, too, in the airport composition scheme of things.

Image Comparison (game-debate.com)

Source of cited image: Microsoft Flight Simulator most important graphics options - every video setting benchmarked (game-debate.com)

To me it seems that with AO off, the buildings suffer. Just having it to Low brings out some detail on the rooftops that make the buildings look more real. The difference from Low to Medium or higher is less noticeable for me, so I keep it on Low for VR.

1 Like

I turned AO to Low (it was off), and it seemed that the 3D effect was present, inside the cockpit, and outside. Whether or not that’s placebo or not, I can’t say, but it looked nice, and I had a pleasant flight from one end of Hawaii to the other, with performance and visuals that made me a happy camper. Next up, I guess I should test it in a more scenery dense environment. I think I’ll give Europe a shot, but maybe not Charles De Gaulle. The last time I tried that, I think it skeered my GPU.

But we’ll see!

Had a nice flight in Australia yesterday, but that was before the whole AO thing.

For anyone interested in flying my route in HI: Here you go! BIG TO LITTLE HAWAII.PLN (6.9 KB)

Nice flight, but a lot of overwater time. They tried to give me a visual at my destination, I chose an RNAV approach instead, just for the practice, but it’s a good thing I did as by the time I got there, it was storming pretty good and a visual would not have worked… Enjoy!

2 Likes

The actual dev mode view for AO does not show SSAO. I would assume it’s more like baked light maps since it is completely static and doesn’t show those dreaded “dirt blobs”. I think Asobos implementation of AO is quite simplistic and the different levels of this AO is just intensity change.

Without AO you also lose a lot of detail on the ground. Go to 3u2 in the snow – I was trying to figure out why the “grass” disappeared when I went in to VR, it appears that AO affects how that’s rendered.

1 Like

Just to follow up on @CptLucky8’s suggestion, I redid a series of pictures related to those posted above and am presenting them in order of increasing 3D effect. CptLucky8 is right in that one gets more 3D bang for the buck with Contact Shadows as opposed to Ambient Occlusion but I think AO provides useful 3D clues as to overall volumetric shape whereas a contact shadow is more of an underscore next to an object alerting one to its 3D presence. I tried ULTRA settings for both individually or combined vs. no settings at all (OFF) for either and in order of increasing 3D it is:

AO and CS, both OFF
AO ULTRA, CS OFF
AO OFF, CS ULTRA
AO and CS, both ULTRA

AO = Ambient Occlusion
CS = Contact Shadows

To me ULTRA Contact Shadows or the ULTRA combination of Ambient Occlusion and Contact Shadows is a little bit like going out on a date with a woman who’s applied too much mascara and eye liner! :slightly_smiling_face:

If you click through the opened pictures with your arrow keys, when you get to the ULTRA, ULTRA picture, you can jump back and forth between ULTRA, ULTRA and OFF, OFF by alternating between the left and right arrow keys.

Settings as previously described except:

Ambient Occlusion OFF, Contact Shadows OFF
(click to enlarge, arrow key to cycle views)

Ambient Occlusion ULTRA, Contact Shadows OFF
(click to enlarge, arrow key to cycle views)

Ambient Occlusion OFF, Contact Shadows ULTRA
(click to enlarge, arrow key to cycle views)

Ambient Occlusion ULTRA, Contact Shadows ULTRA
(click to enlarge, arrow key to cycle views)

1 Like

Although DX12 and DLSS are real and in reach, another thing that would expand our horizons tremendously (pun intended), would be an AFFORDABLE headset that implements foveated vision with high-resolution/low latency-eye tracking such as Apple’s rumored 8K per eye VR/AR(?) headset. Then all the extra computation required to add on ambient occlusion, contact shadows, etc., could mainly be devoted to the foveal area with less computational resources to lower-res peripheral vision areas. I’m not holding my breath, though! :slightly_smiling_face: Rumor of $3,000 Apple 8K VR/AR Headset

The rumoured Apple device with Lidar robotics style laser tracking ?

Does sound interesting, though price estimates are all over the place and there are odd reports like “6 lenses” which surely must include the Lidar lenses.