Health Tab Optimizer - 健康界面性能优化
⚠️ 此Mod完全由AI制作并更改,无论是mod名称还是介绍都是,我短暂用了这个mod觉得有效果,于是便上传到创意工坊来了,这个mod带有ai自己创建这个mod时的源码(我也不知道是不是源码毕竟是ai说的),希望可以给大佬带来启发并创建更优秀,效果更好的优化mod。感谢大家的订阅
注意:在游戏中最占性能的是小人,而其他的反而不占太多,只能说这是小优化,并不能大幅度优化性能
==============================================
健康界面性能优化 | Health Tab Optimizer v2.0
专为重Mod环境(457+Mods)设计的健康界面优化Mod,解决安装大量植入体后打开健康标签页时的TPS/FPS卡顿问题。
==============================================
核心问题
当殖民者携带多个植入体(动力甲、护盾、基因强化等)时:
• StatWorker 对同一Pawn同一Stat的多次查询重复计算
• PawnCapacityUtility 每帧重复计算 Consciousness、Manipulation 等能力值
• IncomingDamageFactor 在战斗中频繁调用
• HediffSet 变化时缺乏脏标记追踪
==============================================
优化原理
本Mod通过6大缓存技术削减开销,不修改任何游戏数值:
1. StatWorker 帧级缓存
- 拦截 StatWorker.GetValueUnfinalized 方法
- 同一帧内对同一Pawn同一Stat的多次查询只计算一次
2. PawnCapacity 帧级缓存
- 缓存 PawnCapacityUtility.CalculateCapacityLevel 结果
- Consciousness、Manipulation、Moving 等能力值计算结果复用
3. IncomingDamageFactor 帧级缓存
- 拦截 StatExtension.GetStatValue 方法
- 战斗中同一帧对同一Pawn的多次伤害判定只计算一次
4. HediffSet 脏版本追踪
- 监听 HediffSet.DirtyCache() 调用
- 为每个Pawn维护版本号,植入体增删时缓存自动失效
5. Pawn 死亡清理
- Pawn死亡时自动清理关联缓存,防止内存泄漏
6. 定期内存维护
- 每约3600帧自动清理过期缓存,保持内存占用稳定
==============================================
性能提升
• 查看植入体较多的殖民者:20-40%
• 战斗中频繁受伤结算:10-20%
• 内存占用稳定性:显著改善
==============================================
兼容性声明
本Mod基于安全Harmony钩子开发,与主流Mod保持良好兼容性:
• Harmony (brrainz.harmony)
• HugsLib
• CeleTech Arsenal MKIII (TOT.CeleTech.MKIII)
• 联合重工 UF Heavy Industries (KindSeal.LOL)
• SRALib (DiZhuan.SRALib) 的 HediffComp 组件
• RJW 生态系Mod
==============================================
工作方式
• 纯性能优化,不修改游戏数值
• 不干扰任何植入体或基因的正常功能
• 不影响任何战斗或游戏逻辑
• 后台静默运行,不影响游戏体验
==============================================
配合使用
建议配合 BuildingTickOptimizer 一起使用:
• HealthTabOptimizer:优化健康界面和Stat计算
• BuildingTickOptimizer:优化储物架、书架、艺术品等建筑的Tick频率
==============================================
安装指南
1. 在游戏Mod列表中勾选启用
2. 确保加载在 Harmony 之后
3. 建议加载顺序:Harmony → HealthTabOptimizer → BuildingTickOptimizer
==============================================
版本要求:RimWorld 1.6 | Harmony (自动检测)