本文约3568字,需6分钟阅读(全文浏览)

如果让你在脑海里以进化的视野回望过去历史的长河中游戏的画面是如何从拙劣慢慢进化到目前的精细,相信大家都有自己的一套历史观,首先当然是随着分辨率的提高、硬件的图形性能、显存容量的发展,游戏中能够刻画的模型分辨率越来越高、越来越精细,而随着发现贴图、曲面细分技术的发展,游戏当中的地面、墙体在更加精细的同时能够显示足以以假乱真的沙尘、泥团、轨迹、地毯纹理,人物的衣物能够显示更加立体、更加有层次的质感,再往后,我们皮肤在更加精细的同时能够显示更多的表情,贴图的位移更加精细,甚至连毛发都可以以假乱真。

另一方面,随着内存、显存的进步,游戏引擎本身在逻辑方面的追求,我们开始迎来沙盒式游戏,开始习惯在开放世界中以自己的方式改变着游戏的面貌,改写历史的进程。在光影方面,在体积光、屏幕空间反射、遮蔽光的普及,再到近年愈加火热的“基于物理”的热潮,似乎万物皆可“基于物理”,比如说基于物理的渲染、基于物理的着色器,如果你认真观察的话,似乎我们现在目前所处的时代已经拥有足够让人满意、甚至是让人无欲无求的画面,比如说《战地1》,这似乎让人想到段子中经常看见的那位美国专利局局长在1899年时所说的“所有可以被发明的东西都已经被发明完”。

这是真的吗?当然不是,只有不负责任的反智言论才会让你相信我们现在处在过剩的时代,尤其是在技术层面,技术是永远无法超过欲望的,而我们能做的就是好像是魔术师使用各种各样的Trick、Hack来骗过你的眼睛,调动你的满足感。比如说新发布的图灵显卡主要标榜的光线追踪,就是尝试以真实的光线路径创造出真实的反射,让应该黑暗的地方如同真实般黑暗、应该明亮的地方如同真实般明亮。

什么意思?简单的例子是《战地》系列,当我初次玩的时候,我就感觉到一股以往从来没有在《使命召唤》系列体验到的真实感,这份真实感是来自团队合作?还是来自于大规模的载具?似乎都是,但是认真对比同时期的《使命召唤》对比后,我很快发现关键就在于光影,比如说《战地3》当中的黑夜地图,明显就感觉除画面当中固定的少数光源外,其他地方都非常黑暗,近乎伸手不见五指,虽然会不习惯但很快你就会发现这跟现实情况如出一辙,而《使命召唤》当中的夜战环境就更像是简单将亮度调低,相比之下很容易跳戏。

这是《战地3》当中的夜间巷战

这是《使命召唤》系列的黑夜

你更喜欢哪种风格的黑夜?

锯齿——影响画面真实性的历史难关

那么是不是如果纹理足够精细、光影足够饱满,我们对于画面的梦想就已经接近实现呢?听起来好像有些道理,但是你忘记有项基础性的问题,就是游戏的锯齿。因为画面的生成原理问题,画面是无法完全避免锯齿的,而在如何消除锯齿方面,简单来说有两种手段,一种是通过更多的像素采样,生成更加精细的画面,然后超采样到屏幕里,因为分辨率的原因,更加精细的画面能够实现消除锯齿的效果,这种抗锯齿效果比较好,而且要实现没有太多技术难度,但是对于性能的要求非常高,其中的代表就是简单粗暴的超级采样抗锯齿(SSAA)、多重采样抗锯齿(MSAA)。

来自《古墓丽影:崛起》的抗锯齿对比

来自《刺客信条:枭雄》的抗锯齿对比

第二种是采用后处理的Trick,通过灵活的算法来以一定程度的画面模糊来消除锯齿,这种抗锯齿的特点是没有前者“实实在在”超采样而带来的效果,不够精细,如果比较早期的游戏(2011-2014)通过比较是能够明显看出来更模糊的,但是它突出的优点是它的最大价值:对于性能的要求极其低,有些时候能够做到忽略不计,毕竟这是主要基于后处理的技术,其中的代表是FXAA、SMAA,目前的游戏已经基本不会给你变模糊的感觉,但是在线条较多、场景复杂的环境依然容易显得锯齿明显,所以部分游戏当中能够看到他们的结合。

