《战争机器:E日》虽说一开始就是奔着同时在Xbox Series X和Series S上运行去做的,但The Coalition还是得想办法绕过微软这台小主机的技术限制。具体来说,开发者把Xbox Series S的SSD当成了某种额外的内存,好让游戏在这台机器上跑得像样一点。这个思路,别的开发团队说不定也会感兴趣。毕竟得提一句,Xbox Series S只有10 GB内存,而Xbox Series X和PS5都是16 GB。一旦游戏变得特别吃资源,这个差距很快就会成为麻烦,何况微软至今仍要求开发者必须让游戏同时跑在Xbox Series X和Xbox Series S上。更麻烦的是,和别的机器不一样,Series S也没法靠英伟达的DLSS、PS5的PSSR和QSSR这类超分技术来弥补硬件上的短板。

把SSD当成备用内存
在接受Digital Foundry采访时,The Coalition的技术总监Kate Rayner讲了工作室是怎么在《战争机器:E日》上绕过这个限制的。开发者其实是拿Xbox Series S的内置SSD来存放那些没法一直待在内存里的游戏数据。想弄明白这招的妙处,得先知道游戏里的数据是分几个层级存放的:处理器缓存极快,但容量非常有限;内存能装的信息多一些,速度也还够快;SSD空间大得多,可访问时间就长了。
于是The Coalition把一部分数据挪到了SSD上,尤其是《战争机器:E日》里那些细节拉满的城市场景相关数据。游戏需要用到这些信息时,再从SSD传到内存里去用。这招要是不加小心地乱用,很可能会带来明显的卡顿,毕竟SSD比内存慢太多了。所以开发者仔细挑选了哪些数据适合这样存放,确保游戏临时去取的时候不会拖累性能。按Kate Rayner的说法,在SSD上花几个GB的空间,换回来大约1 GB可用的系统内存。富余不算多,但足够让The Coalition在Xbox Series S上守住较高的画面水准,只在画质上做了一处大的让步:砍掉了基于Lumen的反射,以保证60帧的帧率。
这招说不定别的工作室也能用上
对工作室来说,这套做法最大的意义在于,不用为了让游戏在本世代最弱的主机上跑顺就把画质砍到见骨。而且这个思路未必只停留在《战争机器:E日》身上——Kate Rayner说,已经有其他开发团队对这个方法表现出了兴趣。如果未来的Xbox Series S游戏也照着做,SSD就能继续充当备用内存,在不牺牲太多画面细节的前提下,把这台机器的上限再往前推一推。
这也算是给一套如今已显出瓶颈的架构续了命——它手里其实还藏着一些没人想到的余地。至少看起来,《战争机器:E日》成了The Coalition的一间实验室,让他们摸索出了压榨Xbox Series S的更好办法。
