Search Unity

Official AMD FidelityFX Super Resolution (FSR) preview now available!

Discussion in 'High Definition Render Pipeline' started by UnityMaru, Jul 15, 2021.

  1. UnityMaru

    UnityMaru

    Community Engagement Manager PSM

    Joined:
    Mar 16, 2016
    Posts:
    1,227
    Hi everybody,

    We're excited to announce that AMD FidelityFX Super Resolution is available now in the Graphics GitHub repo: https://github.com/Unity-Technologies/Graphics

    FidelityFX Super Resolution will be available in Unity 2021.2b soon. For developers who want to get their hands on FSR now, check out the latest release on Github!

    Unity HDRP Spaceship demo AMD FSR ON vs OFF screenshot 1_4K.png

    Product Overview

    AMD FidelityFX Super Resolution (FSR) uses cutting-edge super-optimized spatial upscaling technologies to help boost framerates with and deliver high-quality, high resolution gaming experiences.


    SUPER-OPTIMIZED SUPER RESOLUTION

    • The state-of-the-art spatial upscaling algorithm delivers near-native resolution quality gaming experiences with super high-quality edges and distinctive pixel detail.

    INDUSTRY STANDARD

    • Based on industry standards and will be fully open source and will be available on GPUOpen.com under the MIT license [on 7/15].
    • Supports DirectX® 11, 12 and Vulkan® out-of-the-box.
    • Complements other GPUOpen open source FidelityFX developer technologies.

    CROSS-PLATFORM
    • FSR solves a game developer pain-point with a single scalable upscaling solution that supports a broad spectrum of products.
    • FSR is hand-optimized for fast performance and works from APU to ultra-enthusiast graphics cards* and does not require any specialized upscaling hardware for support.
    • FSR is not limited to the latest GPU architectures only -- it runs on a large variety of GPUs, including from both AMD and NVIDIA.*
    EASY TO INTEGRATE
    • FSR delivers the same great experience that developers expect from AMD FidelityFX, with a low barrier of entry.
    • Designed to be easy to integrate via single compute shader solutions without external dependencies.
    • Minimal integration requirements for developers when compared to other upscaling solutions – FSR does not rely on other data such as frame history or motion vectors.
    • Supports both fixed and arbitrary resolution scaling.
    *AMD FidelityFX Super Resolution is supported on the following AMD products: AMD Radeon™ RX 6000, RX 5000, RX 500, RX 480, RX 470, RX 460, RX Vega Series graphics cards & all AMD Ryzen™ Processors with Radeon™ Graphics. AMD does not provide technical or warranty support for AMD FidelityFX Super Resolution enablement on other vendor's graphics cards. GD-187.



    Getting Started

    Unity developers can enable FSR by enabling DRS on your HDRP quality settings, and selecting “FidelityFX Super Resolution 1.0” under the Upscale filter option. FSR settings can be tweaked along in the dynamic resolution panel.


    More information

    You can learn more about AMD's FidelityFX Super Resolution technology here.
     
    M_MG_S, Rewaken, AlejMC and 16 others like this.
  2. Shaderic

    Shaderic

    Joined:
    Dec 8, 2017
    Posts:
    5
    Are there any plans to add FSR to URP in the future?
     
  3. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    +URP... and make sure it works on consoles, PCVR and PSVR. Don't go being all cheeky now.
     
  4. BonneCW

    BonneCW

    Joined:
    Jan 22, 2017
    Posts:
    123
    +1 for URP also from me.
     
    lacas8282 and Pr0x1d like this.
  5. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    Awesome! HDRP already has a good amount of upscaling options.This is a very welcome addition :D
    Also looking forward to the upcoming temporal upsampling.
    Will help a lot with GPU performance. Really nice to see the improvements to dynamic resolution in general.

    Will be really interesting to see the improvements AMD and maybe the open source community make to FSR in the future. Hope unity keeps it up to date.
     
  6. Totalschaden

    Totalschaden

    Joined:
    Dec 14, 2013
    Posts:
    44
  7. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    +1 URP + VR
     
  8. vx4

    vx4

    Joined:
    Dec 11, 2012
    Posts:
    181
    Does support android?
     
    AlejMC likes this.
  9. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    Built-in Rendering Pipeline, please. The only one that is feature complete enough to use in a real game.
     
  10. DreamersINC

    DreamersINC

    Joined:
    Mar 4, 2015
    Posts:
    131
    Any chance of back porting to 2020.3 for us DOTS Devs stuck on 2020.3 LTS? Or any news on DOTS in 2021.2B?
     
    AlejMC likes this.
  11. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    +1 URP...also add DLSS to URP
     
    MagiJedi, Deleted User and BonneCW like this.
  12. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    There's practically no chance on this because:
    - This relies on new dynamic resolution changes which are not in 2020.3
    - Unity doesn't usually backport new features to older, already released major HDRP versions
    - DOTS is highly experimental so supporting DOTS hybrid rendering with this for past releases can't be any kind of priority to Unity.

    Would assume the odds would be higher in getting DOTS running on 2021.2+ instead.
     
    Ruchir likes this.
  13. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    951
    Are there any plans to support this in Metal? This would be perfect for the new Macs, which have a very high screen resolution but are only capable of rendering at roughly 60% that.

    So you'd start with 1440x900 and then upscale to 2560x1600, which would look wonderful as the source resolution is already pretty good.
     
    Last edited: Jul 19, 2021
    AlejMC and Lars-Steenhoff like this.
  14. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    I've requested URP support for DLSS in past as well. I really do hope Unity does consider bringing both DLSS and FSR to URP too. Current technical limitations aside, it would be silly if they do leave these feats to HDRP -only. I get that getting DR running in a way that these techs require does involve a lot of work on URP side but I'm hoping it can still happen.

    When I asked about getting DLSS to URP, this was the developer response:
    I'm posting this quote here just for awareness so people know what is involved here, most of these things probably have to happen before FSR could work on URP as well.

    As another note, Unity still keeps adding a ton of URP / HDRP specific features that only land on one of them and often these features are such that would benefit both and the cross-SRP goal Unity has. In addition, I'd love to see Unity add some x-pipeline roadmap to the current roadmap site so we could see better how that work is going :)
     
  15. Wolfos

    Wolfos

    Joined:
    Mar 17, 2011
    Posts:
    951
    Doing HDRP first makes sense, as this tech is mostly intended for 4K gaming on consoles, where games often run at a dynamic resolution. This would replace the existing upscaling tech there.

    We're not in 2019 anymore. HDRP has a lot of features that aren't in built-in and it's clearly production ready, as proven by the games that already shipped with HDRP.
     
    mick129 likes this.
  16. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    It absolutely does, especially for non-VR use. HDRP is still stuggling in VR even with the massive boost you get from DLSS, hence people wanting to see this tech in URP VR.

    Basically what I and many others here would love to know is if Unity is planning on porting this work to URP in the future or not.
     
    heartingNinja and MagiJedi like this.
  17. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It's a shame that HDRP is not production ready for android, quest, switch, scalable games, most laptops etc and Unity claims URP will succeed built-in.

    At this rate I very much consider URP to be complete as actions speak louder than words or little online to-do lists. This was determined by how many years since LWRP came out. I mean it's been a few years since they changed the name to URP as well. Time flies.

    Which means if you want a scalable title that runs on low and high end with FSR / DLSS - use Unreal Engine, otherwise use HDRP - according to Unity's actions.

    (By default, I make conclusions and decisions based on what actually happened rather than just what people say or assume)
     
    pwka, SMHall, AlejMC and 6 others like this.
  18. DreamersINC

    DreamersINC

    Joined:
    Mar 4, 2015
    Posts:
    131
    It's actually possible to back port FSR TO 2020 LTS. Edge of Eternity as already added.
    I am not using the hybrid rendering so not an issue for quite a few of use
     
  19. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Ah, my response was really meant to describe what Unity typically does in these types of scenarios. If you are willing to backport it yourself then that's a whole another thing. If you do it yourself, main limiting factor would be actual native (c++) side changes Unity may have done to support feature x as those can't be backported by engine users.

    For example I had TAA improvements running on way older HDRP versions which Unity eventually landed it on and this was possible because it was only C# and shader code change.

    But in the nutshell: unless it's a bugfix, it typically won't be backported by Unity.
     
  20. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I've also seen them backport a feature before (can't remember which) - but it was non-invasive and probably was part of a fix anyway.
     
  21. blackbird

    blackbird

    Joined:
    Aug 9, 2011
    Posts:
    591
    it's only for unity 2021 any chance to bring it to unity 2019 ...
     
    tntfoz likes this.
  22. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368
    I'm working on Built-in support for FSR and CAS.
     
  23. blackbird

    blackbird

    Joined:
    Aug 9, 2011
    Posts:
    591
    any chance to release hdrp version for unity 2019
     
  24. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368
    Sorry, I'm not working on HDRP version, Unity is already taking care of that. Im working on Built-in integration only.
     
    AlejMC, DioLeChien and AlphaGarg8447 like this.
  25. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368
    upload_2021-7-20_19-58-33.png
    Seems like Unity removed FSR access in their Github. I don't need it anyway, im using AMD source files! :D
     
    AlphaGarg8447 likes this.
  26. MiTschMR

    MiTschMR

    Joined:
    Aug 28, 2018
    Posts:
    487
  27. blackbird

    blackbird

    Joined:
    Aug 9, 2011
    Posts:
    591
    sadly they are bringing everything to unity 2021 and ignoring unity 2020 and unity 2019 :/
     
  28. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    They are not ignoring those. Unity only supports LTS versions of 2020 and 2019 and Unity makes a promise that it tries to keep those LTS versions stable by only bringing in platform SDK updates and bug fixes.

    This mean no new features should creep in as they can potentially break stuff. Everyone always wants "just this one thing in" but LTS - as Unity currently does it - can't happen with such mindset. New stuff will arrive to current TECH releases (20xx.1 and 20xx.2) where they can safely develop the features without breaking in-production projects.

    TL;DR: Typically only TECH stream gets new features.
     
    NotaNaN, hippocoder and PutridEx like this.
  29. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Technically you can just say "oh it's just a post effect" but it uses compute and may be called by mistake on mobile piplelines or any other number of issues. So I don't think it should be backported either.

    LTS is pretty much only more stable because it doesn't get features, after all it gets fixes after the main releases do. Fixes happen at the bleeding edge and get backported down.

    So a feature is pretty much the most unstable thing you can introduce to LTS.
     
  30. DreamersINC

    DreamersINC

    Joined:
    Mar 4, 2015
    Posts:
    131
    I agree however you have created an issue with this due to the freeze on DOTS development with DOTS stuck on 2020.3 LTS. Even more, this seems like a key reason the package manager was created. Create a an experimental package back porting FSR into 2020.3 for the devs unity has locked on the LTS. Or tell me that DOTS is dead so I can either more to a new engine or Entitias

    To quote Unity's press release,
    "The Experimental phase contains exploratory and cutting-edge packages. They have not been tested for production, and they are not necessarily part of any roadmap. While individuals or teams might offer direct support to users for Experimental packages, they are not maintained by official Unity support channels. Experimental packages can be deprecated without being released." Sounds like a perfect place for back porting FSR to at least 2020 LTS
     
    Last edited: Jul 23, 2021
  31. Deleted User

    Deleted User

    Guest

    AydinDeveloper likes this.
  32. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Fidelity FX SSSR and Denoiser are quite nice. Main limiting factor when it comes to these is that they only work on SM6+ / DX12 and Vulkan. I'd love to have that denoiser in HDRP SSR as their current denoiser isn't really functional enough IMHO.

    While CACAO (AMD's new AO) looks nice, it seems to be quite expensive to render and at least the preview images I've seen don't notably differ from GTAO which is already in HDRP. Also CACAO comes with same platform limitation as their new SSSR and Denoiser.

    As a side note, when I tested AMD's Fidelity FX SSSR + Denoiser sample, it didn't even run on all DX12 GPU's. It did run on my RTX2070S and GTX970 but failed to run at all on older GTX670 which is DX12 gpu but apparently doesn't support all DX12 features. I'm just mentioning this here because the supported devices for these new effects may be even narrower than one would initially imagine. This isn't a huge issue though as long as there can be fallback to other techs (like currently happens with DLSS and raytracing on HDRP).
     
    Deleted User likes this.
  33. AlphaGarg8447

    AlphaGarg8447

    Joined:
    Jul 28, 2013
    Posts:
    20
    I love you, man. This is such great news to hear. Do you have any sort of ETA or someplace where we can watch for updates?
     
  34. Karawasa

    Karawasa

    Joined:
    Oct 21, 2013
    Posts:
    9
    How is this coming along? I would be excited to try it out.
     
  35. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    so, when will FSR included in the beta release?
     
  36. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Should be in beta 8 since the FSR changes are included on 2021.2.0b8.3320 tag at Graphics repo. So probably out this week.
     
    Reanimate_L likes this.
  37. SebLagarde

    SebLagarde

    Unity Technologies

    Joined:
    Dec 30, 2015
    Posts:
    934
    Hi,

    FSR will not be backport to previous version of HDRP, as detailed by other users, we don't backport features.
    It is possible to do the backport yourself but be aware that various other improvement have been done for dynamic resolution and bug fixing during the development of FSR.

    FSR will be available in URP in a future version but it require various modification in URP architecture before this happen and it is not the main priority for now.

    DLSS is only available for (Edit correction) DX12/DX11/Vulkan with nvidia card which is pretty limited for the range of platform target by URP, also it require even more architecture change than FSR. For now it is not on the roadmap.

    DLSS is available for builtin render pipeline, the plugin is develop and maintain by NVidia. They could be contacted for it.
     
    Last edited: Aug 25, 2021
    rz_0lento and PutridEx like this.
  38. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    I didn't know DLSS is DX12 only, from my time viewing HDRP DLSS site documentation, I didn't see any mention of it -- might be worth a look. Although I could be wrong :D

    https://docs.unity3d.com/Packages/c...ual/deep-learning-super-sampling-in-hdrp.html
     
    Ruchir likes this.
  39. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    Indeed, DLSS only require a 64 bits architecture and a DLSS ready GPU.

    Aside from that, it's Graphic API agnostic and will work with DX12, DX11 and even Vulkan on HDRP.
     
    Ruchir and PutridEx like this.
  40. SebLagarde

    SebLagarde

    Unity Technologies

    Joined:
    Dec 30, 2015
    Posts:
    934
    Yes my bad, thanks for the correction :)

    And we will update the documentation regrading requirement and platform https://github.com/Unity-Technologies/Graphics/pull/5433
     
    Last edited: Aug 25, 2021
  41. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Doesn't there need to be some sort of training phase to use this? Like where the AI analyses the game.. Or is that not needed anymore?
     
  42. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    That was only needed for DLSS 1.0. Current DLSS we get uses generic training data out of the box.
     
    radiantboy likes this.
  43. jakemog22

    jakemog22

    Joined:
    Jun 6, 2019
    Posts:
    4
    Well I enabled FSR in the HDRP asset panel, but I see no FSR settings anywhere???
     
    radiantboy likes this.
  44. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    how did you install it? I want to try also..
     
  45. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Main doc site hasn't been updated yet for the upscaling filter part but you can browse the doc on github:
    https://github.com/Unity-Technologi...finition/Documentation~/Dynamic-Resolution.md

    To use FSR properly, you basically have to set the lower resolution yourself, for testing purposes you can just enable the dynamic resolution and set it to use FSR and fixed resolution, set some percentage there. I'd imagine in real application you'd want to tweak this percentage on demand.

    Afaik only DLSS has settings that let it automatically tweak the resolution for you.
     
    fuzzy3d and chap-unity like this.
  46. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    I enabled dynamic resolution, nothing seems any different, same performance etc.. I see no mention of FSR in my unity, I presume if it was there id see some sort of performance boost.
     
  47. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    To easily know if Dynamic Res is enabled, set forced screen Res to something extremely low, like 30-40% make sure you're in-game and checking the in-game screen, not scene. .
    At that point you will notice a massive difference in visuals, especially when your upscale filter is set to catmull (lowest quality upscaler available in unity starting from 2021.2) The other two (billinear, and one more I can't remember) are removed in 2021.2 since they serve no purpose anymore.

    Also note, Dynamic Res helps with your GPU. If your bottleneck is the CPU, it's not gonna do much.

    Dynamic res needs to also be enabled on a camera basis for it to be activated on said camera.
     
  48. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    You need Unity 2021.2.0b8 or newer as that's where FSR landed.
     
  49. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Thanks, doing that shows a difference, it seems to draw the game window in a smaller resolution in the bottom left corner, shouldn't it be stretched to fill the whole window? Performance doesn't really improve even if I set it to 1, I guess that's a good thing, shall I just turn it off? Or would it still benefit other users with worse graphics cards?. Shame though I am always looking for some magic speed ups since my game really doesnt run optimally, and it's difficult working out why, profiler says 40% is spent on rendering. .
     
    Last edited: Aug 29, 2021
  50. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    It should be the entire screen. That's weird.
    You really should use the profiler. Profiling in editor will tell you how long your CPU and GPU is taking.
    Note though: if you're profiling the game in editor (not a build) CPU data will have a big overhead which is caused by the editor. So in the build it will be quite a bit smaller.

    Sometimes, the profiler will show you the editor overhead in the list, to help you get an idea of how much time CPU is actually taking.

    GPU is not added by default, when you open the profiler there's a top left 'modules' click it and add GPU.
    GPU data is usually pretty accurate even when in editor, there might be a small overhead.
    Note that GPU profiling will not work with graphic jobs enabled (in player settings) so when doing profiling disable it, otherwise enable it for performance wins.

    if it's not improving your performance, you're CPU bottlenecked.
    BUT: there's a chance you actually might not be CPU bottlenecked in a build, just in the editor, caused by the overhead. You'll need to do your own tests.
     
    radiantboy likes this.