OpenXR NIS upscaling software - Release thread

Ah, thank you. That’s very helpful to know Matt. Thank you.

Hi everyone, I just came to know about the NIS and would like to try it on my modest system (GTX 1080 + Quest 2).

However, I read that it only works through steam VR, while I have the Microsoft store version? anybody has a solution? Thanks a lot.

Dunno where you read this but that’s incorrect. It should work with any device (so far reported to work with WMR, Oculus, Vive, Pimax…) and no matter whether you have the SteamVR or MS Store version of the game.

1 Like

Thanks a lot Matt, and again thanks for your effort on this software development. I look forward to try it.

It works extraordinarily well on a GTX1080 ti + G2, MS store version. I’ve settled on these settings for the time being + 100% in game. Steady 30FPS with TAA and some ultra and high settings, Post Process sharpen in UserCfg 0.
You need to play around with both in-game and NIS/OXR to find a sweet spot that suits you. Screenshot NIS OXR|690x654

2 Likes

Works incredibly well on my evga 1080 ftw!

2 Likes

Hi Potvinsuks, can you please share your settings.

I am able to make it work, and get good frames - i am trying to compare it with others.
My specs are:

Ryzen 5 3600
16 GB RAM
GTX 1080 and a Quest 2

my open XR resolution reads 2160 x 2192 - seems that I cannot change this

I am able to enable NIS scaling to 100% and Sharpness to 100%
the Quest 2 settings are 90hz at max resolution, 1.7x

I has to leave ASW to auto on the OTT as I was getting wobbly visuals.

Ingame, renderscale is at 100, Terrain LOD at 175. remaining settings are medium mainly.

Will need to tweak further.

You might find enlightenment regarding 2160x2192 here. It’s not locked at that.

See also my screenshot above.

@mbucchia Matthieu thanks again for the amzing work you do for us, the VR community - in MSFS and beyond! :wink:

I’m excited about the upcoming Nvidia driver to be released tomorrow and featuring the new DLDSR super-resolution feature for RTX cards. I’ve read somewhere this is limited to “native full screen applications” or similar and remembered immediately that NIS also wouldn’t have worked in VR - without you and your tool!!

So, I don’t want to load even more wishes onto your full desk, but would greatly appreciate your view and considerations on the new DLDSR in general and especially about making this happen in VR.

Many thanks!

1 Like

I’ll be happy to look into it however I see nowhere that they will be releasing an SDK, only the driver support. No SDK means no way for me to add support. Perhaps the SDK will be released later…

Thanks! Ouch, no SDK doesn’t sound good!
Do you think it could theoretically work in MSFS in VR just “out of the box” (install the driver, switch DLDSR on in the Nvidia panel and enjoy;))?

Short version: Not impossible but sounds unlikely.

Long version:

The issue is that for the last (many) years now, GPUs and graphics runtimes like Direct3D have been treating everything as textures, including the “output image” that is presented to your screen. An application renders to several textures in the process of making a 3D scene. One of them (and one only - or well maybe 2 for VR) is the one shown on screen.

In order to apply these algorithms in the driver, the driver must be capable of identifying which texture is the one being eventually shown on screen. This is easy for non-VR applications because the application is requesting this output texture in a very specific way from the driver (eg: it is attached to a window). So the driver “knows” what texture is the one to show on the screen. The driver knows to apply NIS / DLDSR on that texture.

For VR applications, this is much more complex, because the application does not render directly to one of these output textures. Instead, there is a thing called the VR compositor. This VR compositor has the task of doing overlay of multiple applications (eg: when you press the Windows or SteamVR menu button and you see the menu on top of your application) and it also does some very important work such as reprojection.
But to achieve all this, the VR compositor is using the driver’s resources in a very specific way, which makes it not possible (or at least significantly harder) for the driver to identify which texture is the one eventually shown in your VR headset. To complicate things even more, each headset vendor typically integrates differently to the VR compositor or write their own (eg: WMR and SteamVR have their own compositors). This means it’s very difficult to come up with a generic way to implement this output texture detection in the driver.

