Nvidia “Dynamic Super Resolution”

It looks like Nvidia has been implementing real driver support for higher-quality downsampling:

They have a much nicer name for it – Dynamic Super Resolution – even though I still don’t see what exactly is dynamic about it. If you read their description, it does sound like it sets out to fix many of the issues I also tried to circumvent when I first started working on GeDoSaTo:

Enthusiasts with compatible monitors and technical knowledge refer to this process as Downsampling, and for some time they’ve been applying a basic version to improve fidelity in games. DSR improves upon this process by applying a high-quality Downsampling filter that significantly improves image quality, by making Downsampling compatible with all monitors, by removing the need for technical know-how, and by integrating DSR into GeForce Experience, enabling gamers to apply DSR Optimal Playable Settings with a single click.

Improving downsampling quality and making it independent from monitor hardware compatibility have always been two of the most essential goals of GeDoSaTo. Obviously, with driver integration you are also in a position to make things much easier for non-technical users, something which was never a real target for GeDoSaTo.

However, the largest advantages of a driver-based method are the following:

  • Compatibility - since you can act after the 3D API, and not on its level, you get compatibility with any API, including all versions of DirectX and OpenGL.
  • Input Independence – a lot of the hard parts both in writing GeDoSaTo and in configuring it come with making mouse input work, since the OS knows it’s actually running at resolution X while the game thinks it’s running at Y. When operating on the driver level, OS and applications will be on the same page again, removing a major source of issues and need for implementation work.

These are things which are far harder to achieve in GeDoSaTo, and will likely never be possible on the same level.

Nonetheless, GeDoSaTo has evolved a lot from its initial role as just a downsampling tool, with HuD-less screenshot taking, postprocessing, texture replacement and other features taking a major role. Also, it seems like, at least for now, it will remain the only option for larger than 2×2 downsampling. And of course, it will always be more highly configurable – and obviously less vendor dependent – than a driver tool.

In any case, I’m really happy that high-quality downsampling is finally acknowledged by a hardware vendor (and, if history is any indication, it won’t be too long before AMD catches up). And I’m even happier to think that perhaps the reason it happened now is at least partly because of GeDoSaTo.

Nvidia RGB Full/limited range toggler

I recently had a problem where I simply couldn’t get my NV GPU to supply full range RGB (0-255) over HDMI when the resolution was either 720p or 1080p at 59.94 Hz.
Apparently this has been a known problem for years, and the only reliable solution was to edit your driver .ini files before installation.

After some digging through obscure NV support posts I managed to find the registry keys that control this behaviour, and I implemented a small tool to switch all graphics modes between full range and limited range. It’s not as convenient as a driver level toggle, but it fixed my problem and since NV hasn’t acted on this for years I don’t expect them to do so any time soon.

Here’s the binary: NV_RGBFullRangeToggle

And here’s the source for anyone interested: NV_RGBFullRangeToggle_Source

It’s a very simple program, basically it does this: