
艾尔登法环稳定器
配合Mod Engine 3使用的DLL(或许也能兼容ME2,但未经测试),用于提升游戏稳定性,减少随机的3秒卡顿。尚未进行全面测试(如连续数天的游玩),但已运行约一两个小时,确实有所改善。
查看大图前提
我最近一直在玩随机化模组,并注意到我的电脑在运行随机化模组时会出现不少稳定性问题。这并非硬件问题,我的配置足以流畅运行游戏,原版游戏运行良好,问题出在随机化模组本身。经过一番搜索,我发现禁用核心 0 并停止某个特定服务可以极大地帮助提升稳定性。在手动设置并进行了一些测试后,我制作了这个 DLL 模组来自动完成这些操作。
描述
这是一个 DLL 模组,旨在帮助提升游戏的整体稳定性,尤其是在运行随机化器等模组时。当你通过 Mod Engine 3 加载游戏时,它会自动应用相关更改。源代码托管在 GitHub 上,因为这更利于版本管理,并且可以在需要时轻松回退到之前的更改。
注意: 如有任何问题,请直接反馈到实际的 GitHub 仓库这里,那里有更好的问题管理工具。
从源码构建(高级用户)
注意:自行从源码构建需要下载并设置几个开发工具,这将花费几分钟时间。如果你不想处理这些,直接下载预构建版本即可。我们将使用 Winget(Windows 包管理器)来安装这些工具。
我们将安装的工具:我们需要安装 3 样东西来从源码构建:一个 C++ 编译器(GCC)、CMake 和 Git。
安装 CMake 和 Git
- 打开命令提示符
- 输入(不带引号)"winget install Git.Git"
- 接着输入 "winget install Kitware.CMake"
安装 GCC
- 遵循此指南
构建项目
- 关闭命令提示符窗口
- 在资源管理器中,选择一个位置来克隆我的仓库,例如你的下载文件夹
- 在该目录的空白处,按住 Shift + 右键点击 > 选择“在终端中打开”
- 输入 git clone https://github.com/AbyssDragonModding/Elden-Ring-Stabalizer.git "EldenRingStabalizer"
- 上述命令将使用 git 将仓库克隆到一个名为 EldenRingStabalizer 的文件夹中
- 打开克隆的仓库并运行 "Build_Project.bat"
这将会创建一个 build 目录,并指示 cmake 将项目文件和 DLL 构建到该文件夹中。DLL 位于以下目录:"./build/Release",按照安装说明将该 DLL 复制到 mod 文件夹中。
安装
- 安装 Mod Engine 3 Manager(ME3 的图形界面):Mod Engine 3 Manager
- 运行时按照步骤安装 ME3
- 下载预构建的二进制文件(或者你自己从源码构建的文件,你将需要 "EldenRingStabalizer.dll" 和 "restore_ssdp_service.bat"(如果你之后需要恢复该服务))
- 将这个 dll 和 bat 文件(以备将来需要恢复服务时使用)解压到你的游戏文件夹中
- 在 ME3 界面中,添加一个新的 "外部 DLL 模组"(在“启动 Elden Ring”按钮旁边的第四个图标,上面有一个小齿轮)
- 导航到你的游戏文件夹并点击 EldenRingStabalizer.dll
- 确保该模组已启用
- 关闭 ME3 Manager,并以管理员权限重新启动它(Windows API 中的函数需要管理员权限才能禁用服务,如果不用管理员权限运行,则只会设置 CPU 亲和性)
- 启动游戏,所有更改将自动应用。
问答
问: 这段代码在底层实际上做了什么? 答: 用非程序员的话来说。当你附加了该 DLL 运行游戏时,它会启动一个新的 CPU 线程进程,并等待 2.5 秒后再进行处理更改(否则会立即导致游戏崩溃)。然后,它会设置 CPU 亲和性设置(为 ER 禁用核心 0)并禁用 SSDPSRV 服务。随后,它会每 2 分钟检查一次该服务是否因某种原因被意外重新启动(我注意到这种情况偶尔会发生,因为如果 Windows 请求该服务,它会重新启动它),如果它再次运行,则会将其再次禁用。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。