emoose / DLSSTweaks

Tweak DLL for NVIDIA DLSS, force DLAA on DLSS-supported titles, tweak scaling ratios & DLSS 3.1 presets, override DLSS versions without overwriting game files.
MIT License
1.2k stars 22 forks source link

Force on DLSS Frame Generation and Ray Reconstruction #144

Open avelev99 opened 4 months ago

avelev99 commented 4 months ago

Enhance DLSSTweaks by allowing users to force-enable DLSS Frame Generation™ and DLSS Ray Reconstruction™. Many games don't have FG and RR by default and while visual bugs are more than likely to occur having a force on function for the technology can help debug it, the game and in some cases improve the user experience by boosting the performance of the game.

Proposed Changes

  1. Add option to force DLSS Frame Generation for smoother visuals.
  2. Include functionality to activate DLSS Ray Reconstruction for improved lighting and reflections.

Benefits

d0x360 commented 4 months ago

I could be incorrect about this but I think frame gen needs to be supported in the games engine to work because it's using hardware in the nVidia GPU that gets motion vector data directly from the game engine and uses it to increase pixel movement accuracy in a generated frame.

That's why you are people mod FSR FG into the place of DLSS FG. They work on a fundamental level quite similar but different enough that driver level DLSS FG wouldn't work in any game...at all. Not unless nVidia fundamentally changes how it works and drops motion data and I don't see them doing that because why would they?

When you mod FSR FG into a DLSS FG game it uses FSR to create the frames and when you mod DLSS FG into a FSR FG game... It uses FSR FG still and you're just tricking the game into enabling the FG & thinking everything is normal (and the hardware exists) but you need that game to enable DLSS FG or no dice.

There is actually an app on steam that does frame interpolation in any game but it's terrible because it's just intercepting the frames as a virtual display and running worse interpolation then FSR or DLSS and it adds TONS of very obvious input latency and the game always feels sluggish and delayed.

As for ray reconstruction... That is being run much like dlss for rays (but not). In RT they are generally shooting the ray (probe) into the scene and having it bounce 1 to very few times. With path tracing it usually is more than 1 probe per pixel and will also randomly bounce pixel to pixel until it hits a light source but they can't set a bounce limit it is always significantly higher than regular RT.

Knowing the difference in methods briefly explains why RT & PT have vastly different quality levels. In order to claw as much performance out of the "regular" RT method they use AI reconstruction to enhance the data the probes collected but to enable it in something you need to be able to update the nVidia sdk used in the game, shader code, and that's not even really the tip of the iceberg... It doesn't seem possible but if it is the amount of time needed would be immense.

That why RTX Remix uses the path tracing method for adding the new lighting to older games and I have to imagine if they could have just done something and used ray reconstruction then nVidia would have as it's way less computationally expensive. Adding path tracing to Max Payne for example can take a 4090 all the way down to 26 fps in scenes that are otherwise not demanding even for 15 year old GPU's.

We can always dream though... Plus who knows what tech is in the near future?

Hope that made sense..hope I'm not wrong about any of the frame gen stuff but I think I'm good.