
史诗跑酷动量原木杀手
取消 epic_parcool_momentum 导致严重卡顿的无节流每刻诊断日志记录。
Epic Parcool Momentum 日志清除器
取消 epic_parcool_momentum 自身的内部诊断日志记录,该日志在客户端每个 tick 无条件运行,并经反编译确认会导致严重且持续的 TPS 卡顿。移动机制完全不受影响——仅移除了日志记录。
为什么需要这个模组
epic_parcool_momentum 的 EPMClientHooks.logGliderOpeningDelayDiagnostic 是其墙跳/滑翔翼/幻影升腾交接逻辑中 60 多个调用点背后的共享实现,其中几乎所有的调用点都传入 throttlePerTick=false。其中一个调用点是从注入到 GliderData#glideAndFallLogic 的 @At("HEAD") Mixin 触达的——该方法对本地玩家每个客户端 tick 都会运行,无论玩家是否真的在滑翔。每次未节流的调用在格式化约 50 个字段的日志行之前,都会执行 10-20 次以上的 WeakHashMap 查找以及派生的能力/动画状态读取,而这一切甚至发生在检查日志级别之前。这些数据没有一个会反馈到任何游戏决策中——实际的墙跑/滑翔翼/动量状态机独立计算自身状态——因此这是每个 tick、每时每刻都在付出的纯粹且可避免的开销,无论日志级别是否高到足以真正写入该日志行。
功能
- 通过 Mixin 的
@Inject(at = "HEAD", cancellable = true)在 6 个EPMClientHooks内部诊断日志方法的入口点取消它们:logGliderOpeningDelayDiagnostic、logGliderOpeningDelayProbe、logExhaustionPose、logGliderFastRunDiagnostic、logWomBackflipGliderGuard、logForcedDemolitionPhantomAscentBypass - 对移动零影响:墙跑、墙跳、滑翔、幻影升腾、自然冲刺、爆破飞跃、蜘蛛技巧以及 epic_parcool_momentum 的所有其他功能行为完全一致——仅移除了日志调用,且没有任何代码会读取它们的输出
- 仅客户端
需求
- Minecraft 1.20.1
- Minecraft Forge 47+
- epic_parcool_momentum(必需——本模组直接对其打补丁,没有它则不起任何作用)
说明
这是一个非官方第三方附加模组,与 epic_parcool_momentum 的作者无关。如果未来版本的 epic_parcool_momentum 重命名或重构了这些方法,本附加模组的 Mixin 目标可能需要相应更新以匹配。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。