DirectX DirectStorage API将支持GPU解压缩技术

微软预计在DirectX I/O API DirectStorage 1.1版开始支持GPU解压缩,该技术采用由Nvidia贡献的压缩格式GDeflate,目标是要大幅缩短PC计算机上的游戏加载时间。

DirectStorage是原为在微软Xbox Series X上,所采用的Xbox Velocity架构,能够大幅缩减玩家等待游戏加载的时间,微软在2020年的时候,决定将DirectStorage移植到个人计算机平台上,以提供Windows游戏更好的I/O技术。

因为游戏需要大量资料用于构建更加逼真的世界,每个角色、物体和颜色,都需要专门的资料文件来描述其形状、光照和颜色,因此现在不少游戏容量都达数百GB,而为了要减少这些资料的大小,这些资料便会被压缩,在游戏运行的时候才会被解压缩。

这些游戏资料会被加载到内存中,并在CPU中解压缩,最后将其复制到GPU的内存,供需要的时候使用,资料可以在设备上传输和解压缩的大小,也就决定了开放游戏世界场景可以包含多少细节。

DirectStorage 1.0改进了资料传输的问题,而DirectStorage 1.1则进一步解决解压缩的问题。过去因为压缩格式都仅针对CPU进行优化,因此解压缩通常都在CPU上完成,DirectStorage 1.1希望把资料的解压缩,转移到GPU上。

微软解释,GPU在平行且重复的任务处理上非常高效,因此通过结合NVMe硬盘的带宽,就可以进一步减少加载资料的时间,并改善游戏的表现。微软构建了经高度优化的范例,在DirectStorage运行GPU解压缩的速度,约是CPU解压缩的3倍,5.65 GB的资料在GPU上解压缩,加载时间只要0.8秒,CPU还可以被完全释放用于处理其他游戏程序。

DirectStorage 1.1使用新的无损资料压缩标准GDeflate,该格式针对GPU高吞吐量解压缩优化,具有类似deflate的压缩率,GDeflate可以将解压缩工作卸载到GPU上,来节省CPU周期,并且节省系统互联带宽和磁盘空间。GDeflate能善用GPU架构,以实现更大的可扩展性,同时也支持批次加载和精细度流媒体场景。

所有硬件厂商都可以支持GDeflate压缩格式,微软现在正与AMD、英特尔和Nvidia等厂商合作,提供支持该格式的驱动程序。