英伟达新技术让显卡VR性能翻倍
在这股 VR 热潮中,许多产业都再次迸发出生机,其中最直接相关的就是驱动 VR 所需要的高端 PC 以及高端显卡。
作为显卡领域重量级的制造商英伟达也早就看准了这一机遇,研发新的帕斯卡(Pascal)架构,并投放在今年 5 月初发布的新一代高端显卡 GTX 1080 以及 GTX 1070上。
为了让我们更加了解新架构下显卡性能的提升,高级技术市场总监 Nick Stam 亲自来到了北京英伟达总部的会议室,给我们上了一堂技术课。
将光效引擎「运用」在声效上?
增强 VR 的沉浸感,不仅取决于细腻而流畅的图像,还需要逼近现实中的 3D 音效。要想实现 3D 音效只能依靠左右耳音源的衰减速率的不同,造成一个时间差,从而让体验者能分辨声音的方位。
大多数开发者的做法是直接改变音源声音的大小,将「音响」直接对准体验者的耳朵。这样的方法简单粗暴,也能让体验者判断音源的方位,但沉浸感不足——原因是,在现实生活中,我们听见的声音不仅仅只有从音源发出的,还有墙壁等物体反射后形成的另一波声音。
所以要想增加 VR 在声音上的沉浸感,就必须要同时将这部分的「回声」也模拟出来。而声音与光线都是电磁波的一种,所以英伟达之前在光线模拟上用到的技术同样也是适用于模拟声源与回声混音的波。英伟达提供的 VRWorks 套件中包含这种工具,但由于各个材质的物体对声波的吸收率和反射率是不同的,所以开发者在开发过程中,还需要与英伟达合作,一同完成相关参数的调整。
减轻 GPU 一半左右负担的技术
如果说 VRWorks 套件将以往英伟达在物理现实中将光线模拟的技术运用到声音上来只是不算是多大的创新,那么接下来在图像处理上的一些改进一定让你眼前一亮。
我们都知道现在大多数的显卡在驱动 VR 设备的时候,都是先渲染一只眼睛所见到的画面,然后再开始渲染另一只眼睛所见到的画面。这种做法不仅对 GPU 的性能要求非常地高,而且很难在画面复杂的时候保持高帧率的输出——众所周知,在 VR 游戏中,一旦画面的帧率掉到 90hz 以下的时候,或者稍微卡顿一下,那会极其影响体验,严重的时候还会造成不适感。
为了防止这种负面影响,英伟达拿出了Single Pass Stereo技术。我们可以通过举例的方式来理解这项技术:
在说明这项技术之前,我们先要了解显卡在渲染 3D 图形的大概步骤:首先 GPU 通过计算将 3D 图形构建好,然后再通过投影的方式将 3D 图形投射到显示器上,形成 2D 图形。即使玩家配备了多个屏幕,他看到的画面也只是单纯地将一个投影拉长。如果玩家采用的环绕式的屏幕排布方式,那么画面可能会扭曲变形。
这时候英伟达的另一项新技术 Simultaneous Muti-Projection(多重同步投影技术)就可以解决这个问题了——它的解决方案是分别针对不同朝向的物体,采用不同方向的「光源」进行投射,这样渲染物体就不会发生扭曲了。
明白了这一点之后,那 Single Pass Stereo 的方式也就容易理解得多了。开启了这项功能,GPU 仅需要渲染出左眼的图像,然后再通过 Simultaneous Muti-Projection 技术,转换成右眼应看到的图像即可,而不是像过去一样重新渲染整个图像的方式,将左眼的图像变形之后映射到右眼的镜片上。这样就极大地减轻了 GPU 的渲染负担,同时也提高了游戏的帧率。在实际演示过程中,用 GTX 1080 展示 Epic 的高帧率 3D 人物,其实际帧率从 60hz 提升到了 90 hz。
除了 Single Pass Stereo 这项技术之外,还有一项名为 Lens Matched Shading 的技术。这项技术可以视为给 VR 渲染视图添加了一个遮罩——这个遮罩的目的在于调整因为 VR 镜片带来的畸变。这样一来,就不必每次渲染后再做一遍反畸变的调整。
新架构给 VR 表现带来的提升
其实相对于软件部分,英伟达的这块 GTX 1080 在性能提升上面要更瞩目。根据英伟达官方的数据显示,这块显卡在性能相对于上一代的 GTX 980 在性能上提升了 1.7 倍数(应用场景是 VR 的情况下,其等效性能提升了 2 倍多),但其功耗却与 GTX 980 相差无几,同时远低于 Titan X。
制程工艺上的改进确实能带来一部分性能的提升,但这一代显卡性能提升的关键还是在于其架构改进上。新的架构不仅能挖掘 16nm 制程的潜力提升芯片频率,同时也给予了芯片一些新特性比如:
动态计算平衡。计算机在实际运算的时候,需要进行图形运算和物理运算。前一代的技术采取的是静态分配,也就是说在处理一项任务的时候,进行图形运算的资源是固定的,进行物理运算的资源也是固定的。即使进行图形运算的资源完成了任务,也会被闲置,而不去辅助进行物理运算,那么处理任务花费的时间就会变长。
而运用动态计算平衡技术,可以使得 GPU 资源完成图形运算之后,再加入到物理运算之中去。这样既减少了资源的浪费,同时也减少了处理图像渲染所需的时间。
Preemption(抢占技术,目前还没有一个官方的名称)这项技术可以让 GPU 在进行图形计算的时候,立即停止图形运算迅速开始物理计算,并且图形运算的工作并没有丢失,而是处于一种暂停的状态。对于 GPU 而言,这是第一次实现这种功能。
既然动态计算平衡能减少图像处理的时间,它对于 VR 的重要性不言而喻,那 Preemption 在 VR 里又有什么样的运用呢?
在英伟达上一代 Maxwell 架构下,曾经公布过一项名为 Asynchronous Time Warp(异步时间扭曲)的技术。比如,在用户沉浸在 VR时会不自主进行头部的摆动。只有当他停止动作后,眼睛看到的画面与现实世界中停止动作后应该看到的画面相吻合,那么用户才不至于产生不适感,才能更好地沉浸在 VR 世界里。
Asynchronous Time Warp 技术通过提前在屏幕刷新前准备好用户理应看到的画面,来提升画面的流畅性。Preemption 的作用在于能够更快,更早地启动 Asynchronous Time Warp 技术,生成更多的中间帧,画面过渡更自然,让最终呈现给用户的画面更贴近现实,增加 VR 带来的沉浸感。
在这股 VR 热浪中,英伟达如鱼得水——不仅迭代了自家的高端显卡,针对 VR 开发者提供了一系列的开发套件,还给玩家提供了一套用于游戏中「拍照」的工具 Ansel。玩家可以使用这套工具拍摄最高 32 倍于自己显示器分辨率的截图,以及 360° 全景图片。
这一切都只是英伟达在自己的强势领域 PC 端显卡的动作,而当下国内普及度较高的却是眼镜盒子这样的移动端 VR 产品,同时已经出现如大朋,Pico 这样的移动端 VR 一体机。当我询问英伟达传播经理金洋,英伟达在移动端的策略之时,他表示:「当移动端的 VR 产品符合英伟达的价值观,它们真的需要强劲的 GPU 之时,我们自然会采取策略。目前,我们在车载图形处理方面已经处于统治地位了。」