PC 游戏的死亡。在过去的几周里,这一直是手头的话题,一个又一个端口以灾难性的状态到达 PC。 PC 游戏并没有消亡,但如果这种趋势继续下去,就很难推荐在 PC 上选择任何新版本,至少在它收到一系列不可避免的补丁之前是这样。
我希望我能为 PC 游戏面临的问题提供一个单一的解决方案,但我不能。这份名单是巨大的。但是有一个重点领域可以对这种情况有很大帮助,那就是游戏机仍然领先于 PC。
口吃的来源

归根结底,有一件事会导致您的游戏卡顿:渲染时间激增。有什么东西暂时堵塞了管道,虽然问题已经解决,但在屏幕上显示的一帧和下一帧之间存在时间间隔。那是口吃。
但是什么堵塞了管道?在 PC 上的许多情况下,我们会看到着色器编译卡顿。这是 CPU 需要向 GPU 发送指令(着色器)并将它们从软件代码转换为硬件代码的地方。这就是哥谭骑士等游戏中卡顿的根源 在许多情况下。
对于着色器编译卡顿,我们有一个很好的解决方案。第一个是像Uncharted: Legacy of Thieves在 PC 上那样预编译着色器。提前获取存储在内存中的指令,这样您就不必在游戏运行时大惊小怪地进行编译。另一种是异步编译。像Core i5-13600K这样的现代 CPU 可以访问大量线程,因此不做太多事情的线程可以在您玩游戏时为即将到来的部分进行编译。

它们不是简单的解决方案,但它们有效。我们看到的另一个主要卡顿来源是遍历或加载卡顿。 Star Wars Jedi: Survivor 就是这种情况,这款游戏在发布时出现了一些性能问题。在这里,渲染时间的峰值来自游戏在您穿越世界时加载新数据。
区分两者很重要,因为它们有截然不同的解决方案。当在屏幕上引入新的着色器效果时,会发生着色器编译卡顿。对单个像素进行着色可以产生多层效果,因此爆炸或捡起物品产生的效果是您通常会看到着色器编译停顿的区域。
当您的角色通过某种类型的加载区时,会发生遍历卡顿。如果屏幕上没有发生特别值得注意的事情,那么您很可能会看到遍历卡顿而不是着色器编译卡顿。

星球大战绝地武士:幸存者就是这种动态的一个很好的例子。在 Coruscant 上的游戏开场,一艘大船撞上了一个平台,并且有一个短暂的、轻微的着色器编译停顿。稍后,在 Koboh 上,当您进入或离开 Pyloon 的沙龙时,会有大约 10 秒的强烈口吃。那是遍历口吃。
开发人员有针对着色器编译卡顿的解决方案,即使是在像虚幻引擎 4 这样的引擎上,在该部门特别难以解决。我们已经在Hogwarts Legacy等游戏和Atomic Heart等游戏中看到许多与着色器相关的卡顿问题 由于密集的预编译过程,已经发布了免费的口吃。遍历卡顿的情况更为复杂。
下一代的海妖

PS5 和 Xbox Series X 都有专用的硬件解压处理器。据索尼的 Mark Cerny 介绍,PS5 上使用 Oodle Kraken 解压库的专用处理器可以处理九个 AMD Zen 2核心的压缩工作。 Xbox 拥有微软的 DirectStorage系统,其中还包括一个专用处理器,用于解压缩以加快加载时间,以及至关重要的资产流。
从 SSD 流式传输数据是遍历卡顿发生的地方,在 PC 上解决这个问题更具挑战性。 PC 不仅没有专用的解压缩硬件,而且 SSD 的规格范围也使得跨多个系统可靠地扩展流媒体性能变得困难。
在PC上,解压是CPU的任务。数据从 SSD 流出,但在传输过程中需要解压缩,通常会导致遍历卡顿。 PS5 和 Xbox Series X 上的专用解压硬件导致遍历卡顿现象少得多,尽管它们的 CPU 不如现代高端 PC 中的 CPU 强大。
在 PC 上有针对此问题的解决方案,但它们还行不通。 DirectStorage 可供 PC 用户使用,它有助于通过 GPU 解压缩改善加载时间和流式传输。问题是我们现在只有一款游戏使用 DirectStorage, Forspoken,它没有利用 GPU 解压缩。它只是缩短了加载时间,略微超过了 PS5。

在所有其他游戏中,过程都是相同的。资产从存储设备进入系统内存,CPU 解压缩它们,然后将它们复制到 GPU 内存。这种劳动密集型过程可能是我们看到VRAM 使用率在最近发布的版本中上升如此之高的原因,因为游戏是为没有内存瓶颈的游戏机开发的,而内存瓶颈目前在 PC 上存在。
DirectStorage 是一种解决方案,但它并不是改善 PC 上主要遍历卡顿问题的唯一方法。适当的 CPU 缩放是一种未被充分利用的解决方案,尤其是对于 Unreal Engine 4 版本。这个引擎主要是为了在 CPU 的两个线程上运行而构建的,正如您在星球大战绝地:幸存者这样的游戏中看到的那样,其余线程没有做太多工作,如果有的话。
尽管控制台的计算能力不如现代 PC,但开发人员正在为没有主要资产流瓶颈的平台设计游戏。您仍然可以
在高端 PC 上实现更高的性能和视觉质量,这是肯定的,但这是以卡顿、降低纹理分辨率和 VRAM 限制为代价的,这些限制在控制台上不存在,或者至少是远没有那么严重。
英伟达的答案

5 月初,Nvidia 向 Siggraph 2023(以计算机图形学进步为中心的年度会议) 提交了一份研究论文,题为“材料纹理的随机访问神经压缩”。该论文提出了一个系统,其中神经网络处理纹理的压缩和解压缩,据此,该系统可以在与传统的基于块的压缩相同的空间量中存储 16 倍的数据。
它称为神经纹理压缩 (NTC)。相同存储空间的更多纹理细节绝对是一个有吸引力的选择——正如我们在Forspoken和Resident Evil 4 Remake 中看到的那样,在 VRAM 受限的场景中,PC 上的纹理质量实际上可能比控制台低得多——但真正的好处是NTC 旨在在运行时解压缩数据。
据 Nvidia 称,与专用解压缩处理器相比,开销略有增加,但研究人员表示,他们预计一旦应用于实时渲染,这种开销会更小。更重要的是,解压缩可以直接在 GPU 上进行,绕过 CPU 并且完全不需要专用硬件。
这会解决困扰 PC 游戏玩家的卡顿问题和 VRAM 增加问题吗?我不知道。目前,这只是一篇研究论文,如果我们真的看到 NTC 被引入显卡,那可能还需要几代人的时间。它可能也不会像Nvidia 的深度学习超级采样 (DLSS)那样成为可销售的功能。
但它有很多希望。 DirectStorage 听起来像是一个答案,但并没有像我希望的那样在 PC 游戏中实现。硬件支持它,软件就在那里,但我们只是没有游戏利用硬件 GPU 解压缩来接近控制台当前提供的功能。此解决方案对于开发人员而言可能更易于管理,并且对硬件的要求较低。
我们暂时不知道。与此同时,我希望 2023 年剩余时间里的 PC 版本能够真正发挥作用,至少在我们看到开发人员和供应商想要解决 PC 游戏的一个明显问题的更多聪明方法之前是这样。