
优化模组
通过限制远处实体刻、暂停怪物AI和限制粒子效果来减少服务器延迟。
查看大图OptimizeMod
让远处的模拟保持安静,以便活跃的游戏玩法获得更多 CPU 时间。
OptimizeMod 是一个轻量级的 Fabric 优化模组,适用于 Minecraft 1.21.1。 它的目标很简单:减少玩家未主动交互的实体和效果上的工作量。
OptimizeMod 改变了什么
1. 基于距离的移动 tick 节流(EntityTickMixin)
Hook:LivingEntity.tickMovement()
- 玩家被排除在外。
- 如果在睡眠距离(默认
96格)内没有找到任何玩家,非玩家生物实体跳过移动 tick(默认ENTITY_TICK_SKIP = 4)。 - 如果存在玩家但距离超过缩减距离(
48格),移动更新会被节流(大约每隔一个 tick)。
2. 基于距离的 AI 节流(MobEntityAIMixin)
Hook:LivingEntity.tickNewAi()(针对 MobEntity)
- 如果在缩减距离(
48格)内没有找到任何玩家,该 tick 的 AI 更新会被取消。 - 在中等距离范围内,AI 更新会被部分节流(每隔一个 tick)。
- 在被节流/取消期间,
despawnCounter会被重置,以避免不想要的消失副作用。
3. 粒子吞吐量上限(ParticleManagerMixin,客户端)
Hook:ParticleManager.addParticle(...)
- 粒子创建通过本地计数器设置上限(
MAX_PARTICLES_LIMIT = 4000)。 - 当超过上限时,多余的粒子生成请求会被丢弃。
- 旨在减少极端粒子爆发导致的客户端卡顿。
重要的准确性说明
- OptimizeMod 不保证固定的 FPS/TPS/MSPT 提升。
- 实际影响取决于生物密度、玩家分布、区块活动、模组包组成、JVM/运行时设置以及测试场景。
- 对远处生物/实体的行为改变是设计上有意为之的。
可复现的评估(推荐)
要在你的环境中验证影响,请在相同条件下比较基线与 OptimizeMod:
- 相同的 Java 版本、JVM 参数、模组列表、种子和配置。
- 相同的场景和时长(推荐:每次运行 20-30 分钟)。
- 至少 3 次基线运行 + 3 次 OptimizeMod 运行。
- 收集可比较的指标:
- p50/p95 MSPT(
spark或等效工具) - CPU 使用率(进程/系统)
- FPS/帧时间(客户端测试)
- 比较分布(中位数/p95),而不是一次性的峰值。
安装
- 为 Minecraft 1.21.1 安装 Fabric Loader
- 安装 Fabric API
- 将 OptimizeMod 的 jar 放入
mods/
兼容性
- 旨在与其他优化模组互补。
- 与任何基于 mixin 的模组一样,在生产部署前请测试你的确切模组包。
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。