超能课堂(66):为VR摩拳擦掌,说说NVIDIA的SMP技术
在今年的五月份,NVIDIA正式发布了旗舰、次旗舰级别显卡GTX 1080、GTX 1070。这一代作为制程工艺、架构的双双更新的一代,单单更新显卡产品未免显得冷清了。作为一家在软件工具方面相当有进取心的公司,NVIDIA除了推出沉浸式截图工具Ansel之外,还特别带来了Simultaneous Multi-Projection(SMP)技术,意在把握今年虚拟现实(Virtual Reality,VR)的快速发展,加强Pascal架构显卡在VR方面的竞争力。官方宣传的“GTX 1080比GTX 980Sli更快更强”,其实比较的就是VR环境下的游戏性能。
SMP技术到底是什么?有什么用?我们需要从去年的GeForce 900系列显卡说起。在第二代Maxwell显卡架构公布时,正如今年的Pascal,NVIDIA同样公布了一项让人深刻的技术:立体像素级全局光照(Voxel Global Illumination,VXGI),以及该环境下的环境光遮蔽方案VXAO(Voxel Ambient Occlusion)。熟悉计算机图形学的你一定知道,全局光照是图形工业中相当精密且奢侈的光影实现手段,而作为其妥协的产物,环境光遮蔽也是对硬件资源消耗较大的技术。但你也许不知道的是,NVIDIA为了实现上述技术而研发的Multi Projection Acceleration(MPA)其实就是今年SMP技术的雏形。
在 2nd Maxwell架构上开始被加以利用的MPA
如果你对VXGI的原理有些了解的话,你一定不会对MPA的概念感到陌生:通过MPA技术,GPU可以针对图形计算,特别是几何(Geometry)运算过程中节省相当大的时间和运算资源,因为MPA技术可以在一次几何传递(Geometry Pass)中重现6个观测点上的动作变化,将几何数据作为缓存并重复使用,由于只需要工作一次,效率自然也大大上升。
而今年的SMP技术的基本思想也是一样:尽可能的重复利用运算的几何运算结果,以提高计算效率。相较于一年前的MPA,如果说后者是一个狡猾的Tricks,前者就是一项完整而丰富的Feature。要知道,在GeForce 900系列显卡中,MPA对于运算的顶点和角度有着自己的限制,而SMP则丰富得多。
我们来看看NVIDIA官方的原理示意图,大家首先要注意到的是在Pascal架构中,每一组SM单元中前端的PolyMorph Engine 4.0就是实现SMP的重要部分。在流水线示意图中我们可以看到,SMP出现的位置在着色器和像素光栅化的中间,在所有几何着色器、顶点着色器和曲面细分着色器工作完毕之后,原本即将准备被光栅化为像素的数据被接入SMP加以重复利用,因此效率自然高,AnandTech的编辑Ryan Smith被告知SMP的硬件消耗几乎“微不足道(Miniscule)”的。
枯燥的原理说了这么多,SMP的意义在哪里呢?首当其冲的就是VR环境渲染。如我们前文所说,早期的MPA可以实现单个方向上对于多个目标的几何运算资源的重复利用,但是在VR中我们都知道所有场景都要针对人的两颗眼球。这意味着画面需要重复同样的渲染两次吗?对于MPA也许是的,但是对于SMP来说,这只需要一次几何传递(Geometry Pass),这下你知道为什么Pascal架构的GTX 1080可以在VR性能上翻倍了吧?
事实上除了SMP之外,NVIDIA还开发了两套技术以更好地为VR服务,首当其冲的是Single Pass Stereo(SPS)。这项技术大家可能相对更熟悉,因为黄仁勋本人在展台上介绍的时候着重谈及该内容。简单来说,SPS技术可以在驱动层级为VR场景提供优化。只要开发者递交一次某个场景,在下一帧、面向两颗眼球就会对该场景提供驱动层级的优化。
另一项技术被称为Lens Matched Shading,这项技术不针对具体的性能,而是在输出端的表现效果上。从字面就可以知道,LMS技术可以让输出的画面更好的贴合VR镜头的OLED透镜。我们都熟悉的镜面在画面的边缘部分经常会出现光学失真造成的扭曲,而LMS可以针对性的让参与渲染的画面适应透镜,以减少传统的渲染-压缩-扭曲过程中的失真,同时减少工作量,比如示例图,可以将每一帧、每颗眼球对应的画面中的像素从2.1Mpix降至1.4Mpix,参与工作的像素减少了,帧数当然会更高。
当然,这一项成果已经被嫁接至传统的多连屏显示器上,当你的多连屏显示器在渲染一个呈角度的画面的时候,其实大多数他们之间的角度都是直线的180°,只是简单地被粘贴在不同的显示器上,而SMP技术可以感知真实的角度,并生成真实的空间夹角。
当然,看到最后可能你还是会不免俗的问一句:那么这项技术已经被投入游戏了吗?是的,我们可能是最熟悉的两大游戏引擎:Unreal Engine、Unity已经在逐步支持SMP技术,后续将有超过30款游戏支持SMP。当然,如果你已经拥有一副Oculus Rift,你可以现在就投入《Obduction》游戏中体验一下。
关注微信号expkf01,第一时间获知精彩活动和原创科技资讯。