你最后一次在电脑或游戏机上玩电子游戏是什么时候?如果它是最受欢迎的游戏之一,你可能已经注意到其图形是多么的逼真。今天,最尖端的PC 和游戏机中的图形正接近我们在电影中看到的真实图片。
在创建照片级真实感实时计算机生成图形时,最重要的元素之一是场景的照明。模拟真实的灯光和阴影时,传统的3D图形渲染方法——光栅化——并不是最有效的技术。这是因为光栅化的工作原理是将虚拟多边形网格化为3D模型,然后将其分解为必须单独着色的像素,这一过程需要极其繁重的工作和计算资源,并且通常需要复杂的开发技术。
电影动画师早就知道这一点,是以他们使用光线追踪技术来创建全局照明、阴影和反射等效果。光线追踪是一种简单并准确地模拟光行为的方法,它可以使场景看起来更逼真,而且工作更少。这项技术更符合人眼看世界的原理,光通过环境中的物体产生反射,并基于物体的材质吸收/反射光线。
光线追踪可以实现更逼真的效果,开发人员可以使用它为游戏玩家创造更沉浸式的体验。同时,使用光线追踪比使用传统光栅更容易创建这些效果,因此开发人员可以腾出时间来处理游戏的其他方面工作。
然而,在游戏中使用光线追踪技术的缺点是,要获得真正的沉浸式体验,光线追踪必须实时完成。这意味着图像必须在几秒钟内渲染完成,这使得它在处理计算和资源方面成本昂贵。
如今,市场上的硬件可以在游戏主机和 PC 游戏中实现实时光线追踪效果,但它有选择地只用于照亮场景中最关键的对象,在某些情况下,开发者可以决定如何使用它。考虑到性能限制,开发者们可以决定是使用它生成反射还是阴影, 还是完全使用光线追踪——可以选择关闭以优化帧率。游戏性能是考虑的底线。
与前几代技术相比,目前带有光线追踪的硬件通过提供更多的光线追踪处理来提高性能,但它需要更大的芯片面积和更高的功耗。而当前在电源受限的设备中实现实时光线追踪极具挑战,因此这项技术尚未在移动游戏玩家的设备屏幕上大显身手。不过,据有关数据显示,移动游戏很快将占据全球游戏市场的52%(NewZoo, 2021年),移动游戏的体验成为未来发展不容忽视的方向。
移动设备中的图形
即便没有光线追踪技术的帮助,移动图形的质量仍在不断提高。随着图形变得越来越真实,使用传统技术生成图形的能力变得越来越复杂,这正将性能、带宽和功耗要求推到了移动处理器的极限。
阴影生成就是一个很好的例子。阴影生成传统上是通过级联阴影贴图(CSM, Cascaded shadow maps)完成的,这一过程需要大量的几何体处理、大量缓冲区的分配、高分辨率下多个渲染目标的处理以及昂贵的着色器操作。就处理周期、功耗和带宽而言,成本是巨大的。而且,在进行了所有这些操作之后,结果仍然不如使用光线追踪更容易,创建的结果那么真实。
使用光线追踪技术,光线从单个像素发送到光源,如果光线击中某个物体,该区域将处于阴影中。每像素一条光线使这成为一个简单、廉价和直接的过程,特别是在专用硬件到位的情况下。传统光栅化所遇到的许多分辨率问题、伪影和其他挑战(如避免浮动几何体所需的偏移)在光线追踪中并不存在。只要专用硬件能够高效实施,创建照明和阴影效果就是微不足道的挑战。
今天,这个行业正处于交叉点,使用阴影贴图和其他传统技术进行的近似操作正变得非常昂贵,而实时光线追踪正成为一种更高效的选择。此外,随着摩尔定律接近尾声,我们不能再依赖可编程硬件仍然每两年呈现指数级增长。因此,要继续加快光线追踪技术的推进,特别是电源有限的移动平台,业界必须寻求高效设计的固定功能加速器解决方案。
在移动设备中持续打造更好的图形关键在于硬件和开发人员优化技术效率。
光线追踪硬件现状
实时光线追踪技术长期以来一直是3D图形的圣杯。光线追踪可以以不同的性能和效率水平执行,为了阐明这一点,Imagination建立了光线追踪等级系统(RTLS),确定6级光线追踪,从0级到5级。最初的硬件加速光线追踪工作 - 我们称之为"0级"的RTLS等级,不是最佳的。这些解决方案的功能有限,需要定制硬件和应用程序编程接口(API)。当然,这些解决方案并不能吸引开发人员。然后,市场发展到"1级"解决方案,该解决方案使用基于传统GPU的软件技术。这些解决办法提供了更大的灵活性,但离理想状态还有很长的路要走。
我们今天在市场上看到的大多数光线追踪技术(例如用于 PC 和游戏机)就是我们所说的"2 级"RTLS 解决方案。该方案为光线追踪的最基本和最广泛的操作提供了专用硬件:针对三角形/盒的交集测试器。将此操作放在固定功能硬件中可以实现更高的能效,但对移动设备来说仍不够好。因为依旧会将多个级别的光线追踪处理运行在 GPU 上的shader,这些处理阶段对GPU的并行执行引擎并不友好。这还导致传统图形性能和算术逻辑单元 (ALU)管线效率降低,从而限制了总体吞吐量。
当今市场上最复杂的光线追踪解决方案位于3级。这些解决方案在专用硬件中实现更多的光线追踪功能,减轻了着色器的负担,提高了效率。在这个级别上,通过遍历边界体积层次结构(BVH)——光线追踪的主要数据结构,完整光线相交处理在专用硬件中实现。这提高了更复杂场景的光线追踪效率,并更好地转移光线追踪功能,减少了对传统图形性能的影响。
然而,这些解决方案仍然缺乏一个必要的组成部分,它使得光线追踪在移动设备成为可能:一致性排序。由于光线倾向于分散在许多不同的方向,如果一致性问题没有解决,通常GPU带来的诸多并行优势将丢失。这会导致较低的带宽利用率、复杂的数据访问模式以及着色器管线处理效率降低。虽然这些解决方案可能会声称实现超每秒千兆光线的处理能力,但它们的效率通常较低,与GPU 处理资源利用率低或内存访问限制有关,这是由于光线在整个场景中散射造成的非相干的内存访问模式造成的。
要在移动设备中实现实时光线追踪,关键在于效率,我们要利用 GPU固有的并行性,并开发优化硬件的智能算法。这需要更智能的硬件解决方案。
智能光线追踪硬件
业界必须超越3级硬件,才能在移动设备中实现实时光线追踪。在Imagination,我们已经为超过100亿台移动设备提供了3D图形技术。我们知道如何在高效的硬件中提供令人惊叹的图形。2016 年,Imagination 的光线追踪开发板已经比当今市场上的解决方案复杂得多。现在,我们为市场带来了4级RTLS光线追踪解决方案。
在4级解决方案中,边界体积层次(BVH)的光线遍历与3级一样在专用硬件中完成,更重要的是,光线相干性排序也是如此。在这个过程中,我们对同一个方向的光线进行分组,允许大批量的处理充分利用GPU的并行计算能力。
长期以来,我们一直利用GPU固有的并行性,采用基于分块的渲染等技术,通过空间布局性分块排序提高效率。今天,这是普遍接受的做法。现在,我们将同样的想法带到了光线追踪中。通过这种方式,我们提高了宽ALU的总体利用率,并显著提高了测试效率。对传统图形性能的影响微乎其微,因为我们几乎完全将光线追踪处理转移到专用硬件中,使着色器可用于其他非光线追踪的图形处理。
我们的4 级 RTLS 解决方案代表了当今最高级的光线追踪方案,并且很快将有采用该方案的设备上市。借助Imagination 4 级光线追踪 IP(IMG CXT GPU IP),公司可构建高达 9TFLOPS 的 FP32 光照性能和超过 7.2G光线/秒 的光线追踪性能,同时提供比 2 级和 3 级解决方案高达 2.5 倍的功耗效率。
当我们推出IMG CXT时,我们并没有止步不前。我们已经在演示如何使用5级光线追踪方案实现完全可编程的光线追踪技术。
开发人员优化技术
即使是最高效的硬件也需要技术辅助,以在移动平台上提供最佳的图形质量。 移动设备的优化更为重要,因为游戏机或PC在某种程度上承载了带宽和功耗预算可用性过大的问题。手机没有这种蛮力耐受性,任何东西都必须在微小的外形因素下工作,并基于微小电池提供的能量运行。手机的特点意味着硬件必须由游戏引擎高效驱动,以确保手机不会过热,降帧速率。这意味着,为移动设备创建硬件的关键之一是优化管理电池发热带来的影响。
我们告诉开发人员的第一件事是,少即优:不是场景的每个像素都需要光线追踪。我们建议开发人员使用他们的光线追踪预算,以达到最大的视觉冲击和游戏体验价值。同样,它太复杂了,无法对每一个三角形的光线进行测试。通过构建一个有效的层次结构,开发人员可以在确定要测试的三角形时提高硬件效率。构建最佳加速结构通常最好离线完成。
开发人员还应避免所有暴力算法。像软阴影这样的效果可以通过更智能的采样器模式实现,并结合空间过滤器,而不是每个像素发出许多光线。此外,大多数光线追踪效果可以以较低的分辨率呈现,例如,以四分之一分辨率进行处理,然后按比例放大。然后,可以使用图像的时间和空间特性,使用去噪减轻因稀疏采样带来的光线追踪噪声。其中许多阶段可以合并在一起,在传统GPU计算硬件上高效运行。它也可以利用专用的神经网络加速引擎,这些引擎几乎已经在每一部手机上已经存在。
开发人员还可以使用许多其他技术来优化移动设备,例如用于全局照明的动态探测器、应用程序编程接口(API)的谨慎使用等。归根结底,高效的光线追踪硬件与智能开发优化相结合将是实现移动设备实时光线追踪的关键。
移动设备游戏规则的变革者
光线追踪正在为新一代PC和游戏机实现更真实的图形掀起新的浪潮。这是有望引入移动设备的技术,借助全新的高效专用硬件和设计技术。这是真正的游戏规则变革者。它将把世界上最庞大的游戏玩家群体带向开发者,为移动设备制造商提供一种新的差异化方式,并实现全新的沉浸式移动用户体验。