Our solution here with the NIS scaling tool is to intercept the images before the VR compositor and through the OpenXR API. This way we know exactly what texture the application is rendering to, because OpenXR has strong requirements on delivering this output texture to the application, so we can easily identify it.

13 Likes

Love the knowledge sharing here (even if a bit over my head).

Question…what is the impact of setting Render Scaling to 100% in the config tool? I see recommendations for say, 80%. Performance improves for sure. Would 100% essentially negate any performance gains of the tool? Or is it still leveraging the image scaling and simply pushing it at a higher resolution, but possibly still with some performance gains over not using NIS?

Separately, I’ll just say that I’m generally not a fan of introducing too many variables for optimizing a game because you complicate the ability to isolate what is actually causing performance issues. That said, I’m starting to view this tool as a “shim” of sorts to insert some much needed graphics controls and fixes for VR users (color correction, gamma, sharpening, etc.).

Do you see the tool expanding to cover a broader set of needs? Or do you see it really remaining focused on the NIS problem? No worries if so, just curious, your service to the community is greatly appreciated.

I just wanted to add my thanks for this great tool. It’s amazing as-is and after reading about your planned improvements I’m even more excited for it. :clap:

Buried in the thread now, but here is your answer: OpenXR NIS upscaling software - Release thread - #270 by mbucchia

2 Likes

After you install the NIS scaler tool, it has a checkbox if you want to disable it. So there’s no complication with this tool.

When you modify other files, like config files, it does get complicated. I use a tool called OvGME. Basically with that tool you can create a copy of the file you want to modify, then change all the settings in that duplicated file, then with the click of a button in OvGME it replaces the original with your modified copy. To disable your modifications and re-enable the original you un-check it in OvGME. It makes managing all the variables easier because you can easily see all the files you modified in one tool and enable/disable them with the click of a button.

Good luck.

1 Like

This looks amazingly promising. I might have misunderstood, but is the intent then that the interface is accessible and visible from within VR? You note the mouse/VR controller, but I was unclear about whether the actual settings window would be visible w/o taking off the headset, peeking under it uncomfortably, or pulling up an overlay (inconsistently laggy).

Some additional questions if you don’t mind (I know you must be slammed, but this is exciting stuff!):

  1. What necessitates whether something requires existing and re-entering VR to enable a change?

  2. Can you explain what “World Scale” is? Would changing this make the cockpit (and world) appear larger or smaller?

  3. Do you have a publicly posted roadmap tracker anywhere sort of like the Asobo devs do? Would love to follow along if so.

i have tried the BEta1 wich works very well. FPS are far better, visual quality better for the cockpit but lower for the landscape. i have to make some test to see which set of parameters are the best. Instruments are now very sharp. and when i watch the ground while flying, i have no more stutter. i’m very happy for this
A very big thank to you (and @CptLucky8 even if not involved in this beta1 if i’m good but for the future release to come).
(And if you put a donation/offer a coffee button somewhere, i will be one of the first to click to thx both of you !)

1 Like
  1. Yes there is a UI you can see without removing the headset

  2. There are 2 classes of things:
    a) Things that require the game engine to restart because they change some intrinsic properties such as the rendering resolution. The rendering resolution is something that must be negotiated with the game engine. We can’t just say “hey from now on I impose this resolution”. Restarting VR causes this re-negotiation.
    b) Things that are just much more complex for me to implement without requiring a restart. An example is the hand tracking support I’m adding, technically it could be enabled/disabled without requiring to restart, but this would require more complex handling. So it’s not a priority and will require a restart for now. Could change in the future.

  3. Yes. [BUG/FEATURE] Cockpit Size and World Scale in VR - Virtual Reality (VR) / VR Wishlist - Microsoft Flight Simulator Forums

  4. Not really. Just these threads on the forum. They just get super hard to follow because too many messages. Someone suggested a Discord but 1) I have never used it 2) I don’t really have time to play with it and learn. I asked for guidance here but did not see any reply: OpenXR NIS upscaling software - Release thread - #428 by mbucchia

3 Likes

Ask to Jean-luc, he is a discord master now :grin:

1 Like