《传送门:序曲RTX》将一款经典的Source模组带入了图形技术的前沿

《传送门:序曲RTX》brings a classic Source mod to the forefront of graphics technology.

《传送门:序曲RTX》是Nvidia的RTX Remix技术的一次令人印象深刻的展示,它将曾经的《传送门》Source mod模组提升到了与甚至超过高端AAA游戏相媲美的视觉特效和技术水平。它真的很壮观 – 希望未来还会有更多基于光线追踪的重制版本推出,因为RTX Remix模组工具即将发布。

更有趣的是,《序曲》也是第一个支持RTX IO的游戏,它是在Vulkan下运行的GPU加速解压缩方案。实质上,它是Nvidia品牌化的Direct Storage 1.2版本,而这个版本也包含在本月晚些时候将在PC上发布的《拉奇特与克兰克:奇异裂缝》中。它的目的是加速PC平台上的游戏加载和资源流式传输,而它在这里的应用给了我们一个很好的机会来了解这项技术是如何工作的。

从历史上看,加载过程涉及将游戏数据(如纹理或模型)从硬盘传输到系统内存,然后由CPU控制将数据传输到GPU。这种方式存在一定的延迟,因为硬盘需要物理旋转盘片、定位数据,然后按块加载数据,以最小化寻道次数。

这是Alex Battaglia关于《传送门:序曲RTX》中RTX IO的完整演示视频。

这种技术在从HDD加载相对较小的游戏资源时效果还不错,但现在的游戏文件大小已经达到了数百GB,包含了极为详细的资源,所有这些数据都需要进行压缩以充分利用可用的存储空间和带宽。这意味着资源在被GPU使用之前需要由CPU解压缩,而这额外的时间和CPU负担使传统的加载方式开始出现问题。

幸运的是,快速、低延迟的闪存存储(SSD)的出现意味着我们不需要按顺序读取数据以最小化寻道时间 – 我们可以创建一个新的标准。首先,我们希望并行访问数据,以大大减少加载时间,与旧的Windows I/O标准相比。其次,我们希望确保数据在被解压缩之前从存储器移动到GPU。GPU拥有大量核心,可以更好地完成像解压缩这样的并行任务,因此这种方式可以节省大量时间。这就是RTX IO和Direct Storage 1.2设想的新系统,它提供更快的加载时间,并且在用于流式传输的游戏中,减少了CPU负荷,这可能会提高性能。

对于RTX IO来说,就像在《传送门:序曲RTX》中一样,磁盘上的数据使用GDeflate格式进行压缩,暂时转移到系统内存,然后再转移到VRAM并在那里由GPU进行解压缩。这个GDeflate格式是Nvidia提供的开放GPU压缩标准,已经被提供给了微软和Kronos Group,并且我希望在使用DirectX在PC上的Direct Storage 1.2游戏中看到它的应用 – 支持Nvidia、AMD和Intel的所有GPU。

这个解释在视频中会更好,但RTX IO的主要思想是通过在GPU上直接解压缩数据来减轻CPU负担,并通过从SSD并行读取数据来加快加载时间。

相比之下,《传送门:序曲RTX》使用了Vulkan图形API,该API没有为GPU解压缩定义的通用标准调用;据我所知,目前只有Nvidia提出了相关扩展。这些Nvidia提供的GPU解压缩扩展有可能成为Kronos Group为Vulkan的Direct Storage Equivalent所采用的扩展。与此同时,Portal Prelude: RTX中快速的GPU解压缩只能在支持这些特定扩展的驱动程序上工作,也就是Nvidia的RTX显卡上。

然而,《传送门:序曲RTX》仍然采用了更传统的加载模式,这意味着RTX IO并不会提升帧率。毕竟,RTX Remix并不是替换游戏引擎或改变关卡的划分和加载方式;RTX Remix只是改变了渲染方式和加载资源的方式来满足渲染需求。这与《拉奇特与克兰克:奇异裂缝》不同,后者也应该使用GPU解压缩来加速游戏玩法。因此,《传送门:序曲RTX》在专用加载时间和可见纹理加载时间方面获得了主要的好处。

为了测试技术在这里的效果有多大,我测试了一款在RTX IO关闭和运行在最高速度为500MB/s的SATA固态硬盘上的游戏版本。游戏加载得相当快,但是纹理需要一些时间才能达到最高质量——没有RTXIO的GDeflate压缩,游戏在磁盘上是完全未压缩的,体积大约增加了60%。因此,带宽被相应地占用来将纹理移动到VRAM中,最后一个纹理加载需要略多于一秒的时间。而开启RTX IO后,同样的纹理在SATA固态硬盘上的加载时间减少了一半。

配置 加载至游戏 纹理加载
12900K + 500MB/s SATA固态硬盘 + RTX IO关闭 1.13秒 2.36秒
12900K + 500MB/s SATA固态硬盘 + RTX IO开启 0.67秒 1.16秒
12900K + 3.5GB/s NVMe固态硬盘 + RTX IO关闭 0.57秒 1.45秒
12900K + 3.5GB/s NVMe固态硬盘 + RTX IO开启 0.53秒 1.07秒

这并不是最大的现实差异,因为半秒钟很快就过去了,但是时间减半仍然令人印象深刻。在进行了许多不同配置的测试后,我得出了两个有趣的结论。首先,启用RTX IO的500MB/s SATA固态硬盘胜过关闭RTX IO的3.5GB/s NVMe固态硬盘——相当惊人。其次,CPU和GPU硬件的差异并没有显著影响加载时间,RTX 2060 Super + Core i9 12900K系统与旗舰级RTX 4090使用相同的CPU表现差不多;一个RTX 4070和Ryzen 5 3600的系统在加载时间方面也非常接近。

因此,《辐射之门:前奏 RTX》是PC上这项技术的有希望的首次尝试,但同时它也是平凡的,因为首先它应用于一款使用旧的加载范式的游戏。对于那些使用主动流式传输并且没有任何加载界面的游戏,比如《瑞奇和克兰克:裂隙之间》和其他未来的游戏,这就是这项技术能够展现其最佳实力的地方。当然,我们期待很快就能报道这款游戏,因为它将于7月26日登陆PC平台,所以请关注。