Ради вашего удобства наш сайт использует cookies! Узнать больше! Мы используем cookies

MTPawnTicks - 多线程 Pawn 优化

MTPawnTicks — Pawn Tick 多线程优化 通过 Harmony Transpiler 将 Pawn 的 13 个 Tick 子系统从主线程剥离, 利用 Parallel.ForEach 在多核 CPU 上并行执行,同时支持按 Map 分组实现跨地图并行。 两个维度叠加:子系统并行 x Map 并行。 【并行子系统(13 个)】 Pawn.Tick() — 4 个 HealthTick / EquipmentTrackerTick / InventoryTrackerTick / GeneTrackerTick Pawn.TickInterval() — 9 个 MindState / Needs / Skills / Apparel / Relations HealthInterval / Ideo / Records / Guilt 【并行策略】 · 子系统维度 — 13 个子系统各自用 Parallel.ForEach 并行处理所有 Pawn · Map 维度 — 多 Map 时各 Map 独立线程同时执行,单 Map 自动退化 · 双层叠加 — Map 并行 x 子系统并行,充分利用多核 CPU 【安全保障】 · 异常隔离 — 单 Pawn 崩溃不影响其他 Pawn,单 Map 崩溃不影响其他 Map · 全局回退 — Parallel.ForEach 失败时自动回退串行执行 · RNG 隔离 — Rand.PushState + per-thread seed,每个线程独立随机数 · 最小阈值 — Pawn 数量低于 15 时跳过并行,避免小数量额外开销 · 独立开关 — 13 个子系统 + Map 并行均可通过 MTPSettings 单独关闭 【兼容 Mod(已验证)】 Performance Esmolas ✅ BuildingTickOptimizer ✅ HealthTabOptimizer ✅ Ideo Tick Optimization ✅ Better GC: Mothballed and World Pawns ✅ Performance Optimizer ✅ 【推荐搭配优化 Mod】 · RocketMan — 多线程日志/统计/DLC 优化,与本 Mod 互补 · Dubs Performance Analyzer — TPS 实时监控,调试性能瓶颈必备 · Performance Optimizer — 方法缓存/UI 节流,优化方向不重叠 · Toggleable Overlays — 跳过不需要的覆盖层绘制,提升 FPS · Toggleable Readouts — 优化读取列表面板,减少 UI 开销 【使用注意】 · 50+ Pawn 且大量 Hediff 时效果最佳,多 Map 收益更大 · 深度 Patch Hediff/Gene/Need 的 Mod 可能存在兼容问题 · 异常时搜索日志 [RimMT],可逐个关闭子系统排查