Unity begins adding DLSS3!

So, with the latest 2023.2a17, HDRP, it looks like DLSS3 implementation is added.
To be exact, DLSS3 comprises of 2 parts, the regular DLSS and Frame Generation.

The implementation, which only updated the DLSS (with version 3.1.11) do not have Frame Generation (there is only nvngx_dlss.dll file and the nvngx_dlssg.dll is not there) yet, but this is a good timely start for full DLSS3 implementation. For the curious people, this is not just an update of the DLSS dll file. The last working DLSS for Unity was 2.4 (Could be 2.1) and the later files were not supported. So, adding support for DLSS3.1.11 definitely took some work. Things are already sharper and feature less ghosting. Definitely better.

Good job Unity Devs! I look forward to the day we have Frame Generation support soon!

Thank you for the hard work!!!

6 Likes

According to the 2022.3.3 whats-new site:
HDRP: Upgrading from DLSS 2.4 to DLSS 3.0 for upscaling part. (UUM-36246)

I understand that DLSS 3 has several parts and this version includes one of these parts, right?
Could someone explain how many parts DLSS 3 is made up of?
Which parts are already implemented and which are still in development?
When will Unity have a full DLSS 3 implementation?

(Unreal 5.2 already has DLSS 3 available)

Thanks!

I think the part that is missing is the frame generation, which generates frames between the actual rendered frames to boost the frame rate.

According to the Nvidia website:

DLSS 3 Features include:

  • DLSS Frame Generation
  • DLSS Super Resolution
  • NVIDIA Reflex
  • DLAA
  • NVIDIA Image Scaling

Is there an estimated date for the Unity implementation?

No date yet but indeed it’s currently being worked on :slight_smile:

4 Likes

Hi @chap-unity are these streaks/smuges from DLSS in unity 2023 are known or should i report them?

Sample Scene - with DR and DLSS, physically sky and exposure fix. Im rotate sun position.

1 Like

Hey thanks for the message.
It’s absolutely not known and I haven’t been able to repro (there must be a subtle combinaison of factors here). It looks like some NaNs propagating, either from PBR Sky or Volumetric Clouds.
If you can please report a bug and leave the report number here of send your repro project :).

Thanks for answer. The problem was only with Unity 2023.1, I misspecified the Unity version earlier. The problem not occur on 2023.2 alpha, but I have another quastion. Did DLSS 3 will work also on RTX 30xx?

Here is a report number CASE IN-46310.

1 Like

In your report you mention this:

Reproducible with: 2023.1.0b21
Not reproducible with: 2022.3.4f, 2023.1.3f1, 2023.2.0a23

To me, that means that the issue has been fixed after your version.
Why don’t you update and use a more recent 23.1 official version instead of the (buggy) beta ? :slight_smile:

1 Like

Thanks for tip, but unfortunately it is not fixed and problem occurs even on 2023.1.2f1 for RTX 30xx, it seems working on RTX 40xx tho, probably because of support for DLSS 3.0 ?

Yes, but you noted on the bug that it’s not reproducible on 2023.1.3f1 so, why don’t you use this one where the issue is fixed?
We can’t fix issue on older versions without making a new one.

Let me know if I misunderstood something.

DLSS 3.0 support won’t land for a few months at least so this has nothing to do with it.

I didn’t write it, this description was changed by someone.

OK, thanks for information :wink:

I think what he meant is that the nvngx_dlss.dll changed (v3.1.11?) from the previous 2.x so that could be what fixed or improved it.

I am working on 2023.1.4 (Updating to .5 today) and haven’t noticed any DLSS smudging issues.

1 Like

Not to keep bothering you, but with the announcement of DLSS3.5, my expectations hover around

  • Frame Generation
  • nVidia Reflex
  • Ray Reconstruction

I assume the Reflex and FG are already being worked on as you stated, but is there any internal work done regarding RR already? Just curious.

