全球游戏仓库 7 月 3 日消息,微软公司于 7 月 1 日发布博文,宣布推出 DirectStorage 1.3 更新,在修复 BUG 之外,还引入 EnqueueRequests 新 API,并通过新的目标类型提高资源加载性能。
全球游戏仓库注:DirectStorage 是微软开发的一种新型 API 类型软件,其设计目的是让游戏能够充分利用高速存储设备(如 NVMe SSDs),实现大幅缩短游戏加载时间,减少 CPU 的负担并提高整体性能。
DirectStorage 1.3 引入了一个名为 EnqueueRequests 的新 API,在数据请求发放和与图形工作同步方面,向开发者提供更大灵活性和控制权。
EnqueueRequests 支持开发者在单个调用中批量处理多个请求,并使用 D3D12 围栏来同步 DirectStorage 与 D3D12 渲染管道,确保纹理加载请求和 UpdateTileMappings 按正确顺序执行,避免 GPU 工作过早启动。
DirectStorage 1.3 引入了 DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE 目标类型,支持开发者将连续子资源范围复制到 D3D12 资源中。这在写入纹理中的单个或多个 MIP 级别时尤其有用,开发者可以按需开始和结束子资源写入。
DirectStorage 1.3 还包括了一些基于开发者报告的修复和变更,包括修复内置 CPU 解压缩错误、修复 DSTORAGE_DESTINATION_TILES 的资源宽高不一致问题,以及更新 MSBuild 属性名等。
微软还添加了新的实例,并更新了指导手册,在 DirectStorage GitHub 上添加了一个新示例,展示了如何结合使用 EnqueueRequests 和 DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE 来填充纹理 MIPS。
DirectStorage 1.3 现已通过 NuGet 提供下载,感兴趣的用户可以下载体验。