Skip to content

NVIDIA DLSS (Deep Learning Super Sampling) #8420

Open
@JMS55

Description

@JMS55

What problem does this solve or what need does it fill?

We already have TAA. DLSS takes temporal rendering a step further, and renders at a lower resolution and then upscales it over time. This can be a huge performance increase when the cost of shading a pixel is very expensive, such as in per-pixel ray/path tracing.

What solution would you like?

Integrate DLSS as an optional anti-aliasing method, completing our existing MSAA, FXAA, TAA options.

Current Progress

Problems

  • Quality seems bad/wrong - there's heavy aliasing even at 4k quality mode. I'm not sure why.
  • There's a crash when enabling one of the ultra quality/performance modes (I forget which).
  • Currently using DLSS requires disabling pipelined rendering, due to non-thread safety of the DLSS SDK. I need to figure out how to get around this.
  • I haven't setup support (in either dlss_wgpu or bevy) for DLSS A-F presets (different from the quality/performance modes).
  • Only Vulkan is supported, and not yet DirectX12.

What alternative(s) have you considered?

DLSS is NVIDIA only, and closed-source. FSR (#5232) is an alternative option from AMD that works on more GPUs and is open-source. There's also XeSS from Intel. For macOS, the only option is MTLFXTemporalScaler.

I've looked into integrating FSR but ran into difficulties. I haven't bothered looking into XeSS or MTLFXTemporalScaler.

Metadata

Metadata

Assignees

Labels

A-RenderingDrawing game state to the screenC-FeatureA new feature, making something new possibleS-BlockedThis cannot move forward until something else changes

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions