Direct Storage

Direct Storage

DirectStorage 是由微软在 DirectX 中开发的一个系统,它改善了游戏与显卡之间的通信,从而指数级地提升了其性能。通过下面我留给你的这些官方文件,我们将要做的是

实用工具

正如许多人所知,对于那些还不了解的人来说,《生化危机:安魂曲》已经在其根文件夹中应用了 DirectStorage 技术,这些文件可以轻松替换,同时还支持 Nvidia、AMD 和 Intel 的超级分辨率技术。

接下来我们要做的是将《生化危机安魂曲》目前的 1.2.4 版本更新至当前稳定的最终版本 1.3.0,而对于那些想尝试预览版的朋友,我为大家准备了 1.4.0 版本。

说明: 解压 dstorage.dll 和 dstoragecore.dll 文件,将其替换到《生化危机:安魂曲》根文件夹中的对应文件,通常情况如此。 D:\Program Files (x86)\Steam\steamapps\common\RESIDENT EVIL requiem BIOHAZARD requiem

EnqueueRequests – 增强型 I/O 调度

DirectStorage 1.3 新增了一个名为 EnqueueRequests 的 API。该 API 为开发者提供了更大的灵活性和控制力,用于管理数据请求的发出方式以及与图形工作的同步。EnqueueRequests 允许开发者在单次调用中批量处理多个请求,并使用 D3D12 围栏进行同步,从而更好地协调 DirectStorage 与 D3D12 渲染管线。例如,您可以确保纹理加载请求和 UpdateTileMappings 按正确的顺序执行,避免 GPU 工作过早启动。

API 提供了新的标志来微调行为,使 DirectStorage 能够在执行任何 GPU 工作或访问源数据之前等待围栏。简而言之,EnqueueRequests 允许游戏安排 I/O,并确保关键加载路径在保持性能的同时可预测地运行。

新的 DSTORAGE_DESTINATION 类型

DirectStorage 1.3 引入了 DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE,这是一种新的目标类型,支持将一系列连续的子资源复制到 D3D12 资源中。这在写入纹理中的单个或一系列目标 MIP 时特别有用,允许开发者根据需要开始和结束写入子资源。这一变化,结合新的 EnqueueRequests API,最终降低了 CPU 开销并提升了资产加载性能。

错误修复与重大变更

DirectStorage 1.3 还包含了一些基于开发者报告的修复和变更。本次发布包含以下内容:

  • 修复内置 CPU 解压缩功能,使其在遇到无效或损坏的 GDeflate 压缩数据时使请求失败。GPU 解压缩不会以这种方式报告这些错误,因为驱动程序在遇到损坏的压缩数据时会触发 TDR(超时检测与恢复),导致 DirectStorage 请求失败。
  • 修复了不同宽度和高度的资源的 DSTORAGE_DESTINATION_TILES。
  • 将 MSBuild 属性 NativeBuildDirectory 重命名为 DirectStorageNativeBuildDirectory,以避免与其他 NuGet 包发生冲突。
  • 更新了 DirectStorageNativeBuildDirectory,使其包含尾部斜杠,以遵循 MSBuild 对路径属性的约定。

请记住,要使 DirectStorage 正常运行,您的系统上必须正确安装并运行 DirectX 12 Ultimate。

以上就是全部内容,尽情享受吧 :D

如果你愿意为此合作,如果你能支持它,我将非常感激。上帝保佑你。