praydog / UEVR

Universal Unreal Engine VR Mod (4.8 - 5.4)
http://uevr.io
2.92k stars 150 forks source link

OpenXR Toolkit Crashes on DX12/Integrate FR Into UEVR #44

Open m8t88 opened 7 months ago

m8t88 commented 7 months ago

Is your feature request related to a problem? Please describe. The OpenXR Toolkit has a generic functionality to allow fixed foveated rendering to improve performance in games. The current app OpenXR Toolkit 1.3.2 seems not to be compatible with UEVR. The issue might be that two different toolkits are trying to access the same APIs (just a hunch)

Describe the solution you'd like Either enable UEVR to run in parallel with OpenXR Toolkit or (preferred) have native fixed foveated rending support in UEVR. This could help a lot to improve performance in all VR games.

Describe alternatives you've considered Disable OpenXR Toolkit and reduce the OpenXR overall resolution in UEVR. Noticeable reductionin picture quality though.

Additional context n/a

praydog commented 7 months ago

Pinned and renamed the issue for further visibility so I don't get additional issues about this

Steve4356 commented 1 month ago

Since OpenXR Toolkit crashes with this and is left abandoned and vrperfkit does not work with this (tested both), we have no upscaling technology, which is desperately needed to improve performance/quality. Maybe Code out of any of those can be leveraged to integrate FSRv1 (i heard the newer versions can not be integrated in a "generic way")? Maybe even "plugging in" the FSR 3.0 UE plugin (https://www.youtube.com/watch?v=c6j-gcfHEKU) "on the fly" can be done?

alexzalvez commented 3 weeks ago

Since OpenXR Toolkit crashes with this and is left abandoned and vrperfkit does not work with this (tested both), we have no upscaling technology, which is desperately needed to improve performance/quality. Maybe Code out of any of those can be leveraged to integrate FSRv1 (i heard the newer versions can not be integrated in a "generic way")? Maybe even "plugging in" the FSR 3.0 UE plugin (https://www.youtube.com/watch?v=c6j-gcfHEKU) "on the fly" can be done?

Unreal Engine has a native temporal upscaler compatible with all games. Yo can configure it easily in UEVR. Go to the menu cvars (in UEVR)

Search something like this : "Renderer_r.TemporalAA.Upsampling=1" Set to 1 also this "Core_r.ScreenPercentage=66.666000" (quality dlss equivalent), 58.000000 (balanced), 50 (performance), 33.333 (ultra performance) ... or any value you want.

If the game has native DLSS use it instead, if not, this setting is gamechanger.

you can also edit "C:\Users...user...\AppData\Roaming\UnrealVRMod\example_game" and edit "cvars_standard.txt"

example:

Core_r.ScreenPercentage=58.000000 Renderer_r.DefaultFeature.AmbientOcclusion=1 Renderer_r.HZBOcclusion=0 Renderer_r.LightCulling.Quality=0 Renderer_r.SubsurfaceScattering=0 Renderer_r.TemporalAA.Upsampling=1 Renderer_r.Upscale.Quality=4