Jump to content

Nvidia Adaptive Shading (Variable Rate Shading) - the future of intelligent rendering


Recommended Posts

I've made a thread about VRS before.  It basically breaks the screen up into blocks of pixels which can be shaded at different rates.  Meaning all the pixels that fall within that block can be shaded at a lower quality level, which improves performance.  Developers can create content adaptive algorithms which decide which pixels are similar and can render the less important ones (ones without detail) at lower resolutions.  This can be done in many ways.  It's completely up to the developer on how they choose to implement it, and what works best for their games. 

 

There's content adaptive, which dynamically adjusts the shading rate based on detail.. as I said above.. and then there's also motion adaptive shading, which basically takes advantage of the way monitors display and draw pixels to the screen.  Since screens draw frames at fixed intervals, what we're really seeing is a series of pictures which inherently are jerky as the screen displays them one at a time.  Games tend to use motion blur to further smooth out and blur these frames together.  Our eyes in the real world don't work like that, they see motion linearly.  There's no "redrawing" in our vision, it's a persistent motion.

 

lcd-persistence-blur.gif

 

So using this, Nvidia has created a solution combines both techniques and can deliver a substantial 13-20% improvement in performance at no perceptible image quality loss.

 

They use both the motion and content adaptive techniques to improve performance in motion as well as when there's little to no movement.  Why do we need to shade fast moving objects which are blurred from the display anyway at full rate?  We don't.. and shouldn't.

 

motion-blur-clarity-850px.png

 

 

So here's the comparison:

 

NAS = Off

wolfenstein-youngblood-nvidia-adaptive-s

 

NAS = Performance

wolfenstein-youngblood-nvidia-adaptive-s

 

And here's a pic of how it's determining what to shade at what rate:

wolfenstein-youngblood-nvidia-adaptive-s

 

You can see all those green colors are shaded at a much lower rate.  The blue is at a higher rate, but not full... and then the untouched stuff is at full rate.  Maintaining all the detail.

 

When you turn the camera and move, all that will change and things will be rendered at lower rates maintaining higher performance, and you'd never know the difference.

 

This shit is so fascinating.  The next gen consoles will surely have VRS so you can expect it to be used everywhere.  Usually big scenes with lots of fast movement and shit happening are what taxes performance.  This will improve that dramatically.  Future games are going to look insane :wow2: 

Link to post
Share on other sites

So, just to be clear, this is intended to work with motion blur.

 

When you move a camera, its already blurring the image, so why even render the images at full resolution, when it can render it at a lower resolution because you won't be able to tell within that moment.

 

See, I figured most games would've attempted to implement that in their own game engines to save on resources.

Edited by jehurey
Link to post
Share on other sites
28 minutes ago, jehurey said:

So, just to be clear, this is intended to work with motion blur.

 

When you move a camera, its already blurring the image, so why even render the images at full resolution, when it can render it at a lower resolution because you won't be able to tell within that moment.

 

See, I figured most games would've attempted to implement that in their own game engines to save on resources.

Yep.  But not just motion blur in the typical sense as in the motion blur setting inside a game...which is mostly meant to smooth frame transitions for 30fps games to feel smoother.  It's also about the inherent blur caused by LCD panels themselves.  Basically the response time of the pixels and how quickly they can change from one shade to another.  There's a certain amount of persistence in which the pixels actually take time to change shade.  Thus the faster the movement, the more persistence there can be, leading to a blurred image as the pixel response time becomes higher the faster you change the image.

 

That's why backlight strobing (ULBM, black frame insert) can help alleviate that and improve image clarity during movement.  Every other refresh it strobes and inserts a black frame.  This causes the image to remain incredibly sharp as it has every other frame to essentially complete the change.  This is why 120fps is required to do it.  The screen has to be capable of high enough refreshrates where you don't see the flicker.  It brings the clarity of an LCD panel much closer to the motion clarity of a CRT.

 

Devs have tricks they can do, but it's nothing like what this allows for.  Turing is the first GPU capable of this kind of VRS.  This is quite frankly an ingenious way of taking advantage of the limitations of display technologies.  We literally can't tell the difference.

Link to post
Share on other sites
27 minutes ago, Remij_ said:

Yep.  But not just motion blur in the typical sense as in the motion blur setting inside a game...which is mostly meant to smooth frame transitions for 30fps games to feel smoother.  It's also about the inherent blur caused by LCD panels themselves.  Basically the response time of the pixels and how quickly they can change from one shade to another.  There's a certain amount of persistence in which the pixels actually take time to change shade.  Thus the faster the movement, the more persistence there can be, leading to a blurred image as the pixel response time becomes higher the faster you change the image.

 

That's why backlight strobing (ULBM, black frame insert) can help alleviate that and improve image clarity during movement.  Every other refresh it strobes and inserts a black frame.  This causes the image to remain incredibly sharp as it has every other frame to essentially complete the change.  This is why 120fps is required to do it.  The screen has to be capable of high enough refreshrates where you don't see the flicker.  It brings the clarity of an LCD panel much closer to the motion clarity of a CRT.

 

Devs have tricks they can do, but it's nothing like what this allows for.  Turing is the first GPU capable of this kind of VRS.  This is quite frankly an ingenious way of taking advantage of the limitations of display technologies.  We literally can't tell the difference.

Kind of like how traditional film projectors would have a shutter in between changing the film strip to move onto the next frame of film. The shutter blocks the light of the projector while its moving the film down to the next frame, and them reveals that frame. Does it so fast that it appears as smooth motion.

 

landscape-1436278108-projetor-loopy.gif?

  • Like 1
Link to post
Share on other sites
3 minutes ago, jehurey said:

Kind of like how traditional film projectors would have a shutter in between changing the film strip to move onto the next frame of film. The shutter blocks the light of the projector while its moving the film down to the next frame, and them reveals that frame. Does it so fast that it appears as smooth motion.

 

landscape-1436278108-projetor-loopy.gif?

 

Yep.  It's pretty much like a shutter.

 

LCD panels are fast enough though that we feel like we are seeing smooth motion... but the reality is that there's a lot of blur/ghosting in the image they produce when in motion.  The perceived resolution we see from an LCD panel in motion is much lower than what the actual array of pixels on a display.  We're almost never seeing that "full" resolution when in motion.  Thus it's a waste to render fast moving pixels in full resolution.  The content adaptive part of the equation takes care of the image when there's low motion or no motion at all.  It simply renders the details in full resolution and the pixels which are similar in color at a lower rate.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...