OpenXR Update from Nov 17th - Reverb G2 CTD after switching to VR and back

Hi again good morning.Im stuck with “create a file named after the application”.Do you mean create a file and name it ?

Hi mbucchia,

it seems i was a bit too fast yesterday with my results. I tried again today with direct comparison with and without your tool. And i can see no difference in sharpness. That was perhaps because of the difference with motion repro on/off.
So it still could be a slight increase in performance, but not much i think.

Perhaps this should be implemented in a deeper layer, like in wmr (where we can switch between 60/90 Hz).

But thanks a lot for your effort!

1 Like

Thanks for experimenting with me @HyperJet2018 and @RPthreenine. @Nickba78 it looks like you shouldn’t keep trying as we’ve established that it does not make a compelling difference.

As I mentioned earlier, I wasn’t convinced this FOV change would make a difference, and I’m not sure I understand your point on “render Resolution did not change, i thought that it gets decreased”. The resolution is another parameter (the Custom Render Scale, which you are already playing with). When you changed the FOV to be smaller, less pixels ended up being rasterized because the projection did not cover the entire screen. This can save up on frustrum culling (the ability for the engine and geometry pipeline to skip drawing geometry outside of your FOV) but for such small reduction in FOV I don’t think it would be noticeable. Less pixels can also save up on the pixel shader stage, which for some applications can make a noticeable difference if they have very intense pixel shader processing, but it does not look to be the case for MSFS. When RPthreenine tested with 50% and saw a bump in 6-7 FPS, this was likely the combination of both savings described above, because the FOV was significantly smaller.

Anyway, in spite of the results not being what you had hoped for, I am glad I could assist with this experiment. I hope it also gives you a good example of why not all feature requests can be addressed :slight_smile:

For C/C++ developers out there, I reiterate that you can use the mostly-generic API layer code I shared to conduct this kind of experiments. Maybe with luck you will find that “game changer” tweak :slight_smile:

PS: To the mods, I apologize for hijacking this thread, given how many messages we have now, I wish we had just started another thread! Sorry.

3 Likes

Hi Mbucchia,

let me just explain why i excpected much more.


Following example (MSFS in both cases Render Scale 100%):

  1. using 100% in OpenXR, i get a Render Resolution of 3164x3092 and around 22.5fps
  2. using 65% in OpenXR, i get a Render Resolution of 2548x2492 and around 33.5fps (in the same scene, everything same)

So, if the PC renders around 64% of the Original Pixels, it gets faster by a factor of 1.49 in fps!
And this was what i expected by rendering 80% of FOV on horizontal and vertical, which is also 64% of the Pixels. That would be a real game changer for VR on the G2 (because the unmodded G2 just has so much Pixels we can not see, so why render them? And i will use it unmodded, because i want to use it with my glasses.)
So i dont get it, why this should not be faster…
As i searched the internet, i found out that in steamVR Beta just this is implemented and offers a high amount of speedup or increased sharpness.

SteamVR Beta 1.17.8’s new Field of View slider is good. : ValveIndex (reddit.com)
“You can now reduce your FOV for more frames per second. This is like pressing the + and - buttons in original DOS Doom if you remember that, shrinking the play area down for higher frames per second.”

SteamVR Update Adds Field-of-view Option and World Scale Adjustment (roadtovr.com)

" Similarly, the new feature in SteamVR essentially allows you to trade some peripheral view for a sharper view in a smaller area."

So i think this should also be possible with WMR, but perhaps impossible to implement in a plugin like you tried.

Thanks again,
Thomas

Interesting approach. Set it up just for interest with the reduction settings noted in the read me. Will check it out under different conditions.

@mbucchia: keep exploring and experimenting and thank you for your work!

I even use a modded G2 and had no visual degradation using your “reduced” FOV settings. I use a factoy made cover from “VR Cover” (which I can highly reccomend, btw).

Your idea still seems very logical to me, however, @mbucchia explained pretty well why it does not work in this case (frustum culling and pixel shaders).

I find G2 so clear that reducing viewing area to further improve clarity seems counter-intuitive.
I’m trying to find a way to increase viewing area…even at the expense of giving up some resolution…which as mentioned I can spare.

@HyperJet2018 - I come bearing good news,

See my post here about enabling NIS (experimentally, through a personal project of mine):

1 Like

Oh wow, many thanks for your great efforts!!! Feels like Christmas for us VR users! I will try it as soon as possible! I also read in the other thread that you lower the resolution for MSFS. I think that this could be also the key to your project of lowering the FOV - when you decrease the resolution that MSFS sees, it has to render fewer Pixels and therefore could also boost the FPS. But just speculation…

