您的位置: 硬件 > 显卡 > 新闻详情

VRS可变率着色:NVIDIA Turing全新特性提升性能

时间: 2019-05-14 17:53 来源:3dmgame.com 编辑:夕阳月下

  在同样的硬件设备前提下,得益于DirectX 12的一种新的图形功能,下图中有一侧画面比另一侧帧率高14%。你能指出图中的不同吗?
  
  什么是VRS可变率着色?
  VRS允许开发者动态控制着色倍率,在每16x16像素区块采样一次到每个像素采样8次之间自由转换。使用特殊着色倍率的程序依托着色倍率图层与预制原始值的组合。VRS是一个非常有力的工具,当全屏全分辨率渲染无法获得图像质量优势时让渲染更有效率,降低局部任务量,因此得以提升帧率。不同级别的VRS算法已被确立,可以根据内容细节级别(内容自适应渲染),内容运动速率(运动自适应渲染)以及VR应用,镜头分辨率和眼球位置改变渲染任务。
  按照传统做法,开发者在设定游戏着色倍率时,所有像素都会使用统一的固定着色倍率。但问题是,并不是所有像素都需要高倍率。
  VRS允许开发者有选择的降低部分区域的着色倍率(如海面,光滑的墙壁),而不会影响到视觉质量,从而在游戏中获得更多性能。很令人激动不是吗?因为额外的性能意味着更高的帧数以及更低的硬件需求。
  VRS也可以做完全相反的事:在某些重点区域不惜代价地提升着色倍率以获得更令人印象深刻的画面。
  VRS的植入是非常直接的,开发者只需要几天的开发工作就能将VRS植入到他们的游戏引擎中,并且立刻获得可观的性能提升。
  目前VRS对硬件的支持分为2个级别。支持per-draw的VRS设备为第一级。同时支持per-draw和within-draw的硬件为第二级。
  第一级VRS:
  通过允许开发者设定不同的per-draw着色倍率,不同的draw call可以获得不同的着色倍率。
  第二级VRS:
  如上所述,支持第二级VRS的硬件可提供上述功能,并且允许开发人员通过屏幕空间图像或预制原始值在一次draw call中使用不同的着色倍率。
  屏幕空间图像:
  屏幕空间图像定义了在屏幕空间内每一部分画面所用的着色倍率。
  举个例子,在第一人称射击游戏中,玩家倾向于更专注于准星附件的画面。利用屏幕空间图像可以将玩家更关注的区域使用高倍率着色,而降低这一区域外的着色率以提升性能。
  另一个使用场景是边缘检测滤镜去判断哪些需要更高倍率的区域,因为物体边缘是锯齿多发地带。开发人员可以根据边缘的位置设定屏幕空间图像,使用高倍率着色让物体边缘具有高解析度和细节表现。
  预制原始值:
  这项技术更进一步,允许开发者在一个draw call内按照每个三角形决定着色倍率。(通常一帧画面包含几十万至几百万个三角形)
  其中一个应用场景是,当开发者在游戏中应用了景深模糊功能时,可将一定距离以外的三角形着色率降低。这不会导致画面质量的降低,但可以提升性能,因为那些远处的三角形本来也是模糊的。
  那么实际上看起来如何呢?
  Firaxis games使用NVIDIA硬件演示了VRS是如何工作的。
  他们实验性地在《文明 VI》加入了per-draw和屏幕空间图像支持,这些实验使用NVIDIA GeForce RTX 2060完成,分辨率设置在4K。在加入VRS之前,画面帧率在53FPS左右。
  加入第一级VRS:
  第一级VRS使用更低的2x2倍率着色地形和水面,用更高的1x1倍率着色小物体(车辆,建筑和UI)。
  看看你能不能分辨出下图哪边开启了VRS
  
  通过第一级VRS的加入,我们已经在当前地图缩放大小实现了大约20%的帧率提升。
  加入第二级VRS:
  不过,有什么方法在得到更高画质同时还获得可观的性能增幅吗?
  上图右手边的图像是开启了第一级VRS着色的,眼尖的人能发现沙滩边缘的画质有所降低。
  对于《文明VI》来说,分离出画质下降的部分并修复他们并不是指出特定draw call并调整着色倍率那么简单。
  在一次调用的某些部分需要不同的着色倍率来得到最佳化的GPU性能并杜绝画质损失。幸运的是第二级屏幕空间图像可以帮忙。
  使用边缘检测滤镜来判断哪些部分需要高解析度,然后设置一个屏幕空间图像。在保留大量细节的同时,Firaxis依旧能够获得性能提升。
  那么现在,你还能分得清哪边使用了VRS着色技术吗?
  
  这张图就是文章头图,左手边实际开启了VRS
  在同样的场景中,Firaxis通过屏幕空间图像获得了14%帧数提升。他们同时加入了有趣的屏幕空间图像可视化插件让我们可以实际看到第二级VRS的工作情况:
 
  红色部分使用高精度1x1倍率着色,蓝色部分使用的是2x2倍率
  VRS支持目前市面上的NVIDIA Turing架构产品
  VRS对于游戏有什么意义?
  开发者们现在有了一个高度灵活的工具,可以让他们不改变代码的前提下提升性能和画面质量。
  在未来,一旦支持VRS的硬件变得更广泛,我们期待能有更多硬件可以运行高精细度画面的游戏。充分利用VRS优势的游戏将从中获得额外的性能以支持更高帧数、更高分辨率和更少锯齿。
  一些游戏引擎开发商已经倾向于将VRS技术添加至他们的游戏引擎和游戏中,包括:
  
  由于VRS高度灵活的植入特性和优秀的效率,不久我们就可以看到使用这项技术的游戏发布,而最终受益的除了开发商,更多的还是成千上万的游戏玩家。

玩家点评 0人参与,0条评论)

收藏
违法和不良信息举报
分享:

热门评论

全部评论