Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Bug Dynamic Resolution scaling issues with FSR, DLSS or TAA Upscaling

Discussion in 'General Graphics' started by krakentanz, Feb 17, 2022.

  1. krakentanz

    krakentanz

    Joined:
    Aug 13, 2020
    Posts:
    34
    Hey good people of the internet,

    I'm trying to get dynamic resolution to work but I'm experiencing some major problems. The issue is the same for all Upscaling filters (TAA, Contrast Adaptive Sharpen and AMD's FidelityFX Super Resolution 1.0 as well as Nvidias DLSS) with the exception of the Catmul Rom filter. The latter works, but delivers very bad quality.

    Settings:
    upload_2022-2-17_12-16-21.png

    Comparison Dynamic Resolution off vs on with the exact same camera position and direction:
    upload_2022-2-17_12-26-18.png

    When turning Dynamic Resolution on (in this case forcing the resolution to 50%), it looks like only the the lower left quadrant of the image is rendered and then stretched to fill the frame. When looking at the edges it is also obvious that the filter itself is working fine.
    (Also note how objects with a transparent shader on them (clouds, collectables and also UI) get rendered in the correct position and scale and are then overlaid over the rest of the scene.)

    The problem seems to be that there is no reduction of the render resolution happening before the upscaling filter takes effect. This is also backed by the fact that I get pretty much exactly the same framerate with or without Dynamic resolution turned on.
    So my suspicion is that the image gets rendered at FullHD (the set resolution) in either case, and then the upscale filter scales most of it "out of the frame".

    Anyone else experiencing this issue? Any ideas on how to tackle this?

    Thanks a bunch!
    Felix

    Here's my environment: Unity 2021.2.11f1, HDRP 12.1.4. NVidia RTX 2070 SUPER with driver version 511.65
     

    Attached Files:

    AydinDeveloper likes this.
  2. AydinDeveloper

    AydinDeveloper

    Joined:
    Sep 8, 2017
    Posts:
    89
    try to set the dynamic resolution type to Software.
     
  3. krakentanz

    krakentanz

    Joined:
    Aug 13, 2020
    Posts:
    34
    Hey Aydin,

    tried that, got exactly the same result.
     
  4. Noisecrime

    Noisecrime

    Joined:
    Apr 7, 2010
    Posts:
    2,000
    Dynamic resolution maintains the same display buffers as the original resolution, but will only render into a portion of it, that should then get scaled up to fill the screen resolution as a final blit.

    It looks like the camera view is not taking account of the scaling into the buffers so its still rendering it as though it was full resolution. No idea why thats happening for you, far too many different features could affect it.

    Obvious things to test
    1. Use RenderDoc to capture a frame in Unity and check to see what is really happening. You could try Unity's frame debugger but RenderDoc is likely to give you a better idea.

    2. Make sure all packages are up to date especially for SRP you are using as if any are out of sync that might explain the camera messing up.

    3. Rebuild the Library - bit of a last resort and i'd recommend making a full back up of the project first, or even make a copy of the whole project folder minus the library and try rebuilding it with the copy.

    4. Finally create a new test project with a simple scene. It could be an incompatibility with a SRP setting or specific combination of post-process effect. Its a pain but you have to just try recreating all the settings you are using one by one and see if anything triggers the same problem.

    If you do manage to solve it, please reply to thread and provide details to help others if they run into the same issue.