You can't have read these pages recently without spotting some mention of DLSS, Nvidia's upscaling tech that at first created new pixels for higher resolutions in games and can now create whole new frames to improve frame rate too. Upscaling has been brought up in almost every review of the best graphics cards—Nvidia or not—but while AMD's FidelityFX Super Resolution can run on a range of cards, DLSS is exclusive to Nvidia.
The different versions of DLSS can be a bit confusing, however. Nvidia has chosen a simple enough naming scheme—1.0, 2.0, 3.0, 3.5—but knowing which versions both your GPU and the game you're trying to run on can be a bit of an arcane art. It's quite simple in the game settings screen to just switch it on, but you're not able to change which version you're using.
Enter DLSS Swapper, a freeware tool from finely bearded Australian programmer Brad Moore. This app, which can be either installed on your PC or run as a portable app, allows you to upgrade or downgrade the DLSS .dll file a game can call upon in order to improve image quality or performance.
DLSS works by allowing the graphics pipeline within your GPU to do less work for a better result, internally running at a lower resolution but outputting at a higher one to improve performance over and above what would be possible if it was just rendering natively. Most variants of it make use of the Tensor cores on Nvidia's ray tracing GPUs and so runs only on RTX 20-series cards or later. Though one special version, known as '1.9' moves the workload purely to the CUDA cores, but that was included with Remedy's 2019 game Control and very little else.
DLSS swapper allows you to switch between versions of DLSS, but not to add DLSS to games that don't support it. There's no guarantee that doing this will improve either image quality or performance, or indeed even work, but that's the joy of PC gaming.
How to use DLSS Swapper
DLSS 1.0 (2019): An image-upscaling algorithm that needed to be trained for each game it operated on, hence sparse usage. Predominantly seen in Battlefield V and Metro Exodus.
DLSS 1.9 (2019): The unofficial name of a special version of DLSS 1.0 for Control that used a GPU's CUDA cores instead of its Tensor cores.
DLSS 2.0 (2020): Temporal anti-aliasing upsampling back on the Tensor cores. Can be applied more generally to games, and uses a neural network to find and remove artefacts created by the upscaling process.
DLSS 3.0 (2022): With features that are exclusive to RTX 40-series GPUs for now, as they rely on an improved Optical Flow Accelerator earlier architectures don't have, it adds frame generation to DLSS 2.0, taking two frames from the pipeline and creating a third one halfway in-between.
DLSS 3.5 (2023): Brings the Ray Reconstruction Dave has been salivating over, its AI model trained on five times as much data as DLSS 3.0.
Install DLSS Swapper from GitHub—it was on v184.108.40.206 at the time of writing—and comes as both an installer or portable .zip file. You can also download the source code if you fancy having a good old rummage around, but this is PC Gamer and not Coding Weekly.
Running the app triggered two warnings. The first was from Windows Defender, proudly announcing that it had prevented an unknown app from running, click More Info and Run Anyway to run the program. The next comes from DLSS Swapper itself, noting that changing DLSS versions in multiplayer online games could trigger automated anti-cheating measures, despite not being cheating itself.
You have been warned.
You'll need to download the .dll files you want to use before you can patch them into a game. Go to the Library section of the app and you'll find a list of every available version. Click the download icon, and it will do what you'd expect it to.
From there, it's a simple process of finding the game you're interested in modifying—DLSS Swapper detects installed games and displays them in a grid similar to that seen in the GeForce Experience app—checking which version of DLSS they're currently using, which is helpfully displayed on the thumbnail image, then choosing a new version from a list.
If you choose a version you've not downloaded, you'll get a message telling you to go to the Library and make it available.
How different DLSS files affect frame rate
To test it out, I installed Cyberpunk 2077 (with patch 2.0) on a laptop with an RTX 4050 GPU, and hooked it up to a 4K screen.
So while there's little change in the frame rate between the default DLSS 3.1 and newer DLSS 3.5 when not using ray-tracing, it pulls an extra 51 fps out of the hat once you turn it on, an impressive performance gain. Which means we can try a higher resolution...
That's so close to the magic 60 fps, using ultra settings, with ray-tracing on, in 1440p, from Nvidia's lowest-tier RTX 40-series card, in a laptop. Not bad. The frame rate is very unstable, however, never staying the same for long, and screen tearing is present.
In this scenario changing to DLSS 3.5 doesn't change much, making things worse with ray tracing switched on, but the frame rate seems much more stable this time around, with less tearing too.
Then on a different GPU:
A drop in frame rate, which you'd expect from the more intensive ray tracing going on, but the amount of noise generated here was phenomenal. There were huge flickering patches of it on wet sidewalks where a slight reflection might be expected, but not in puddles where ray-traced reflections would be seen. There was also a sparkling layer of it over dark scenes in a bar.
I also managed to stumble upon a scenario where swapping DLLs made things noticeably worse, going from playable to not. Metro Exodus was one of the early showcases for DLSS, but the base game hasn't been updated beyond version 1. Using DLSS Swapper to patch in the DLL for DLSS 2.5 knocked 12fps off the average frame rate for the benchmark sequence, while moving up to DLSS 3.5 only added 1.5 frames back. This game, it seems, much prefers its tailored version of the tech.
So while being able to switch the version of DLSS you're using is possible, and can improve the speed and stability of your frame rates, it's not an instant cure for all ills, and you'll need to experiment with what looks and performs best.