来自《上古卷轴:天际》的抗锯齿对比

而如果要说第三种的话,那就是TAA,它的本意是时间性抗锯齿,最常见的拼写是“Temporal

anti-aliasing”,但是NVIDIA的电影化抗锯齿TXAA的含义同样是如此,现在具体的含义与本源虽然不清楚,但是在质量跟效果方面,TAA处在上述两种方案之中,是比较中庸的方案。在目前的一些游戏当中,TAA已经成为最主流的选择,而以往很常见的MSAA都是变得罕见。

不只是光影,图灵架构还带来什么?

在上述所有的抗锯齿技术、光影技术的逻辑当中,共同的逻辑就是所有的计算性能仿佛就是一块蛋糕,每当你开启新的技术,蛋糕就要被切除一块,而如果你开启软阴影、全局光照、超级采样,那么蛋糕当中的极大部分就会被砍掉,或者说硬件性能守恒,这意味着除非更换硬件,否则没有办法在不削弱一部分体验的前提中提高你另一部分的体验(在大多时候都是游戏),这点就注定很多的优化软件都是基于歪理邪说,道理很简单,如果你不升级配置,或者不超频,那么你的帧率就永远只有那么多,你想要流畅,就注定要砍掉优先级较低的特效,而如果你想要栩栩如生的画面,就注定要忍受较低的帧率——这是无从辩驳的、跨画游戏世界的扛鼎理论。

但伴随着图灵架构当中新增的张量单元,在全新的GeForce 20系列显卡当中新增的深度学习超级采样抗锯齿( Deep Learning

Super-Sampling)是跟以前有根本性差别的抗锯齿,看名字似乎跟我们熟悉的SSAA超级采样抗锯齿有渊源,但其实并非如此,后者是相当暴力、在本地缓冲区直接生成数倍于目前分辨率的图像然后超采样精细化,因此硬件损耗极其庞大,而前者则是利用张量单元赋予的深度计算性能,让本地生成的图像跟使用超级采样生成的图像对比,然后通过学习、观察其中的差距来复现后者的质量。

很重要的改变就是:显卡不再将所有的运算都在本地执行,是的你没有听过,通过图灵架构,你能够通过张量单元,跟位于英伟达总部的土星-V(Saturn-V)超级计算机(660节点、5280伏打核心)来依靠深度学习,来获得四两拔千斤的效果,

通过庞大的AI训练,能够以很小的代价获得更好的采样效果,说夸张一点,就是以FXAA抗锯齿的性能损失,换回SSAA抗锯齿的画质,听起来是不是很梦幻。

在德国的科隆游戏展期间,NVIDIA公布的支持深度学习共有十余款,但是目前我们能够亲自测试的作品只有两项Demo,其一是虚幻引擎4公布早期时的潜行者Demo,其二是《最终幻想XV

Windows Edition》。在这两项作品当中能够跟TAA进行对比。

