微软详细介绍Xbox Series X将如何从内存加载4.8 Gb/s

2020-07-15 05:59:14

正如微软之前所说,速度提升的主要原因是系统使用了NVMe固态硬盘内存,而不是过去游戏机转速低得多的硬盘驱动器。微软表示,这为系统提供了2.4 GB/s的原始I/O吞吐量,尽管我们之前已经注意到,这也可能会使将内存扩展到超过内置的1TB默认值的成本更高。

为了进一步提高速度,微软表示,它正在行业标准LZ解压缩器的基础上进行扩展,增加了一种全新的、专为纹理数据设计的专有算法,名为BCPack。微软表示,这种硬件加速的纹理解压算法可以与标准LZ解压缩器并行运行,在不占用宝贵的CPU内核周期的情况下增加I/O总线的功能吞吐量。事实上,微软表示,如果没有硬件加速,类似的软件独占的解压缩方法将需要四个以上的Zen2CPU核心才能达到同样的结果。

微软还详细介绍了之前发布的DirectStorage API。微软表示,DirectX流水线的新扩展为开发人员提供了对他们在X系列上的I/O操作的精细控制,使他们能够建立多个I/O队列,确定优先顺序,并将I/O延迟降至最低。对于开发人员需要特定数据在他们需要的时候从内存中显示的情况,这应该会有所帮助,而不是在过去通常同时加载的其他数据之前。

不过,X系列I/O设计中最有趣的一点可能是微软称之为采样器反馈流的一种新的纹理优先排序方法。微软表示,这一新方法源于微软对GPU实际如何使用其从内存加载的高分辨率纹理的每一个mipmap(或细节级别)的分析。该公司表示,这种新方法源于微软对GPU实际如何使用其从内存加载的高分辨率纹理的每个mipmap(或细节级别)的分析。

";我们发现GPU访问的纹理数据通常不到需要加载到内存中的1/3,";微软写道。凭借这种洞察力,我们能够为Xbox Series X GPU创建并添加新功能,使其能够按需仅将[特定纹理细节级别]的子部分加载到内存中,以备GPU需要数据时及时使用。";

与一次只能加载完整纹理mipmap的旧系统相比,微软表示,这种部分加载的结果平均是原始硬件能力之上和之外的有效I/O吞吐量和内存使用量的2.5倍。这意味着游戏中的纹理可以提供更多细节,而不会迫使系统等待额外的数据加载到GPU(或者一旦加载到GPU,就会弹出)。

随着Xbox系列X计划在假日季发布的临近,现在的问题变成了开发者将如何很好地利用系统发布阵容中的这一新速度。当这些游戏中的大多数还在设计时考虑到Xbox One游戏机的I/O系统要慢得多(更不用说配备标准硬盘的PC了),这个问题就变得更加紧迫。

当我们看到微软为7月23日的游戏展示会准备的一些第一方游戏时,我们可能会得到更多关于这个分数的信息。