One of the more intriguing capabilities Nvidia introduced with the GeForce GTX 970 and 980 is a feature called Dynamic Super Resolution, or DSR, for short. DSR is a way for a fast GPU to offer improved image quality on a lower-resolution display. Nvidia bills it as a means of getting 4K quality on a 2K display.
That sounds a little too good to be true, but still, my interest is piqued. Given that a whopping 77% of TR readers have monitors with a resolution of 1920x1200 or lower, I suspect DSR might become a very popular feature among PC gamers. Naturally, then, I've decided to take a closer look at DSR, to see exactly what it is, how it works, and what sort of images it produces.
So DSR is supersampling, right?
Let's start at the beginning. In graphics, antialiasing is any of numerous methods intended to deal with a fundamental problem. GPUs are attempting to represent objects with all sorts of funky contours, from diagonal lines to curved surfaces to complex, irregular shapes, yet the final images must be mapped to a regular, fixed grid of square pixels. That's less than ideal. The human eye does a spectacular job of recognizing patterns, so we tend to fixate on the jagged edges and crawling effects caused by mapping irregular shapes to a regular matrix of pixels.
Today's graphics card control panels and in-game settings menus are littered with a dizzying collection of antialiasing options intended to address this problem. The various methods generally represent different sets of tradeoffs between image quality and performance.
As I noted in my initial review of the new GeForce cards, I've been part of a small chorus of people calling on Nvidia to enable supersampled antialiasing in their graphics control panel for some time now. Supersampling is the gold standard of antialiasing methods in terms of image quality and is widely used in offline rendering by the likes of Pixar. The performance hit is pretty drastic, though: 4X supersampling generally takes four times as long to render. Graphics cards used to offer a supersampling option in their control panels a matter of course, but SSAA has fallen out of favor as more efficient edge-based AA methods like multisampling have grown more popular.
Happily, with the abundant power offered by the GeForce GTX 970 and 980, Nvidia has decided to expose an extra-high-quality rendering mode once again. DSR isn't quite supersampling, but it is pretty closely related.
Supersampling is often described as rendering a scene at a higher resolution—something like 2X or 4X the number of visible pixels—and then scaling the image down to fit the display. That's not a bad way to visualize what's happening, but in a very nerdy sense, that description isn't entirely accurate. Supersampling is really about taking multiple samples from different locations within the same pixel and blending them in order to get a higher-fidelity final result. Proper supersampling can grab samples from anywhere within a pixel, and the best routines may use a rotated grid or quasi-random sample pattern in order to achieve better results. Even the old 3dfx Voodoo cards, from back in the early days of 3D accelerators, took their samples from a rotated grid.
Oddly enough, Nvidia's DSR really is about rendering a scene at a higher resolution and scaling it down to fit the target display. If you ask DSR to render a game at 4X the native res, say at 3840x2160 when the target display is 1920x1080, then the result should be similar to what you'd get from 4X supersampling.
The benefits are the same. The extra sample info improves every pixel—not only does it smooth object edges, but it also oversamples texture info, shader effects, the works. The performance hit is the same, too. The GPU will perform like it would when rendering to a 4K display, perhaps a little slower due to the overhead caused by scaling the image down to the target resolution.
The twist with DSR is that it can scale images down from resolutions that aren't 2X or 4X the size of the target display. For example, DSR could render a game internally at 2560x1440 and scale it down to fit a 1920x1080 monitor. That's just... funky, if you're thinking in terms of supersampling. But it does seem to work.
In order to make DSR scale down gracefully from weird resolutions, Nvidia uses a 13-tap gaussian filter. This downscaling filter is probably quite similar to the filters used to scale video down from higher resolutions, like when showing a 1080p video on a 720p display. The fact that this filter uses 13 taps, or samples, is a dead giveaway about how it works: it grabs samples not just from within the target pixel area but also from outside of the pixel boundary.
We'll get into some examples shortly, but the effect of blending in info from neighboring pixels is easy enough to anticipate. This downscaling filter will blur or soften images somewhat, granting them a more cinematic look. The effect is similar to the tent filters AMD used in its old CFAA scheme or, more recently, to the kernel employed by Nvidia's own TXAA technique.
|GeForce 8800 GTS|
|Radeon HD 2900 XT|
CFAA 8X - 4X MSAA + Wide tent
Some PC gamers seem to have a strong negative reaction to anything that reduces the sharpness of on-screen images, which is probably one reason why AMD sadly doesn't offer CFAA with tent filters any longer. I happen to think Nvidia is on the right track here, though. In motion, from frame to frame, these softer images result in less high-frequency noise or sparkle. The images produced by the DSR filter convey a sense of solidity and consistency that I find very pleasing. Unfortunately, I can't really demonstrate that reality using static screenshots or compressed video; you'll have to try DSR for yourself in order to see what I mean.
Anyhow, that's enough theory without many concrete examples—my apologies for that. Let's look at how to enable DSR and what sort of images it produces.