英伟达高端显卡杀手锏——光线追踪到底是什么?
扫描二维码
随时随地手机看文章
我们的2018年已经过去,说漫长却难以伸手抓住、说短暂却巴不得早点脱身的2018年被我们抛在身后似乎仅仅是一瞬间的事情,所以是时候给今年的市场发展寻找关键词。说到抛在身后,就不禁想起《西游记》当中孙悟空一跃十万八千里的筋斗云,今年下半年中美合拍的《西游记》即将正式开机,美猴王孙悟空、正能量的形象,文体两开花,弘扬中华文化,希望大家能多多关注……好吧其实是开玩笑,言归正传,如果要给今年的显卡市场找关键词的话,那肯定是“光线追踪”,光线追踪技术在今年年初以毫无征兆之势来到世上, 犹如在所有人都没有准备的时候点燃的烟火,并且在秋天凭借新一代图灵架构显卡集中到来,而在2019年,将会有更多支持光线追踪的游戏,所以我们需要帮助读者用一文看懂光线追踪。
到底什么是光线追踪?
我们来假设你并非是熟悉硬件的游戏玩家,那么你很有可能在以前从未听说过光线追踪,所以经过近半年的、远超范弗利特弹药量投送的新闻轰炸后,你很有可能早已感到听觉疲劳:到底什么是光线追踪?为什么我需要知道这玩意?以前大家都没有光线追踪的时候不是一切都很好吗?难道我们现在就像等待加内特或者是皮尔斯复出的波士顿一样等待着光线追踪技术带领我们撑过总决赛?
当然并没有这么夸张,光线追踪技术就像锦上添花,但是就像后知后觉的一切美好,比如说你第一次用固态硬盘、第一次用高性能显卡、第一次用4K HDR G-Sync显示器、第一次用手感完美的机械键盘,一旦你习惯光线追踪创造出来的逼真环境,你再看到过往的光影环境就会觉得很寒酸,真实能一眼就看出它们的光影计算错阴影投射、光线的明暗。
那么说那么多,到底光线追踪技术是何方神圣呢?所谓的光线追踪技术,就是采用更加接近真实物理世界光子传播的方式来计算环境内光线的照射路径以及与物体碰撞后形成的反射效果,以此计算哪里明亮、哪里昏暗、哪里是被第一次光线反射而照亮的、光线照到这里然后反射到哪里跟哪里……并且根据物体表面的不同材质,反射的光线同样有明亮而锐利、昏黄而温和的区分,进而创造出现有条件内最佳、最真实的解决方案。
光线追踪并非是全新的技术,其基本思路在上世纪晚些时候已经有充分的雏形与发展,今年被提升议程的主要原因是因为硬件的突破而造成这项技术从幕后到幕前的时间被大幅缩短。光线追踪主要思想是从我们的观察位置向成像平面上的像素发射光线,并检测光线与物体的碰撞(其实就是照射情况),如果交点表面为散射面,则计算光源直接照射该点产生的颜色;如果该交点表面为镜面或折射面,则继续向反射或折射方向跟踪另一条光线,如此往复循环,直到光线射出场景或者达到规定计算次数(NVIDIA表示目前的GeForce RTX大多采集50次,而这已经是很大的计算量)。
我们为何需要光线追踪?
好吧,上面说的似乎有些复杂,能不能直接说光线追踪技术到底好在哪里?毕竟不能你说要买我们就必须买,重要得是要知道钱花在哪里,而这部分内容就需要展开去说,即目前以光栅化框架为渲染基础的游戏有哪些缺点,以及光线追踪技术能够带来哪些优点两部分内容。
在写这部分内容前,我必须要强调很多内容,因为自从光线追踪的报道越来越多以来,很多消息在传播当中被或多或少的误解,看到比较多的误区包括但不限于:
1.光线追踪主要都是NVIDIA在推广,他们是光线追踪技术最重要的奠基人(X)
2.光线追踪技术强无敌,光栅化技术低效还咸鱼还是进博物馆吧(X)
3.光线技术就是牛,以后游戏都堆砌它简直不能再美(X)
…………
上述言论都是目前一些不严谨的认识极端化表现后出现的不全面的、错误的观点,一旦我们交代清楚前因后果,大家都会知道它们错在哪里。
(可以这么通俗认为)话说在图形技术的上古时期,就好像盘古在蛋中沉睡并苏醒一样,他发现世界一片混沌,各种各样的标准、规格漫天都是,他说不行,这不符合基本法,世界要统一,要书同文、车同轨、统一度量衡,于是慢慢地,大家开始使用统一的渲染单元,使用统一的图形接口,于是大家开始慢慢朝同样的方向开发游戏,但是大家都知道在看上去无聊的时代就会出现天才,慢慢地有天才发现,大家应该使用都认可的技术来渲染图形框架,这样可以省去时间跟精力,这时候推出的技术就叫做光栅化(这里向大家推荐由人品与技术都无可挑剔的叶劲峰先生翻译的《游戏引擎架构》,数学功底过硬的同学可以自行学习),光栅化技术是目前绝大多数图形技术的基础,它最大的积极意义就在于能够通过较低的硬件开销实现丰富的效果。
所谓光栅化,就是将三维世界里的顶点坐标“降维”、“拍扁”的过程,即将这些坐标表现在二维的显示器平面当中,成为能够被显示的像素点,它是光线追踪的基础,也是高效替代方案,但正因为这是长久以来软件向硬件性能妥协的结果(姑且就这么认为罢),光栅化技术虽然能够以较低的成本绘制丰富的场景,但是因为其本身的原理,在有些时候依然会显得比较脱离现实,比如光影缺少层次感、空间内仅仅出现“亮、很亮、中等、很暗、暗”的过渡,并且在场景复杂的时候会出现阴影渲染太直、太硬的感觉。
正因为如此,在本世代开始出现各种环境光遮蔽(AO)、屏幕空间反射(SSR)、立体像素全局光照(VXGI)技术都是意图扭转这种局面,尽可能增强空间内的光影效果,然而现在因为光线追踪技术的到来,原本高度的Tricky在深层次原理层面得到解决,因为光线追踪技术本身的原理就是更加贴近物理现实的。
所以说,光线追踪技术就是能够更直接、更深度改变游戏中光影效果生成方式、呈现方式的技术,相比以往在受妥协的框架内的技术,光线追踪技术能够极大程度提高光影的真实感、层次感,感受接近真实世界的光影效果。
这里的反射效果是比较典型而夸张的例子
既然这么完美,为什么不早点推出呢?
混蛋!你以为我们不想吗?你以为全世界的程序员、科学家、工程师都是摸鱼的吗?但是阁下的要求实在是……太难实现啊!
因为光线追踪的原理要求,它需要采样的光线样本太多、计算量太大,因为你需要记录、追溯的光源信息实在是太繁杂,尤其是考虑到刷新率,这些对于目前的计算机生态都提出极为苛刻的要求,不单单是需要极高性能的显卡、还需要支持充分的操作系统、驱动层支持,是牵一发而动全身的大工程,为早点让光线追踪技术成为能唾手可得的技术,首先是微软在年初的GDC 2018推出划时代的DirectX Raytracing,最为DirectX 12标准的一部分存在,并且集成在Windows 10 October Update 2018当中,这才是踏出支持的第一步,让后面的一切成为可能。
然后是NVIDIA,通过大量工程师的努力,在微架构层面在最新的图灵显卡当中增加为加速光线追踪性能的专用模块RT Core,再通过联合游戏厂商推出专门的优化驱动,才让光线追踪的体验出现在我们的面前,而即使是这样,目前的游戏当中光栅化框架依然是要坚持不动摇的,准确来说目前是光栅化+光线追踪共同努力的“混合渲染”,可见光线追踪技术对于性能的要求到底有多高。
所以针对前面的三点不全面、错误的表述,正确的回答应该是这样的:
1.尽管NVIDIA在开发、推广光线追踪方面有重要贡献,但是微软的基础性工作同样是值得大家关注的
2.低估光栅化框架的潜力是幼稚的,如果是固定的场景配合较高的精力、成本,现有技术依然能够达到很高的高度
3.以今天的硬件水平,抛弃光栅化的框架是不现实的,更现实的是各有分工的“混合渲染”
4.光线追踪跟“GeForce RTX”商标之间那并不能划等号,前者是范围更大的全集
所以经过全面的讨论,相信大家已经知道光线追踪技术的含义与价值,但同时已经知道实现它的难度有多高、它的难度到底在哪里,相信在理论层面都已经有一定的了解,下面我们主要来讨论它的应用。
光线追踪技术的应用前景如何?
理论上看光线追踪技术的价值不可忽视,但是实际应用还是要看支持的游戏。由于我们前面已经解释的原因,要实现光线追踪技术需要本身极高的运算性能,而且在微架构层面要有特定的硬件级加速单元(RT Core),所以现在Intel、AMD在这方面都是账面支持,实际的产品还没有到来,所以我们唯一能够触及的就是NVIDIA GeForce RTX,根据官方八月份公布的消息,能够支持光线追踪的游戏共11款,包括《神力科莎(Assetto Corsa Competizione)》、《战地(Battlefield)V》、《控制(Control)》、《逆水寒(Justice)》、《地铁(Metro Exodus)》、《古墓丽影:暗影》,看起来虽然不算很多但够玩是够玩对不对?
但其实增加光线追踪技术的难度,准确来说是为游戏增加GeForce RTX技术的难度比想象得大得多,这本身就是极为复杂的技术,所以原本是今年年底发售的《地铁(Metro Exodus)》已经跳票到二月份,《古墓丽影:暗影》说好的光线追踪技术不仅跳票而且连何时出炉都不知道,现在这份承诺可能已经被人遗忘,《逆水寒》尚且没有具体的时间表,大概率是要到2019年上半年,真正能够为我们服务的,目前仅有《战地V》一款游戏而已,好在寒霜引擎的潜力确实很高,表现力确实很不错,我们这次就通过这款游戏来为大家展示光线追踪的效果,以及相应的硬件需求。
首先来看看单机战役模式,因为单机战役模式的节奏是稳定可控的,所以比较容易捕捉精彩镜头。我们选择非裔士兵这关来看看光线追踪能带来怎样的视觉改观,首先大家可以见到,在开启光线追踪后,湖面对岸的火光能够直接反射到湖中,树木的倒影更加真实,但是关闭光线追踪后是什么都没有的,没有火光,树木的倒影的真实性同样不如前者。
随后是走进山中的战斗,对面的德军装备非常好,直接发射一颗反坦克火箭筒过来,打开光线追踪你会发现这颗后端推进的火箭战斗部能照亮旁边的野草,而关闭光线追踪后唯独战斗部底部的地面能够被照亮。
最后战斗开始,这是一块有积水的山地,打开光线追踪你会发现这片积水的反射效果相当好,不,不能简单说是好,应该说是精细、丰富,保留有很多树木、草木的细节,而关闭光线追踪后睡眠的反射则相当简单、简略。
最后再来看看多人模式的表现,我们依然选择以前对比的鹿特丹地图,大家可以看到开启光线追踪后,最明显的就是车辆的金属表面能够很真实的反射周遭的人物、环境,比如玩家经过的时候能够看到身体的倒影,还有玻璃橱窗的反射效果都同样很真实。
看上去效果很不错是不是?那么这背后的性能要求如何呢?其实最初发布的时候《战地V》光线追踪性能确实是有待优化的,不过经过12月份EA的更新,再配合NVIDIA GeForce驱动的更新,性能已经提升不少,根据NVIDIA官方推荐的性能来看,RTX 2070、RTX 2080、RTX 2080 Ti的性能都提高不少,首先是RTX 2070,作为目前最优性价比的光线追踪显卡,建议是在1080p分辨率打开低(RTX Low),这样就能实现超过70FPS的表现,而RTX 2080则可以进阶到1440p分辨率,同样的RTX Low设定可以跑到66.8FPS,这可是1440p分辨率哦,然后就是旗舰显卡的RTX 2080,它可以跑1440p分辨率、RTX Ultra设定,还能稳稳超过60 FPS,旗舰就是旗舰。