Windows 游戏比主机占用更多内存的 4 个原因
你可能已经注意到,一些新游戏开始推荐,有时甚至要求32GB的内存,而该游戏的主机版本运行时总共只需要16GB内存包括显存。
即使游戏在 PC 和主机上以相似的设置运行,这也是事实,但为什么呢?事实证明,这是一个包含许多因素的问题,超出了我在这里能够涵盖的范围,但它确实是有道理的。
游戏主机是围绕固定的内存预算构建的
一台游戏主机自带固定数量的内存。你无法升级它,因此开发者只能在提供的内存预算内工作。你可能还记得,《博德之门3》的开发商Larian Studios曾因为无法让游戏的某些部分在Xbox Series S较低的内存下正常运行而不得不推迟游戏的发布。
然而,如果他们希望自己的游戏能在那个平台上销售,就必须让游戏能够运行,这对于任何主机游戏都是如此。当然,现代主机与电脑之间的内存并不完全可比。首先,因为 GPU 和 CPU 使用同一个统一的内存池,所以不需要像在电脑上那样复制数据,在电脑上,许多存在 RAM 中的内容也存在于 GPU 的独立 VRAM 中。
现代游戏主机也拥有保障的高速存储。考虑到硬件加速解压缩的情况,PlayStation 5 提供高达 8GB/s 的吞吐量。由于开发者确切知道将数据流式传输到内存的速度,因此无需使用大容量 RAM 缓冲区来预加载数据。而在 PC 上,尽管存在高速 SSD 和类似 GPU 数据解压技术,但不能保证电脑都具备这些配置。因此,内存建议必须考虑到这一点。
Windows 本身比控制台操作系统消耗更多内存
Windows 是一个完整的 PC 操作系统,在任何时刻都有成百上千个进程在运行。虽然我们现在在像 Windows 和 macOS 这样的操作系统上有专门的游戏模式,可以在游戏运行时关闭许多这些进程,但与游戏主机相比仍然不可同日而语。
即使是 Xbox Series 系列主机,它们运行的是经过高度修改的 Windows 版本,操作系统也只需要约 2-3 GB 的内存,其余全部可供游戏开发者使用。虽然现代主机确实会在后台运行一些进程(如下载),但固定资源严格保留给游戏本身。我之前提到的 Xbox Series S 内存问题,部分通过微软进一步减小操作系统占用得以解决,从而为游戏释放了额外的几百兆内存(来源:The Verge)。
Windows 11 的基础内存占用实际上并不算高,大约在 4-5 GB 左右,但由于缓存和操作系统必须执行的其他任务(这样它才能不仅仅是一台电子游戏机),如果你想获得良好的性能,这个数字就必须增加。
PC 图形管线更多依赖于系统内存
我在提到统一内存和快速 SSD 流式传输时已经暗示过这一点,但简单的事实是,PC 的内存架构与现代主机有很大不同。主机上从磁盘到 GPU 的管线更加简化和统一。在 PC 上,大部分最终进入 GPU 显存的内容首先会被复制到系统内存,虽然在 PC 上有各种现代的直接内存访问技巧,而且 GPU 本身现在也可以接手一些由 CPU 执行的任务,这也在某种程度上打破了这个管道。
在主机上,专门用于 CPU 执行游戏相关任务的内存部分相比 GPU 使用的部分要小得多,也没有重复使用的必要。另一方面,主机上的开发者必须小心,确保 CPU 和 GPU 在使用共享内存中的相同数据时不会互相干扰,但最终的结果是,你可以用更少的资源实现更多的功能。
开发者在PC上优先考虑可扩展性而非效率
这只是我的个人观点,但我认为游戏的 PC 版本在整体开发理念上与主机不同。也许在内存便宜的时候(还记得那个时候吗?)这种情况更为明显,但我认为开发者的假设是,玩家可以很容易地增加内存,而且通常拥有的内存会多于最低要求。因此,如果你有更多的可用内存,就可以利用这些空间来加快加载时间、提升资源质量,并作为性能低谷时的缓冲。
当你不必为了维持生计而事事反复考虑时,你的做法就会改变,而曾经在朋友之间多出的几GB?嗯,考虑到现在的内存价格,也许我们也会在PC版本上看到一些主机内存管理理念的体现。我们只能抱有希望!


