[笔记] illusion 游戏使用 DXVK 修复卡顿 / 如何使用 DXVK

Author Avatar
空気浮遊 4月28日
  • 在其它设备中阅读本文章

我其实对 i 社游戏没有兴趣,我只是突然想起来然后想要折腾一下而已(确信)

117082695_p0_XilmO@夕末_オリジナル, 女の子, ソファー, オリジナル 1000users 入り, セーラー服, 原创, 女孩子, 沙发, 原创 1000users 加入书籤, 水手服.webp

PID - 117082695 - XilmO@夕末

问题原因

此处

在“Windows 10 Anniversary Update”之后,DirectX 9.0c 的规格进行了变更。由于这次的规格变更,导致了“ジンコウガクエン2”(人工学园 2)等之前的产品在运行时可能会表现出运作缓慢的症状,使得产品运作变得非常沉重。

DXVK

一种性能较好 / 现代化的修复办法是用 DXVK 转译层将 DirectX 9 的 API 转译到 Vulkan 上运行。这种修复方式比较适合现代系统与配置,如 Windows 11 + RTX 显卡的配置等。

DXVK 是一个久经考验的方案,并且在一部分(优化垃圾的)日厂游戏上(如 FF7RE 等)也会被一部分 mod 作为 Windows 上游戏优化方式的选择之一。

DXVK 恰好十分适合这样的老游戏场景。

https://github.com/doitsujin/dxvk/releases 中下载最新的 dxvk-x.x.x.tar.gz 压缩文件,然后打开。

由于 I 社游戏是 32 位,所以在 x32 文件夹下找到 d3d9.dlldxgi.dll,拖到游戏 exe 所在的目录下。同时,将原本存在的 d3dx9 前缀的 dll 文件备份后删除。

之后运行游戏即可修复问题。第一次进入游戏可能会有明显卡顿(2~3FPS),再一次重启游戏看是否恢复正常即可。如果你感觉帧率较低,这可能不是 dxvk 的问题,而是 illusion 本身的优化问题。

除此以外你也可以尝试使用 DXVK 的异步着色器编译版本来优化你可能会遇见的可能的卡顿问题:dxvk-gplasync

如果你打算将 DXVK 用于较新的 Unity 游戏,下面是你需要注意的地方:

  • 较新的游戏可能会更优先使用 x64 版本的 dxvk。
  • 由于各种游戏使用的 API 不一,一个方便的做法是直接将 4 个 dll 全部拖到游戏目录下即可。理论上你所需要的 dll 有两个,其中一个必须是dxgi.dll,其次是游戏使用的图形 API 对应的 dll 文件。
  • 判断 dll 是否被加载的方法可以看 dll 在游戏启动后是否被占用(无法删除)或者用 MSI Afterburner 查看你的图形 API 是否变为了 Vulkan。

DXVK 一般来说不适合在 Windows 上日常使用,除非游戏实在太老或者优化实在太差(这两种情况一般是同时出现的)。

其它修复方案

你也可以在 这里 找到 d3d9.dll 的其它替换方案。只不过出于安全性 / 兼容性与解决方案可能过时的原因,我们建议优先尝试 DXVK 方法。

这里提供了一个来自 Pooo - 知乎 的替换范例文件(illusion 修复对策.7z)。有两个替换版本,你可能需要自己尝试哪个能够生效。

引用 / 扩展阅读

https://www.bilibili.com/read/cv21364599/

https://web.archive.org/web/20190216230054/http://www.illusion.jp/support/windows10.html

https://www.zhihu.com/question/338045403

https://steamcommunity.com/sharedfiles/filedetails/?id=2675744511