Currently, we are still focused on DLSS 3.

You are right to assume that RR is not included in this update since it’s part of DLSS 3.5 :slight_smile:

Hello! I have some questions:

  • Will DLSS 3 support go to HDRP 14.x (i.e. 2022.3.x LTS)?
    (EDIT: I noticed someone quoting 2022.3.x release notes saying that HDRP 14 has upgraded from DLSS 2 to 3 for the upscaling part… so I guess it has moved to 3. But to refine the question then… will FG come to 2022.3.x?)

  • For a while during the DLSS 2 implementation, there were compatibility issues like using the HD Scene Color node in a shader graph, would fetch incorrect pixels due to the frame buffer scaling at some point. (I can’t quite remember if this was when using HD Scene Color in a later custom pass, or what the circumstances where exactly). This issue seems to have gone away. The question is, are all these use cases kept in mind from the outset so that DLSS 3 will just work without weird gotchas?

  • Side question: will it be a huge effort to get ahead of FSR 3 and implement it soon, rather than wait for years until it is dated or skipping it altogether? It’s super useful to have an upscaling approach that works across a wide range of hardware.

2 Likes

I honestly can’t answer this firmly right now, the plan is 2023 for sure intially but it could go either way for 2022 LTS.
For context, DLSS 3 library is significantly different from what’s already implemented currently (thus why it takes time to make it work) BUT once those changes are made to the library the changes HDRP side are not that huge so it’s not totally out of the question to backport them once the 2023 implementation will be done.
We’ll keep you posted.

Yes, those cases are kept in mind but since DLSS touches a little bit of everything it’s pretty hard to cover absolutely all uses cases. This is why we also rely on user feedback on alpha / beta phases to make sure even the niche use cases works. However, since we already fixed lots of those with DLSS initial implementation, I have good faith in having a smooth transition without regressions :finger-crossed:

I am personally 100% on your side as well on this but can’t comment on anything regarding this particular tech.

3 Likes

Thank you for sharing! Much appreciated!

1 Like

Thanks for the above responses and I’m grateful for the work you guys do on implementing these features. Some comments & questions -

  • If possible, for DLSS3 (& any future upscaling implementations) please continue to leave the nvngx dll (or similar) exposed after the build as it’s own file. This lets swapping between the various versions of DLSS (including for the current DLSS2 implementation) be fully independent (players can do it too) vs the Unity provided versions. Albeit, it might be nice to be able to drop in the nvngx dll version you want as a developer into your build to experiment with versions. Nvngx tends to be pretty consistently improved per version in my experience, but there’s still sometimes some regressions in areas, so dropping in different versions might be helpful.

  • Similarly, there is a vibrant DLSS<->FSR2<->XESS mod community. For example, there’s currently over a million downloads with the top 3 mods doing this for Starfield alone. I’m mentioning this because the current Unity DLSS2 implementation appears to have a hardcoded gpu-check. This makes these mods difficult or impossible vs other game engines. A nice feature for Unity games might be easier access to the gpu check and other various upscaling settings to enable this sort of modding & tweaks this community likes (perhaps an config file). The community has actually improved on many upscaling implementations (& old/poorly maintained ones), so this could be helpful to game devs using Unity as well. Figured it was worth mentioning this for future & current implementations of upscaling.

  • Sorry if I missed it somewhere - is there/will there be support for Nvidia recommended methods of handling thin objects/particle effects/etc? Ie the nvidia discussed 2d binary mask+BiasCurrentColor combo and/or Conservative raster? How about for changing the Presets (ie A-G)?

  • Other upscaling items - I still think FSR1 & CAS have their uses, even alongside newer upscaling, and I hope to see them continue to be maintained & updated (I think FSR1 is still on 1.0 for example). Also, +1 on FSR3 & the Hyper-RX feature set, I was disappointed FSR2 didn’t make it in (thanks to Alterego though on that one).

2 Likes