多重采样和超级采样哪个流畅_测试之前你需要做这些功课相关推荐

  1. 多重采样和超级采样哪个流畅_OpenGL多重采样:结果与未使用多重采样时的结果相同...

    在QT框架中使用OpenGL(版本330)多重采样 . 渲染图像就像星形 . 我使用片段着色器在黑色画布上渲染形状强度 . 我不使用OpenGL原语 . 当不使用多重采样时,并且当渲染输出画布具有较小 ...

  2. 多重采样和超级采样哪个流畅_蒙特卡洛方法-多重采样

    全球图形学领域教育的领先者.自研引擎的倡导者.底层技术研究领域的技术公开者,东汉书院在致力于使得更多人群具备内核级竞争力的道路上,将带给小伙伴们更多的公开技术教学和视频,感谢一路以来有你的支持.我们正 ...

  3. 深度学习超级采样(DLSS)到底是什么?

    总得来说,DLSS是一项跟以往的抗锯齿技术完全特立独行,具有更广阔的技术潜力的抗锯齿技术,通过张量单元,GeForce 20系列显卡能够以相当实惠的性能损失获得足够好的采样效果,而且可以预见的是,它在 ...

  4. 数据上采样和下采样_采样不足以配置您的ml数据

    数据上采样和下采样 By Isaac Backus and Bernease Herman 艾萨克·巴库斯(Isaac Backus)和伯尼瑟斯·赫曼(Bernease Herman) It's 20 ...

  5. UE5使用DLSS(超级采样)提升场景的 FPS 远离卡顿的优化方案

    一.什么是显卡的DLSS技术? 转自:        什么是显卡的DLSS技术? - 知乎 DLSS 是 Nvidia 近年来发布的最具创新性的功能之一.它最初的目的是为了弥补在使用光线追踪功能时的显 ...

  6. 超级采样 Supersampling 方式汇总

    超级采样是一个spatial 抗锯齿的一种方法,用于消除走样(锯齿和像素化的边缘)从电脑游戏上的渲染的图片或者其他的电脑程序中产生.不像现实中的物体有连续光滑的曲线,锯齿的产生是因为电脑显示给浏览者的 ...

  7. VTK修炼之道30:图像重采样_降采样和升采样技术

    1.VTK中的图像重采样实现 图像重采样是指对采样后形成的由离散数据组成的数字图像按所需的像元位置或像元问距重新采样,以构成几何变换后的新图像.重采样过程本质上是图像恢复过程,它用输入的离散数字图像重 ...

  8. pcm 降采样_图像降采样和升采样

    转自:http://www.lofter.com/postentry?from=search&permalink=1cb3111d_6ee9587 1.先说说这两个词的概念: 降采样,即是采样 ...

  9. python升采样和插值_图像的降采样与升采样(二维插值)

    图像的降采样与升采样(二维插值) 转自:http://www.lofter.com/postentry?from=search&permalink=1cb3111d_6ee9587 1.先说说 ...

最新文章

  1. ​闻一闻就能诊断癌症?可与“狗鼻子”媲美的AI癌症检测系统问世
  2. oracle时间格式要注意的问题
  3. linux centos6.5 网络配置
  4. boost::lambda::constructor用法的测试程序
  5. oracle昨日时间,。。今日,昨日,上周,本月,本年,按时间统计总金额
  6. 机器学习(五)PCA数据降维
  7. 参加第六届中国制造业MES应用年会
  8. 算法习题---4-5IP网络(Uva1590)
  9. 浅谈c语言函数调用指针
  10. 2020 cr节目源_2020年四款最新直播软件汇总,频道多,画质流畅节目源超级稳定!...
  11. Java用户管理系统
  12. 实验中常用光纤接头型号
  13. linux 中gnu的含义是,GNU是什么意思
  14. x86 Kylin V10系统安装kvm并创建虚拟机
  15. Python项目:基于Python+Django实现药品管理系统
  16. 仿小米商城页面和简单效果
  17. git重新生成ssh密钥
  18. 【Linux】嵌入式·NAND Flash
  19. android studio TCP客户端通讯
  20. Pyqt5和Scrapy开发可视化爬虫

热门文章

  1. CCF2020-路况状态时空预测Top1方案
  2. 家庭自动炒菜机设计(论文+CAD图纸+SolidWorks三维+ppt+驱动控制子程序)
  3. 入门怎么安装Python并且操作?
  4. Python自动化测试(3) - 列表
  5. WordPress查询函数:query_posts()
  6. AtCoder Beginner Contest 273 CDE题解
  7. 什么是HotSpot
  8. 微博的未来 (Twitter创始人Evan Williams介绍新网站Medium)
  9. 【机器学习实验五】逻辑斯蒂回归
  10. 设计模式——迭代器模式(附代码示例)