关于PS5和XSX I / O 架构的差异

JASON-avatar

JASON

2020-06-17T18:03:39+00:00

来源于:[url]https://forum.beyond3d.com/threads/xbox-series-x-xbsx-release-holiday-2020.61502/page-34#post-2126890[/url]
机翻

对于Xbox速度架构,这似乎有很多误解。PS5和Xbox Series X的 I / O 实现的目标是增加屏幕上所显示的内容的复杂性,而不会相应地增加加载时间/内存占用量,但是采用完全不同的方式进行处理。自卡带时代结束以来,几何形状/纹理复杂性的增加通常伴随着加载时间的增加。这是因为虽然RAM带宽可能足够,但是从HDD馈送RAM的吞吐量却不够。因此,HDD和相关的 I / O 架构成为瓶颈。

解决此问题的一种方法是在RAM中尽可能多地“缓存”以解决上述瓶颈。但是,此解决方案有其自身的问题,就是内存占用量一直在增加。马克·塞尼(Mark Cerny)在他的GDC演示文稿中以30年代的游戏范例进行了精彩的解释。PS5 解决此问题的方法是以前所未有的方式增加RAM的吞吐量。因此,您可能只需要为游戏的下一个1秒缓存,而不是为接下来的30秒进行缓存,这会大大减少内存打印。确实,这一切的关键在于对于具有旧HDD架构的系统,其纹理和几何复杂度具有相同的提升,要么要么缓存所需的RAM数量过多,要么必须增加帧时间以使纹理有足够的时间流式传输(低帧率),或者必须更改游戏设计以允许纹理加载(长时间加载)。PS5 可以缓解SSD和RAM之间的瓶颈,因此可以实现所有这些优点,而不存在缺点。(这个瓶颈仍然存在,因为RAM仍然比SSD快,但是对于PS5的渲染能力来说它已经足够好了,因此无所谓了。)

现在我们可以看到为什么从SSD到RAM的吞吐量现在已成为判断游戏玩家心目中下一代系统的 I / O 能力的唯一指标。毕竟,这确实是很合理的。但是...有另一种做事方式吗?微软的发展方向完全不同。SSD到RAM吞吐量是否仍然是瓶颈?是! 为什么需要更多的吞吐量?显然为了传输更多的纹理。那么,最关键的问题是到底需要多少呢?通过评估游戏在每个帧上实际利用纹理的方式进行了仔细研究之后,MS似乎得出了一个令人惊讶的答案:实际上并不需要那么多。

实际上,通过加载比必要的更高的详细MIP并保持主内存-RAM吞吐量恒定,可以增加加载时间/内存占用量。让我们在《Eurogamer》深入探讨中引用安德鲁·古森(Andrew Goosen)作为参考:

“我们观察到,通常游戏中只有很少一部分所加载的内存被访问过,”古森透露。“这种浪费主要来自纹理。纹理通常是游戏中内存的最大消耗者。但是场景中GPU通常访问每个纹理的内存只有一小部分。例如,4K的最大mip纹理是8兆字节或更多,但通常在场景中看不到该mip的一小部分,因此GPU真正只需要读取一小部分。”

通过了解每帧实际需要的MIP级别并仅加载该MIP级别,可以大大减少需要流式传输的数量,从而也减少了SSD-RAM链路对吞吐量的要求以及RAM占用空间。可以通过软件实现这种即时流式传输解决方案吗?MS确实承认这样做是可行的,但他承认这样做非常不准确,因此需要更改 shader/application 代码。确定与部分驻留的纹理关联的驻留贴图的硬件实现是采样器反馈(sampler feedback)。

尽管采样器反馈很棒,但它不是采样器反馈流(Sampler Feedback Streaming)。现在,您需要以下硬件实现:

(1)从较低的MIP级别无缝过渡到较高的MIP级别
(2)如果请求的MIP级别尚未驻留在内存中,则回退到较低的MIP级别,并在几帧后可用时,回退到较高的MIP级别。

Microsoft声称为此设计了一种硬件实现。这就是詹姆斯·斯坦纳德(James Stanard)描述的所谓的“纹理过滤器(Texture Filters)”。我们是否更多有关 Microsoft 实施这个的信息?当然可以, SFS是获得专利的硬件技术,在名称为“图形处理器的纹理驻留硬件增强(Texture residency hardware enhancements for graphics processors)”的专利 US10388058B2 中有描述,其共同发明者是 Mark S Grossman 和 Andrew Goosen 。

结合Directstorage(可能是一个新的API,可以对文件系统进行改进,但是有关它的信息很少)和SSD的持续高吞吐量,这就是Microsoft声称实现2到3倍效率提高的方式。因此,关于XSX只是“蛮力”堆硬件的梗是大为偏离基准的。

至于哪种PS5或XSX的 I / O 系统更好?让我们从 DF 的对比开始吧。