Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Released] FSR 3 - Boost your FPS with AMD FidelityFX™ Super Resolution 3.0 (FSR 3) Upscaling

Discussion in 'Assets and Asset Store' started by Alterego-Games, Nov 4, 2022.

?

What would you be willen to pay for AMD FSR 2.0 support

  1. 2 - 5 dollar/euro

  2. 5 - 10 dollar/euro

  3. 10 - 15 dollar/euro

  4. 15 + dollar/euro

  5. 0 dollar/euro

  6. I'm not interested in FSR

Results are only viewable after voting.
  1. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342

    Boost your frames with AMD FidelityFX Super Resolution 2 Upscaling for Unity!
    Performance optimalisation starts here!

    Assetstore URL: https://assetstore.unity.com/packages/slug/252172

    This Unity asset is created to interface with the open-source AMD FidelityFX-FSR3 found here: https://github.com/GPUOpen-Librarie.../techniques/super-resolution-interpolation.md

    AMD FidelityFX-FSR3 is an upscaling technique, creating high quality and resolution frames based on lower resolution input. By using this, projects could have drastically lower GPU requirements than without.

    Only if your project is limited by GPU performance, FSR 3 will gain you a higher framerate. If a project is limited by CPU performance, all it will do is make the GPU workload lower. While this may seem like a big limitation, it also means a laptop will use way less battery power when using FSR 3!

    Free FSR 3 Update
    This asset will soon be updated to FSR 3 upscaling with a free update! Frame Generation will be a later update next year, but will need to be researched first.

    Easy to use
    Simply drag our FSR 3 component on your camera and you're all set to go!
    Both Built-in and URP are a single drag and drop, only for HDRP we need two small changes to the source files. All described into detail in our documentation!

    Platform support
    By using a compute shader FSR back-end, we're able to support almost all platforms, check the Technical details below for which platforms are supported and tested.

    Current supported Unity Render Pipelines:
    Built-in (BIRP), Universal Render Pipeline (URP) and High-Definition Render Pipeline (HDRP).

    Current supported platforms:
    • Windows (DX11, DX12, Vulkan)
    • Linux (Vulkan)
    • MacOS (Metal)
    • iOS (Metal)
    • Android (Vulkan)
    • Playstation 4
    • Playstation 5
    • Xbox One
    • Xbox Series X|S
    • Nintendo Switch
    Not tested platforms:
    • VR
    • WebGL
     
    Last edited: Dec 20, 2023
  2. wwWwwwW1

    wwWwwwW1

    Joined:
    Oct 31, 2021
    Posts:
    744
    Hi, glad to hear that, but just a little curious!

    Is there a way to generate motion vectors for URP (released & current beta ver.)?

    As far as I know, there's no motion vector pass in its Lit shader & most custom shaders.

    So a possible option might be using another shader (exists in URP package) to render the motion vectors, which does not support custom vertex positions.

    (It can be unwise that Unity does not add motion vector pass to official URP shaders after claiming that URP supports motion vectors on the 2021 roadmap.)
     
  3. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,756
    no support for built-in? many of us do not use URP or HDRP
     
    Alterego-Games and atomicjoe like this.
  4. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    We will definitely have support for the standard renderpipeline! (I added the “built-in” term you used to my post, thanks for that). The first release will include it.

    About URP, to be perfectly honest, our current focus has been Built-in and HDRP, URP support is currently half-way complete. So we haven’t yet ran into issues with the motion vectors, but I think it’ll work out. We had a few bumps in the implementation for SRP, but we’re able to fix them all:)
     
    Last edited: Nov 5, 2022
    wwWwwwW1 likes this.
  5. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,361
    Make sure to add BIRP support, yeah users love the idea of keeping BIRP around for quite longer! :V :D
     
    Alterego-Games likes this.
  6. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Haha, unfortunately Unity never really decided how to call the BIRP:p
     
  7. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    897
    Hmmmm... this sentence makes little sense. Do you mean that your focus has been the custom srp's a tiny number of people have been writing for themselves and HDRP? But not URP, one of the major two supported implementations of SRP?

    What do you mean your focus has been SRP and HDRP?
     
  8. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    624
    Standard render pipeline (SRP) is what OP calls built in
     
  9. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    897
    Oh, understood. Confusing, because the rest of the universe calls scriptable render pipelines SRP (https://unity.com/srp) and has since unity started this effort.

    Thanks for the clarification; at least I know what he means now.
     
    blueivy likes this.
  10. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Sorry for the confusion, internally we call it the Standard Render Pipeline(SRP). I have updated my original post.

    For clarification: The first release will have support for the built-in, URP and HDRP.
     
    Last edited: Nov 5, 2022
    horeaper likes this.
  11. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,636
    No not the rest of the universe. I learned BIRP as SRP too and it was in the docs at one point and even mentioned in some forgotten comments way later. This was discussed in some other thread a couple months ago :D

    But yeah, better to call it built-in now :)

    On the topic - a comfortably usable FSR implementation would certainly be great.
     
    Alterego-Games likes this.
  12. TanselAltinel

    TanselAltinel

    Joined:
    Jan 7, 2015
    Posts:
    190
    I cast my vote for 15+ USD even though my local currency is a mess against USD.
    This is because I know it's not an easy job.

    DLSS in 2021 LTS is broken. It is broken, as in, custom postprocess and custom volumes are not working correctly. When a custom volume or custom postprocess is enabled with DLSS, Unity only renders a quarter of the screen. They never backported their fix to 2021 LTS. I had to go implement a custom injection point, running DLSS after PostProcess, which decreases PostProcess quality considerably. I'm still maintaining this repo on my GitHub, but it is a pain, and at one point I said screw it, and switched to 2022.1 & HDRP 13, scrapping some of the plugins I've been using. Some plugins only support specific Unity versions only when LTS is released, which means 2022.3 release is what I have to be waiting for, but I don't have time for that.

    While doing this, I looked into adding FSR 2.0 support because Unity only implemented FSR 1.0 into HDRP. It was too much work and stepping into uncharted territories for me.

    So, I have my questions.
    Which Unity & HDRP versions will be supported?
    If this is going to be a "drag & drop" solution under camera, how do you plan on supporting HDRP settings dynamic scaling, or is it going to be utilizing custom frame settings?
    Is this going to be a per camera component then? Currently, Dynamic Scaling is a per camera setting.

    I'm also very interested in the technical side. I'm down with whatever little info you can share.
     
    Alterego-Games likes this.
  13. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Yeah, quite a bummer FSR 2.0 (and DLSS for that matter), require quite a bit of work. And to further complicate things, thousands of different render pipelines...

    Lots of questions, lets see if I can answer a few.

    We're gunning for easy drag & drop 1 component on each camera. I believe for BIRP Dynamic Scaling is project wide, not camera dependent. Also, the way I see it, FSR 2.0 is always ment as a project wide "Quality Setting" by design on AMD's part. However, if popular request, we could change this in future upgrades.

    Unity versions: not 100% sure yet, since the renderpipelines mess things up considerably. But for the built-in, theoretically we can go down to 2017 LTS.

    HDRP/URP versions: Can't say much about this yet, we need it ourselves for an in-house project on HDRP v11 I believe (though not 100% sure, could be 12). But once released we can possibly add support for older versions on request.

    For the Built-in we use commandbuffers to blit the required buffers to rendertextures before PostProcess, upscale and blit the result back to the colorbuffer. Currently we're using the ScalableBufferManager (Dynamic Resolution for BIRP and URP, and the HDRP equivalent), but we're also looking towards other options, without breaking PostProcessing.

    But for HDRP and URP, my personal knowledge is less advanced (but my team has!). Luckily for most of the "behind the scenes" stuff, FSR will be the same for BIRP, URP & HDRP, but when and how to capture the buffers and scale the camera's will require more work.
     
    Last edited: Nov 5, 2022
    TanselAltinel and DragonCoder like this.
  14. Jack_Martison

    Jack_Martison

    Joined:
    Jun 24, 2018
    Posts:
    134
    I willing to throw some money, when this thing is out for HDRP
     
    Alterego-Games likes this.
  15. macube

    macube

    Joined:
    Jul 16, 2017
    Posts:
    37
    FSR 2 or DLSS Support for URP sounds great, but for what Unity LTS Version? 2021 LTS possible?
     
    Alterego-Games likes this.
  16. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    I can’t give any promises as of yet, but ideally we’d like to add support for all LTS versions available (2017 and up). However, this might be impossible for the SRP’s.
     
  17. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    I’ve been doing some work today, for HDRP we’ll probably use the “Custom Pass Volume” to inject FSR 2, so it should work from HDRP 7.1.8 and up.

    For URP, we’ll best use “Render Features”, it seems these are around since URP 10.1.

    I “theoretically” made both of the implementations today (HDRP and URP), but I was working on a mac, so I couldn’t check the actual results.
     
    Last edited: Nov 6, 2022
    TanselAltinel likes this.
  18. TanselAltinel

    TanselAltinel

    Joined:
    Jan 7, 2015
    Posts:
    190
    Thank you very much for your answers.
    I can understand the BiRP part, but HDRP part is a little bit tricky. Custom Volume seems pretty reasonable, however as I said, DLSS only renders quarter (or whatever downscale/upscale ratio) of the screen when enabled. If FSR 2.0 can overcome that, I'll happily switch back to 2021.3 LTS :)
     
    Alterego-Games likes this.
  19. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Its very weird that DLSS renders only quarter of the screen as you say, my current test of FSR 2.1 for HDRP in 2021.3 LTS has no such issues... (knock on wood)
     
    TanselAltinel likes this.
  20. TanselAltinel

    TanselAltinel

    Joined:
    Jan 7, 2015
    Posts:
    190
  21. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Yes I can see whats happening there, although it seems a few things are being (wrongly) combined. Is it possible for you to send me a repo of that specific scene, or a test version that replicates it with DLSS, so I can test if it works for our FSR implementation?
     
  22. Kevin-VFX

    Kevin-VFX

    Joined:
    Apr 17, 2016
    Posts:
    54
  23. EngineerFroggo

    EngineerFroggo

    Joined:
    Apr 13, 2021
    Posts:
    1
    Will this also work for VR applications using Built-in (BIRP)? Or is it for desktop only?
     
  24. nikescar

    nikescar

    Joined:
    Nov 16, 2011
    Posts:
    165
    Considering the pace of Unity's development on URP, I'd think that $50 would be a fair price.

    Just wondering, is it possible to have a "bad" implementation of FSR? Like, can it be implemented in a way that would negate it's performance boost and if so, how can prospective buyers of your asset be sure that your implementation is a "good" one? I mean no disrespect at all, just wondering
     
    Alterego-Games likes this.
  25. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    I’ll have to test that once we have the URP version stable.

    It should be no issue, but I’ll have to try it out.

    Well, the way FSR works is as follows, it downscales the whole rendering by 1.5 to 3 times. Meaning you can run your game on 360p which gets upscaled to 1080p and look smooth, albeit a bit blurrier(which can partly be fixed by the sharpening).

    This does cost a bit of GPU performance, but in theoretically almost all cases. The cost is way lower than the gains.

    That said, if a game is highly CPU bound, and the GPU is mostly idling, there will be no to very little performance gain.

    There is one way to deffinitely wronly implement it, which is like this:

    Accidentily downscale the rendering after the camera has rendered the whole scene instead of making the camera render at a lower resolution and then upscale it with FSR. This will be absolutely pointlesso_O!

    In some quick tests, the “quality” (1.5 scaling) setting gave factor 1.15 to 1.30 boosts and the “performance” (3.0 scaling) 2.0 to 2.5. (Which is insane).

    But this was done in “non real game” environments. But a good indicator would be:

    Set your resolution at a 1.5 to 3.0 scale of the target resolution, check the gpu ms frame times and add 1.0 ms to it (AMD states that FSR costs something between 0.6 to 1.2 ms gpu rending time).
     
    Last edited: Nov 10, 2022
    nikescar likes this.
  26. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    An image speaks a thousand words:

    1. Unity TAA + No FSR ~260 FPS:
    1. TAA No FSR 260 FPS.PNG

    2. FSR 2.1 "Quality" ~340 FPS:
    2 FSR Quality 350 FPS.PNG

    3. FSR 2.1 "Balanced" ~375 FPS:
    3 FSR Quality Balanced 375 FPS.PNG

    4: FSR 2.1 "Performance" ~340 FPS
    3 FSR Balanced 400 FPS.PNG

    5: FSR 2.1 "Ultra Performance" ~ 435 FPS
    4 FSR Performance 430 FPS.PNG

    Native resolution was 1920x1080 for all images, FSR "Quality" is basically rendering at 1280x720, "Performance" at 960x540 and "Ultra Performance" at 640x360.

    Personally, the thing I notice most, is the loss in texture resolution. However, considering that the fourth image is basically rendering at 640x360...

    Btw, these images are taken in 2021.3 BIRP.
     
    Last edited: Nov 11, 2022
    lacas8282, nikescar, Genebris and 2 others like this.
  27. Kevin-VFX

    Kevin-VFX

    Joined:
    Apr 17, 2016
    Posts:
    54
    Interesting. Did you implement a mipmap bias adjustment to counteract the screen scaling?
     
  28. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Unfortunately, we have not yet found a way to do this. I have seen that HDRP has this feature, but it seems URP and Built-in do not. We have looked into MipMap Streaming, which has a mipmap bias override per camera, but it does not seem to produce any desired results. So this is still "in progress".
     
  29. Jack_Martison

    Jack_Martison

    Joined:
    Jun 24, 2018
    Posts:
    134
    I wonder, what's your specs, considering this is BiRP

    Any chance showcasing same tests but with HDRP?
     
  30. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    This has been captured on a i9 with a 3080ti, hence the high fps. But the performance gain should be similar with lower end gpu’s, percentage wise.

    I’ll post HDRP and URP shots when we have implemented all FSR features and made it stable enough.
     
  31. nikescar

    nikescar

    Joined:
    Nov 16, 2011
    Posts:
    165
    The leap from FSR1 to FSR2 is huge. Looking great so far!

    Do you plan to keep updating the asset with future FSR versions (3.0 for instance) or will that be a different asset purchase? I know it's probably too early to answer that question but I figured I'd ask anyway. ;)
     
    Alterego-Games likes this.
  32. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    The difference between FSR1 and 2 is even bigger, we've just had a small test when also adding Mipmap Bias

    FSR Ultra Performance Mipmap Bias.PNG

    This is FSR Ultra Performance, rendered at 640x360, upscaled to 1080p. Its insane.

    We're definitely willing to keep upgrading to new FSR versions. Depending on the amount of extra work, we'll have to see how to roll out the updates. But generally I don't think later FSR upgrades will need a lot of extra work, unlike FSR 1 -> FSR 2.
     
    nikescar and pwka like this.
  33. pwka

    pwka

    Joined:
    Sep 19, 2012
    Posts:
    49
    It looks amazing.
    $15 for this would be awesome and really cheap. I wonder how expensive for the CPU it is.
     
    Alterego-Games likes this.
  34. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    CPU is using basically 0.0ms!

    We did a test in one of our current BIRP projects, without FSR it has ~15 fps on a i5 with an 1050ti, and with FSR on "Ultra Performance" it went to ~35fps, which is a total hail mary for our team. Paired with other optimalisations I bet we'll be able to hit 60fps on an old low end gaming pc!
     
    pwka likes this.
  35. pwka

    pwka

    Joined:
    Sep 19, 2012
    Posts:
    49
    ok, so I have one question - when will we have access to this?
    I would really like to test it. After cyberpunk switched to FSR I am convinced that this is what I need in our project.
     
    Alterego-Games likes this.
  36. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Can't say for sure yet. We'll want BIRP, URP & HDRP supported in the first release, so it might take a bit more. Targetting for december this year though.
     
    nikescar, DragonCoder and sqallpl like this.
  37. Genebris

    Genebris

    Joined:
    Mar 18, 2013
    Posts:
    141
    Hi, my studio is very interested in FSR 2 but we need DX11 support. DX 12 has terrible performance in Unity so far and Vulkan just straight up crashes on start in a large scene and Unity isn't fixing it in LTS.

    DX 11 continues to be the only reliable API.
     
    Alterego-Games likes this.
  38. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    I feel your pain! I’m hoping for Unity 2022.1 which will have DX12 out of experimental.

    We’re looking into it though, but it seems its only possible with help from AMD.
     
  39. romaxl30

    romaxl30

    Joined:
    Aug 16, 2020
    Posts:
    5
    Hello. FSR is very powerful stuff and it's cool that you decided to help people "speed up" their products. Definitely $15+. I personally have a question - you wrote that you want to make it as simple as possible (respect for that, by the way) - just a component on the camera - the question - if I use two cameras for two different displays (two monitors or a monitor and a projector) will it be the benefit of FSR if these two cameras will reproduce different images at the same time - one, for example, to the monitor, the other to the projector.
    Thank you
     
    Alterego-Games likes this.
  40. DELATTE

    DELATTE

    Joined:
    Nov 29, 2015
    Posts:
    1
    $15 :cool:
     
    Alterego-Games likes this.
  41. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    For BIRP I can confirm that a multiple camera setup will work, shouldn’t matter to whatever display the camera’s render.

    For URP and HDRP I still have to confirm this.
     
    romaxl30 likes this.
  42. romaxl30

    romaxl30

    Joined:
    Aug 16, 2020
    Posts:
    5
    If it will work in HDRP in such a scenario - well, it's a "must buy" for me!)
     
    Alterego-Games likes this.
  43. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,628
    Do you have a bug report I can look up? I looked at a few of these issues related to DLSS that have been reported in the past, and all of the ones I found seem to have been also fixed in 2021.3.
     
  44. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    FSR Update:

    First workable version for URP! Average FPS increases are about the same as previous BIRP update.

    1. No FSR 8X MSAA
    1 NO FSR 8X MSAA.PNG

    2. FSR "Quality" Resolution: 1080 / 1.5 = 720p
    2 FSR Quality 1.5.PNG

    3. FSR "Balanced" Resolution: 1080 / 1.7 = 635p
    3 FSR Balanced 1.7.PNG

    4. FSR "Performance" Resolution: 1080 / 2.0 = 540p
    4 FSR Performance 2.PNG

    5. FSR "Ultra Performance" Resolution: 1080 / 3.0 = 360p
    5 FSR Ultra Performance 3.PNG


    As you can see we fixed the blurry mipmap texture quality, by updating the mipmap bias for textures. (both for URP and BIRP)
     
    Vincentin, nikescar and DragonCoder like this.
  45. macube

    macube

    Joined:
    Jul 16, 2017
    Posts:
    37
    Looks great.. is there a release date? :D
     
    Alterego-Games likes this.
  46. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    Not yet, still some work left!
     
  47. Lizzard4000

    Lizzard4000

    Joined:
    Mar 3, 2010
    Posts:
    101
    Hey!
    This looks very interesting!

    I'm currently porting a game to Switch.
    I have to set renderscale to 0.8 and reduce some render effects to reach 60fps.
    Will your FSR work on Switch and do you think i can squeeze more fps or increased quality out of it?
    Would love to do some early testing!

    Btw. FSR 1.0 that is already included in Unity doesn't help on the Switch at all.
     
  48. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    I myself would love FSR 2 for the Switch, but I think the current opensourced version of FSR doesn’t support it. FSR 1 should give a proper boost though, since it simply lowers your resolution from 1080p to 540p at the lowest setting.

    This is where FSR 2 shines, because it goes to 360p and still has way better fidelity than FSR 1.
     
  49. Lizzard4000

    Lizzard4000

    Joined:
    Mar 3, 2010
    Posts:
    101
    So your FSR 2 won't work on Switch?
    I tested FSR 1 on Switch and i get worse Quality/Performance than without it.
     
  50. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    342
    FSR 2 currently only supports DX12 and Vulkan, as stated by AMD. However they do hint at DX11 support if you contact them, maybe the same is true for other api’s. I don’t know.

    Edit: We have build our own DX11 backend for FSR 2, so the tool will support DX11 and DX12!
     
    Last edited: Apr 14, 2023