I tried it now, and i must say: wow, you really nailed it this time!! Super great work! :smiley:
Thank you so much!
My preferred settings are:
a) without Reprojection:
OXR 100% Scale,
inGame: 100% Scale,
for your FS2020.cfg:
scaling=0.85
sharpness=0.0

b) with Repro:
OXR 90% Scale,
InGame 100% Scale,
for your FS2020.cfg:
scaling=0.7
sharpness=0.0

I see no FPS increase when running at the same render Output Resolution. But with same Resolution i see a better image quality than the Upscaler built into MSFS. Especially less flickering of Trees! The Key is to have inGame Resolution to 100% and let your NIS Plugin do the upscaling.
I am also happy that it works with Reprojection!!

This time you made it possible that the Resolution displayed to MSFS gets reduced, perhaps a FOV option could be included? Then the resolution in MSFS would get even smaller and your code would scale up and has to leave black edges (which us G2 users with goggles cant see). I think this would result in FPS gain which could also be traded to cranking up the scaling.

But even without this, thanks a lot for your effort :+1: :+1::+1:

Thanks for the feedback and I’m happy to hear this is working for you.

Here’s a secret (but I’m not going to support this quite yet, maybe after the NIS stuff is more stable): you can activate both nis_scaler and fov_modifier simultaneously. At your own risks for now (I’m too busy supporting the NIS feedback right now). You might need to be careful with which layer you enable first (fov_modifier had a bug that I fixed since but might require you to install it after nis_scaler).

1 Like

As i did not see any improvements in sharpness from your FOV plugin and also no FPS gains, i will not use it. It even made Repro unusable. But the new NIS plugin is really GREAT! Just thought that somehow the idea of the FOV plugin could be realized sometime - but one step after the other.
Perhaps it could work by reducing the MSFS Render Resolution like in the NIS plugin and then drawing black bars on the bigger VR screen edges. But that would have to tell MSFS also that the FOV is smaller than the real FOV to avoid angle errors. So perhaps a bit complicated.
All the best for you Matthieu very happy now!!!

1 Like

(deleting post - wrong thread!)

I’m going to try this tomorrow out of curiosity!

@mbucchia : Thanks a million for you work! I’m away from my sim rig for a couple of days but I will give your mods a go as soon as I get the opportunity.

Here’s one more question: how hard would it be to implement the option to change overall image contrast & saturation in VR, as for example done by ReshadeVR in DCS? Is that something where your layer could be coupled with what can be set in NV control panel but which until now has no effect in VR? I’d be happy to contribute as an beta or even alpha tester… :wink:

Thank you @mbucchia for your script. This really is a solid base for implementing into DevTools :-). I can see about 7-8 +FPS with my i9 9900k@5GHz and an RTX 3090.
Keep on optimizing and thank you for your good work. The VR community is backing you :-).

I’d like to move these discussions to the NIS thread if possible. The CTD reported 3 weeks ago with OpenXR is gone thankfully so I don’t want to keep this thread alive more than it needs it.

@DerKlausi - yes it should be possible. The NIS scaler code I wrote is a proof of concept of inserting a shader between the application and OpenXR. This shader could be anything, including what you mentioned for contrast etc. For example we could include this shader: Brightness, contrast, saturation (shadertoy.com)

@Incubus5604 - just to be clear you are talking about my NIS scaler, not the earlier FOV modifier experiment, right?

Affirm! Talking about the NIS Scaler :ok_hand:t2:

1 Like

Did some testing yesterday:

First, I can confirm that both layers work in parallel. I’ve installed the fov_modifier after the nis_scaler as you, @mbucchia suggested.

However, I encountered two interesting phenomenons:

  • To test if the fov_modifier works, I’ve scaled down all settings down to 50% and received the “small view rectangle” as expected. Interestingly, this had absolutely no effect on FPS.

  • Secondly, when scaling back to the suggested settings by @HyperJet2018, in contrast to my last test, I could now see a slighly decreased FOV (as one would expect), compared to the original 100% value. This however, was not the case some days ago, when I first tested the layer, which might be simply due to my subjecive perception.

As activating both layers together did not further improve FPS, I deactivated the fov_modifier again.

If i have 45fps in certain high density area (mostly 50+ in mountains and country side) and i have capped fps to 45, will motion reprojection double my frames from 45 to 90? Or is it still tripling 30 to 90? Artifags are so annoying in some point, but in general motion reprojection is best solution for VR.