感谢it之家网友 oc_formula 的线索投递!
,windows 11 于 2021 年发布时,微软一同为游戏玩家带来了重磅技术directstorage api。这个新的 api 改变了游戏从 nvme ssd 驱动器读取数据的方式,从而实现更快的读取速度和更短的加载时间,后续下放到了 windows 10 中。
强制缓冲 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 倍》
热门文章