微软在 2021 年 3 月正式推出了 DirectStorage API,让 PC 的 NVMe SSD 绕过 CPU 和内存,直接向显存传输数据,可大幅降低游戏加载的时间,理论上采用了该技术的游戏可以做到场景的无缝接合。2022 年 10 月微软推出了 DirectStorage 1.1,引入 "asset decompression" 功能,支持 GPU 解压资源。到来 2023 年 4 月,微软带来了 DirectStorage 1.2,添加了一个新的 API 查询运行时选择的路径,并修复了一些 bug 及优化了性能表现。
现在微软已正式发布了 DirectStorage 1.3,加入了名为 "EnqueueRequests" 的新 API,同时继续修复了部分 bug。
EnqueueRequests 为开发人员提供了更大的灵活性,可以控制数据请求的发出方式以及与图形工作同步的方式。其允许开发人员在单个调用中批处理多个请求,并使用 D3D12 围栏同步,以更好地协调 DirectStorage 与 D3D12 渲染管道。比如可以确保纹理加载请求和 UpdateTileMappings 按照正确的顺序发生,从而避免 GPU 过早开始启动。
DirectStorage 1.3 还引入了 DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE,这是一种新的目标类型,允许将一系列连续的子资源复制到 D3D12 资源中。这在写入纹理中的单个或目标 MIPS 范围时特别有用,允许开发人员编写根据需要开始和结束的子资源。这一变化与新的 EnqueueRequests API 相结合,最终降低了 CPU 开销并提高了资产加载性能。
登录后才可以发布评论哦
打开小程序可以发布评论哦