※ 引述《greenpeace21 (梦见街)》之铭言:
: 如提
: 目前只有看到看门狗有“棋盘式渲染”这功能能提高效能
: 开下去乖乖不得了,效能爆增60%以上有吧...
: 重点是画质几乎和原生分辨率看不出差别
: 比什么垃圾DLSS强得多
: 为什么这个技术没有被普及推广呢?
结论先,没有普及是因为:
-不是全方面最好的画面渲染手段
-引擎要有特定功能组才能发挥
-PS4 Pro 才有专用的加速硬件,所以就算有对 PS4 Pro 版做,也未必对 PC 做
但确实如果有选项给玩家自己决定要不要开的话应该是好事没错啦。
但接着得先解释拿棋盘式渲染跟 DLSS 打大概算是个文不对题的比较,因为:
-棋盘式渲染主要只是偷效能的渲染方式
-DLSS 则有“提升分辨率”以及“反锯齿”的目的
所以不考虑极端情境下,DLSS 2.0 以上的影像品质一定显著高于用同分辨率的棋盘式渲染
成果。
至于大概算是是因为每家引擎的棋盘式渲染最终实作方式不太一样。后面举例的形式是 PS4
Pro 硬件有支援可以加速进行的形式,但像 Guerilla Games 的引擎采用的方式更像是所
谓的 TAAU,具备保留细节提升影像品质的性质。
以下两部影片更有详细的资讯与画面比较:
https://youtu.be/9ggro8CyZK4
Digital Foundry - DLSS 2.0 VS 棋盘式渲染(死亡搁浅)
https://youtu.be/ljgCy4Y2sHc
Digital Foundry - 原生 VS 棋盘式渲染(底特律)
常态的棋盘式渲染的运作方式是:(举 2160p 为例)
-每格画面渲染 1/2 面积的分辨率(像 1920x2160/3840x1080 都可以)
-逐格交错渲染的画面
-计算 Motion Vector,基本上是解释画面上像素的移动速度的资讯
根据上面做的事情之后就可以:
1. 计算第 N 格画面跟 Motion Vector
2. 计算第 N+1 格画面
3. 根据 1. 的资讯补齐第 N+1 格画面缺少的像素,输出成果
进而产生出看起来比砍半分辨率还好看点的画面
所以限制也很明确:
-能计算 Motion Vector 的引擎才能合理的使用这方式(像 Unity 内建渲染不支援)
-可以补齐的资讯可能不足,因而会显现出缺陷(例如随时都动很快的游戏)
因此不只可能渲染引擎上就无法实作,也不是个全方面可以得出好成果的算法。
或者像 Unreal Engine 内建的 TAAU 已经是全方面比较好(省效能、提升品质、具备反锯
齿功能)的算法下,对开发者来说就没有太多理由非得支援棋盘式渲染。
大概是这样提供参考。
顺带一提虽然 Unity 宣布支援 DLSS,但 DLSS 也需要 Motion Vector。
所以真正未来会支援 DLSS 的只有少部分 Unity 开发者在使用的新渲染流程(HDRP)。
目前大部分开发者对 HDRP 的信任度很低,都倾向用内建渲染流程。要等到 Unity 游戏也
开始广泛支援 DLSS 恐怕是三年以后的事情了。