AMD FideltyFX Enabled in SteamVR (open source project)

Homepage Forums General vorpX Discussion AMD FideltyFX Enabled in SteamVR (open source project)

Viewing 15 posts - 1 through 15 (of 48 total)
  • Author
    Posts
  • #205320
    mr_spongeworthy
    Participant

    Ralf, others, don’t know if anyone has noticed this yet or played with it, but an open source project has managed to get AMD FidelityFX working in SteamVR, even for games that don’t directly support it. Obviously there are some limitations currently as it is pretty early in development, but it would be very interesting to see how this plays with vorpX at some point!

    I created a mod to enable AMD’s FidelityFX Super Resolution in SteamVR games
    by u/fholger in SteamVR

    #205334
    Ralf
    Keymaster

    Just a heads-up that using this together with vorpX would have a very different effect compared to using it for a native VR game. Rendering with vorpX is a two step process where the game first always gets rendered at its own res. This mod would only affect the second step after vorpX has already processed/scaled the original image internally, which – even if it worked (unlikely) – wouldn’t really do much except costing performance.

    Use vorpX’s built in sharpening instead, technically a more traditional sharpening kernel (with a twist), but works quite nicely.

    I have have experimenting with CAS/FidelityFX during vorpX’s internal image processing on the radar, but can’t really tell when (or even if) that will actually happen.

    #205443
    senoctar
    Participant

    Is there any chance FidelityFx FSR could be integrated in vorpX?
    The render resolution needs to be different than display resolution so there probably can’t be a generic solution for native SteamVR or Reshade like there is for CAS. But maybe for vorpX since the VR display is separate from the game’s viewport? There’s also the issue of applying FSR before effects (ex. film grain) and the HUD.
    So I was wondering if it’s even technically possible.

    #205984
    moarveer
    Participant

    Hi Ralf, any progress with FSR on Vorpx? Some extra free performance is always welcome, i would actually prefer this to any new profile, since performance can hit so hard to Vorpx games, even more in geo3d.

    #205985
    Lawrence1962
    Participant

    If FSR in ultra quality mode will get 20-30% more fps in every vorpx profile, then the effort in development would be worth it !

    #205986
    Ralf
    Keymaster

    *MIGHT* work, I’ll have experimenting with that on the list. However: As always no promises.

    Be aware though that it would work differently compared to having FideltyFX natively in a game. That’s important to understand for comparing FidelityFX on/off.

    FidelityFX natively integrated into a game renders the game at a lower resolution, e.g. when you set 1920×1080 in the game options, it might actually get rendered 1280×720, and then upscales to 1920×1080 using FidelityFX. That’s where the performance increase comes from, at the cost of reduced image quality compared to actually rendering at 1920×1080.

    With vorpX on the other hand the game would still be rendered at 1920×1080 and then upscaled to a higher resolution with FidelityFX before it is sent to the headset. If e.g. you would run a game at 1920×1080 with vorpX + FidelityFX, the result would be comparable to running a ‘native’ FidelityFX game at 2560×1440. So instead of gaining performance, you gain image quality when turning on FidelityFX without changing the game resolution. Hope that doesn’t sound too confusing.

    For now that’s all theory though, we’ll see if and how things turn out.

    #205988
    moarveer
    Participant

    Fingers crossed, thanks Ralf for at least giving it a look.

    Quite off topic but talking about performance, I’m almost at the end of Bioshock Infinite with Vorpx using Virtual Desktop and Quest 2, god that game looks incredible in VR, and Asynchronous Spacewarp on VD gives sooo much better performance on Vorpx over Oculus Airlink, I’m running at 4k res in the game and smooth as silk on a 2080ti, and it’s incredibly sharp.

    #206041
    apollon01
    Participant

    Fingers crossed with the FidelityFX, Ralf.

    #206044
    Ralf
    Keymaster

    Just checked the sample app AMD offers for download and can’t say I’m super impressed. This is nothing like nVidia’s DLSS and even that is really just good enough with the two higher quality presets. I wouldn’t go so far to call this a full blown marketing stunt, it clearly has its value. But very similar results could be achieved with any other high quality upscaling method and some sharpening. That’s what this actually is: upscaling + sharpening. No more, no less.

    The method involves two shaders that are run after another. The first one is the actual scaler that upscales from the lowered render resolution to the higher target resolution. The second one is a sharpening filter that gets applied to the upscaled result. Their sample allows to run just the upscaler without sharpening, and guess what: for the most part the sharpening filter and their recommendation to render the scene with a lower texture mipmap bias are responsible for the crisper end result, not the upscaler itself. The upscale shader without anything else still does produce slightly better results than normal bilinear scaling, but after all it’s still just upscaling, unlike nVidia’s DLSS no detail can be added that isn’t already there in the lower res input image.

    Funny enough in their documentation they even ask developers not to separately mention the sharpening in a game’s options menu. No comment on that… Also the lowered mipmap bias while rendering the actual game is fairly misleading, as that enhances texture detail regardless of the upscale method, i.e. with or without the AMD shaders.

    Long story short: I’ll check this on some rainy weekend, but don’t really expect wonders. vorpX already can do a sharpening pass (‘Image’ page of the vorpX menu) on the higher res final image before it is sent to the headset, so it pretty much already can do half of what this methods does to enhance the image.

    #206045
    Lawrence1962
    Participant

    thx Ralf ! Great News !!!

    #206046
    Ralf
    Keymaster

    That’s a surprising reaction. What I tried to say above means in a nutshell that the whole thing, although useful, doesn’t really warrent the current hype. Their marketing department is just as good as their engineers. I’m pretty sure some video players/renderers with support for higher-quality upscaling + sharpening that are available for more than a decade can produce fairly similar results.

    This is “just” a better-than-bilinear upscaler combined with state-of-the-art image sharpening, topped with a pinch of smoke and mirrors (increased texture detail through a lower mipmap bias has nothing to do with their upscaling at all). Probably better than how vorpX currently handles scaling/sharpening when processing the image before sending it to the headset, but using vorpX’s built-in sharpening will already provide a result that shouldn’t be too far away.

    If you never tried that before: depending on the resolution the game runs with and your personal tolerance for sharpening artifacts, values between 0.8 and 1.5 are usually good choices for the built-in sharpening filter.

    #206049
    andrewtsubaro
    Participant

    Hi, Ralf,

    Could you please explain what these numbers 0.8 and 1.5 mean? Which lower resolution and which sharpening value is best to choose to get best performance and image quality close to 4K?

    #206050
    Ralf
    Keymaster

    That’s the strength of the sharpening filter. Go as high resolution wise as you consider yourself OK performance wise. vorpX determines its final headset res based on the game resolution. The sharpening filter is then applied at the (higher) final resolution, which happens to be the same basic principle that the AMD upscaler uses, although vorpX has less sophisticated scaling/sharpening. Most likely not quite as good, but also not too far away from what you could achieve with the AMD method.

    A good approach is choosing the highest possible game resolution that still gets you half your headset refresh rate (or whatever you consider tolerable as minimum framerate). Then dial in the sharpening amount without overdoing it.

    Note that the above only applies to actual VR modes (OpenXR, SteamVR, Oculus), not to the “Generic Headset” or “Generic 3D-Display” mode. In the latter modes vorpX doesn’t do any upscaling.

    #206083
    andrewtsubaro
    Participant

    Thanks, Ralf! Somehow never payed attention to this nice feature, certainly will try it. We do need somehting to increase performance for high image quality for vorpx, especially for G3D.

    #206145
    Ralf
    Keymaster

    I spent the last three days replicating what the AMD shaders do within the vorpX image processing pipeline. For the most part that meant adding a higher quality sampling algorithm that replaces the default GPU sampling for the headset render stage of vorpX. The sharpening kernel used on top of that is the same as before. It’s absolutely competetive, spent days finetuning its paramaters back then… AMDs dirty little mipmap trick, which normally only is available if game devs implement it in addition to the FSR shaders, can be forced by vorpX.

    Long story short: turned out noticably better than sharpening only as currently available in the vorpX menu. Also better than adding AMD’s method as an extra step in between, since adding an extra processing step would partially negate the prior gain in clarity later when the image has to be resampled again.

    But see for yourself. Skyrim SE is an ideal test case due to its super blurry antialiasing. Looks almost like being rendered at twice the resolution in the headset. I.e. at 1440p the image will look similarly crisp as 4K does without any processing, although (just like AMD’s method) in truth it’s really just traditional upscaling+sharpening. Unlike AMD I don’t have to compete with nVidia, so I don’t have to pretend it’s a direct substitute for their DLSS. ;)

    No enhancement vs. vorpX “Super Resolution”:

    CAVEAT: Note that this will only be available in the actual headset modes (Oculus, SteamVR, OpenXR). ‘Generic 3D-Display’ and ‘Generic Headset’ don’t involve any upscaling that could be utilzed for these improvements.

Viewing 15 posts - 1 through 15 (of 48 total)
  • You must be logged in to reply to this topic.

Spread the word. Share this post!