7月3日,IT之家报道,微软于7月1日发布了一篇博文,宣布对DirectStorage 1.3进行了更新。此次更新不仅解决了BUG问题,还新增了EnqueueRequests这一新API,同时通过引入新的目标类型,显著提升了资源加载的效率。
IT之家指出,DirectStorage 是微软研发的一种新型应用程序接口,旨在使游戏能够最大化地利用高速存储设备(例如NVMe SSDs),显著减少游戏加载所需时间,减轻CPU的工作负担,并全面提升游戏性能。
DirectStorage 1.3版本中新增了EnqueueRequests这一API,该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渠道可供下载,对此感兴趣的各位用户不妨下载试玩一番。