微软在 2020 年底宣布 DirectStorage 作为 DirectX 系列中的一个新 API,专注于为游戏提供更快的 I/O 性能,以产生更快的游戏加载时间和更广阔的虚拟世界。自去年以来,在有限的开发人员预览版中,今天微软正在广泛使用 DirectStorage API。
此消息与 Linux 游戏玩家没有直接关系,但它是一项有趣的技术,看看是否/何时有工作围绕 Linux 接口模拟/包装此 API 以供 Steam Play 使用将会很有趣。DirectStorage API 为 DX12 风格的批处理 I/O、GPU 加速解压缩和各种存储堆栈优化引入了一种新的编程模型,旨在提高 NVMe 磁盘性能。
游戏必须明确使用 DirectStorage API,但这样做应该会显着加快游戏加载时间,并允许更重的 I/O 使用,例如更大的地图和纹理,而不会损害系统性能。看看 Steam Play 和/或 Wine 是否旨在提供 DirectStorage 的兼容实现将会很有趣。将新的存储 API 映射到 IO_uring 可能会更有效地处理 I/O,而且 GPU 解压缩似乎应该可以在 Vulkan 上实现。Linux 的存储堆栈本身在不断改进,因为我们经常报告新的每核 IOPS 记录经常被设置。至少目前还值得注意的是 DirectStorage 仅支持读取而不支持磁盘写入。
那些希望了解有关现在公开可用的 DirectStorage API 的更多信息的人可以通过Microsoft 开发人员博客进行。可以通过GitHub 上的 Microsoft DirectStorage 找到有关DirectStorage 和其他资源的 Windows 代码示例。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun139344.html