英伟达 GPU 中的 VRS「可变速率渲染」

2023-10-16  本文已影响0人  陈成_Adam

本文翻译自:What Is Variable Rate Shading? A Basic Definition of Nvidia VRS | Tom's Hardware (tomshardware.com)

温馨提示:由于译者能力有限,所以读者最好参看原文。当然也可以看完译文再看原文,也许有所帮助。

VRS on versus VRS off (Image credit: Microsoft)

"Variable rate shading" 的中文翻译是「可变速率渲染」。这是一种图形渲染技术,用于在绘制图像时对不同区域的像素应用不同的采样率或绘制密度。通过减少不太重要的区域的渲染质量,可变速率渲染可以提高图形渲染的效率和性能。

VRS 应用于英伟达的图灵和安培架构的 GPU,英特尔的 Gen11 图形架构也应用了该技术。

(Image credit: Intel)

3DMark 提供了一个用来展示打开和关闭 VRS 时的区别的视频,链接如下:

https://youtu.be/d1zoGmhVB1U

AMD 类似的技术叫做:FidelityFX Variable Shading,简称 VS。它是开源的。根据 AMD 的说法:“通过分析与前一帧的亮度变化,使用运动矢量生成新的图像”。

那么 VRS 是如何工作的呢?

GPU 内部有一个叫做像素着色器的部件,负责执行像素着色程序,通过对每一个像素都执行该像素着色程序,得到其最终的颜色。如果待渲染的场景细节越多,那么像素着色器所做的事情就越多,功耗也就越大。

VRS 可以使得执行一次像素着色程序,完成多个像素的着色。例如,一个 16x16 的像素块。这使得开发者可以降低一帧图像中的某些区域的图像质量,从而减少 GPU 的工作量,最终实现帧率的提升,或者让一些带 VRS 功能的低端显卡也可以运行一些复杂图形应用。

VRS 也非常适用于头戴设备。它可以使得开发者做到只渲染可以看到的像素,而不必渲染那些看不到的像素。

DX12、DX11、OpenGL、Vulkan 都支持 VRS。英伟达表示他们正致力于把 VRS 引入到 Unreal Engine(虚幻引擎) 和 Unity。

下面的视频来自英伟达,详细介绍了 VRS,

https://youtu.be/Hgl9eTJio8Q

上一篇下一篇

猜你喜欢

热点阅读