炉石传说卡顿慢的完整优化方案:HsMod 把 30 帧锁和慢速结算一起干掉
炉石传说卡顿慢的完整优化方案:HsMod 把 30 帧锁和慢速结算一起干掉
【免费下载链接】HsModHearthstone Modification Based on BepInEx项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod
炉石传说打满 30 分钟,菜单还是 30 帧、结算还要干等半分钟,你是否也受够了这种"操作已发出、画面还在路上"的等待?HsMod 是一个基于 BepInEx 的炉石传说修改插件,靠帧率接管、时间齿轮加速、启动缓存清理三套核心机制,把默认30 帧上限提到 60 帧以上、对手回合时间压缩到 1/8、每次启动自动清掉堆积的游戏缓存,从启动到对战全程提速。
先看你的炉石卡在哪:四组基准数据
装插件之前,先建立几个可量化的对比锚点:
- 帧率锁死 30:炉石默认帧率上限就是 30fps(
HsMod.cfg里targetFrameRate=-1的含义是"恢复游戏默认值,默认可能为 30"),复杂特效多的对局,菜单和卡牌展开阶段会进一步跌破 30。 - 结算等待:对手回合动画、酒馆战棋的死亡结算、升级动画全按 1 倍速播放,一场战棋的纯等待时间能占对局总时长的两到三成。
- 缓存堆积:反复重登、断线重连后,
ExternalDataPath/Cache和PersistentDataPath/Cache下的缓存目录只增不清,加载变慢是典型表现。 - 挂机检测:客户端内置5 分钟无动作掉线判定,长时间挂机必被踢,需要额外手段维持会话。
HsMod 自带诊断手段:默认按Ctrl+P(keyShowFPS,可改键)实时显示当前帧率,开打前扫一眼就知道实际帧数离 30 帧上限还有多少余量;每场对局还会写入战绩日志,方便对比优化前后的对局节奏。
核心能力拆解:三个提速点各解决什么问题
帧率接管:把 30 帧锁直接改成 60 帧以上
HsMod 通过修改帧率读取逻辑(HsMod/Patches/PatchMisc.cs中对Option.GFX_TARGET_FRAME_RATE的 Harmony 补丁),让你的设置值覆盖游戏内部帧率,实现方式是调用graphicsManager.UpdateTargetFramerate()。配置参数targetFrameRate=60,取值范围-1 到 2333(-1 为不修改)。改完之后配合isShowFPSEnable=true的实时帧率显示,可以直观确认从 30 帧拉到 60 帧的效果,而不是凭手感猜。
时间齿轮:8 倍速跳过结算和动画等待
这是 Patches/PatchMisc.cs 里对TimeStampMgr.Update的补丁:开启后插件直接覆写Time.timeScale,按公式平滑过渡到目标倍率。timeGear参数取值-32 到 32,正值为加速(最高 8 倍,负值最慢到 1/8 倍速),默认方向键上下调节、左方向键恢复 1 倍速。另外isQuickModeEnable=true开启快速对战模式,仅对酒馆战棋和佣兵 PvE生效,自动跳过部分动画——结算等待从十几秒压到1~2 秒。
启动缓存清理 + 战绩落盘:慢启动与数据留存
Main.cs 在Awake阶段会自动删除ExternalDataPath/Cache和PersistentDataPath/Cache两个缓存目录,从源头解决"重登越多、加载越慢"的问题,无需任何手动操作。数据留存侧,BgSessionStats.cs 把每场战棋的名次、MMR 增减、英雄写入BepInEx/HsMod/bg_session.csv,并在配置菜单的战绩页按今天/7 天/本月/全部、单人/双人过滤展示,优化效果有据可查。
分场景配置:挂机、战棋、多账号各一套
挂机用户:AFK 模板一次配好 15 项参数
configTemplate=AwayFromKeyboard是插件内置的"远离键盘"模板,一次自动设好 15 项:关闭闲置踢出、弹窗自动应答、自动开宝箱奖励、快速开箱(一次5 张)、关闭对手表情、自动领佣兵奖励等。更省事的方式是走 UtilsArgu.cs 的命令行启动参数:
Hearthstone.exe afk=1afk=1即"正常挂机"模式,插件自动启用并套用模板,连配置菜单都不用进。
酒馆战棋玩家:快速对战 + 齿轮 + 商店快捷键
| 参数 | 推荐值 | 为什么这么设 |
|---|---|---|
isQuickModeEnable | true | 战棋唯一生效的快速对战开关,结算动画直接跳 |
timeGear | 8 | 商店阶段外的等待动画全速跑完 |
isBgsGoldenEnable | true | 酒馆界面自动显示金币数量,减少点选 |
keyBgsRefresh/Freeze/Upgrade | R/F/U | 默认键位,商店阶段一键刷新、冻结、升级酒馆 |
多账号:一个参数隔离全部配置
每个账号用独立启动参数hsunitid=账号ID启动时,插件会在BepInEx/config/账号ID/下生成独立的 HsMod.cfg(见 Main.cs 的ConfigBind逻辑)。配合width、height、port参数还能同时指定分辨率和 web 服务端口,切换账号只改启动参数,配置互不污染。
排障步骤与风险提示
装完起不来游戏,按顺序排查,90% 的问题卡在这四步:
- 确认用的是BepInEx 5 的 x64 版——炉石自 2026-07-01 起是 64 位程序,旧 32 位 BepInEx 直接无效。
- 检查炉石安装路径不含中文等非拉丁字符,这是硬性要求。
- 确认
HsMod/UnstrippedCorlib里的全部 DLL 已复制到Hearthstone\BepInEx\unstripped_corlib\。 - 在
doorstop_config.ini中设置dll_search_path_override = BepInEx\unstripped_corlib(BepInEx 5.4.23.2+ 的写法)。
功能异常时最快的恢复动作:删除BepInEx\config\HsMod.cfg让插件重新生成默认配置;皮肤显示异常则再删HsSkins.cfg。
安全边界必须说清:中国大陆炉石客户端默认启动反作弊 SDK。HsMod 通过 Patches/PatchAntiCheat.cs 拦截
AntiCheatManager的初始化与调用,但项目 README 明确声明无法保证账号安全。建议在休闲局和战棋中验证功能,天梯使用自行评估风险,并定期备份账号数据。
进阶入口与上手路径
源码阅读路线与调试快捷键
F4是固定调试快捷键(不可改):导出当前对局信息到BepInEx\目录、更新皮肤配置并重启 web 服务。插件默认在58744 端口起 web 服务(webServerPort),可查看佣兵进度、开包历史,isWebshellEnable=true还能开启/shell页面(需自行评估暴露风险,云服务器注意防火墙)。
想读懂它怎么改游戏,从 Main.cs(入口、命令行、缓存清理)和 Patcher.cs(补丁总调度)读起,再进Patches/目录按功能模块对号入座——21 个 Patch 文件,一个文件对应一个功能域,结构非常直白。
现在就 clone 仓库把 HsMod 装起来,先按Ctrl+P看一眼自己当前的真实帧率:
git clone --depth 1 --branch bepinex5 https://gitcode.com/GitHub_Trending/hs/HsMod帧数离 30 帧上限有多远,你的优化空间就有多大。
【免费下载链接】HsModHearthstone Modification Based on BepInEx项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考