微软于2021年3月正式发布DirectStorage API,该技术能让PC端的NVMe SSD跳过CPU与内存环节,直接向显存传输数据,从而显著缩短游戏加载时长。2022年10月,DirectStorage 1.1版本推出,新增“asset decompression”功能,支持利用GPU对资源进行解压处理。2023年4月,DirectStorage 1.2版本上线,不仅添加了可查询运行时所选路径的新API,还修复了部分bug并优化了性能表现。而在去年7月,微软通过DirectStorage 1.3版本引入了名为“EnqueueRequests”的全新API。
微软现已推出DirectStorage 1.4的公开预览版本,其中新增了一项名为“Zstandard(简称Zstd)”的功能。这一压缩算法作为Windows系统下游戏资产的可选方案,遵循开放标准,能够优化压缩比率、提升加载效率,让游戏资产的传输过程更加流畅。与此同时,微软还同步带来了游戏资产条件库(GACL)的初步预览版本。
微软正携手AMD、英特尔、英伟达、高通等主流GPU厂商,联合推进Zstandard功能的开发。在此版本中,微软为多层解压框架新增了Zstd支持,覆盖了CPU与GPU的解压功能。这让开发人员可依据当下的工作负载,挑选最优的执行方案,而微软的GPU合作伙伴则专注于针对Zstd的未来特定硬件优化工作。
DirectStorage 1.4延续了1.3版本在EnqueueRequests方面的工作,新增了全局D3D12 CreatorID支持。当通过DStorageSetConfiguration2指定CreatorID后,就能把D3D12 CreatorID和DirectStorage按每个设备管理的内部D3D12命令队列关联起来。这一机制使得D3D12命令队列分组可以精准处理DirectStorage工作负载,进而提高可预测性并优化GPU执行调度。
游戏资产条件库的设计初衷是与现有内容处理流程协同工作,可使游戏资产的Zstd压缩比率提升幅度最高达到50%。并且,在搭配DirectStorage使用时,还能维持较低的运行时解压成本。此次推出的初步预览版本中,涵盖了无损与有损两种条件处理技术。