4 月 20 日消息,Windows 11 于 2021 年发布时,微软一同为游戏玩家带来了重磅技术 DirectStorage API。这个新的 API 改变了游戏从 NVMe SSD 驱动器读取数据的方式,从而实现更快的读取速度和更短的加载时间,后续下放到了 Windows 10 中。
根据微软官网 4 月 18 日消息,DirectStorage 1.2 API 正式发布,主要为机械硬盘 HDD 进行了优化,IT之家附更新内容如下:
强制缓冲 IO
DirectStorage 当前以非缓冲模式打开文件,这样能够避免不必要的副本,并尽快将数据传输到 GPU 上。但是,一些游戏开发者反馈,他们希望能够在高速 SSD 和传统 HDD 上使用相同的代码。
传统 HDD 机械硬盘驱动器需要缓冲 IO 以掩盖较长的寻道时间。为此,DirectStorage 1.2 添加了将 DirectStorage 配置为以缓冲模式打开文件的功能,以通过操作系统文件缓冲来优化 HDD 的使用体验。
新的 GetCompressionSupport API
DirectStorage 目前是根据 GPU 的支持能力来选择内置压缩格式的解压路径。在某些情况下,会选择基于 CPU 的回退路径。游戏开发者反馈称,他们需要了解正在使用哪个解压缩路径,以便可以基于此设置默认纹理分辨率设置。为了实现这一点,DirectStorage 1.2 添加了一个新的 API 来查询运行时选择的路径。
修复 Bug
- 通过向 DSTORAGE_REQUEST_OPTIONS 添加“Reserved1”字段解决了一项问题。这使得结构的内存布局更加明确,但实际上并没有改变以前版本的布局。
- 修复了 3D 纹理的 DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION。
- 修复了将未压缩数据从内存传输到缓冲区时出现的调度问题。
性能提升
- 将 GPU 解压缩后的副本移动到速度更快的 GPU 的计算队列中。
游戏方面,支持 DirectStorage 的作品还不是很多,数得上的只有 1 月推出的《Forspoken》,消息称《暗黑破坏神 4》也将支持 DirectStorage。
相关阅读:
《游戏加载速度更快,微软 DirectStorage API 性能实测》
《微软 Win11/10 DirectStorage 1.1 上线:支持 GPU 解压游戏资源,加载速度提升 2 倍》