跳转到内容
我的世界XyeBBS论坛3群 进群吹水聊天!众多整合包作者、插件作者、玩家在内哦!不定时发福利,公布重要通知!
...

LazyDFU

(LazyDFU)
通过推迟非必要的初始化来加快游戏启动速度。
服务端/客户端优化

LazyDFU 是一款专为 Minecraft 设计的优化模组,其核心思路是将不必要的初始化工作延迟到真正需要时才执行。具体来说,它让 DataFixerUpper(数据修复器,常简称为 DFU)的初始化变得“惰性”:只有在确实需要将旧版本 Minecraft 的数据迁移到新版本时,才会生成相应的迁移规则,而不是在游戏启动时就立即创建所有规则。

本模组适用于 Fabric / Quilt 加载器。

兼容性说明

  • LazyDFU 0.1.2:兼容 Minecraft 1.14 至 1.18.2 版本,支持客户端与服务端。
  • LazyDFU 0.1.3:兼容 Minecraft 1.19 及更高版本。不过从 1.19 开始,Mojang 已在服务端原生实现了 LazyDFU 所提供的功能。客户端默认仍会初始化所有 DFU 规则,因此 LazyDFU 会挂钩到客户端原生的 DFU 规则预编译功能,并将其变为无操作(no-op),从而避免冗余工作。

重要提示:自 Minecraft 1.19.4 起,Mojang 已对 DFU 初始化过程进行了大幅优化,在许多配置下本模组已不再必要。尽管如此,我们仍将继续为较旧版本的 Minecraft 提供支持。

支持我!

如果这个模组让你的 Minecraft 体验变得更流畅,欢迎小额赞助,帮助我持续开发和维护它。

它为何有效?

DataFixerUpper(简称 DFU)是 Minecraft 中负责处理世界存档从旧版本升级到新版本的核心组件。DFU 在游戏启动过程的极早期就被初始化——事实上,甚至在游戏窗口出现之前就已经完成初始化。它的实现过于复杂且效率低下,但这就是 Mojang 提供的现有方案。

在 DFU 初始化过程中,它会缓存从所有历史版本逐步升级到当前运行版本所需的全部迁移规则。这一过程虽在后台进行,却极其缓慢,同时大量消耗 CPU 和内存资源。实测数据显示:在搭载 Ryzen 9 3900X(2019 年发布的高端桌面处理器)的电脑上,Minecraft 1.16.5 的该过程耗时约 9 秒;而在配备 i5-8250U(2017 年中端笔记本芯片)的笔记本电脑上,则长达 57 秒。

LazyDFU 的作用就是阻止这一全盘缓存行为:它允许 DFU 正常初始化,但强制其不预先缓存所有迁移规则。结果是,DFU 规则仅在实际需要转换某个世界存档时才动态编译。这意味着你可能会在首次加载旧版本存档时遇到短暂的卡顿(lag spike),但一旦规则编译完成,后续便不会再有任何性能损失。

眼见为实

我录制了一段视频,直观展示 LazyDFU 的实际效果。

与其他模组的对比

相较于其他类似模组,LazyDFU 的主要优势在于:简单、安全、对游戏影响极小。

  • 极简设计:整个模组仅约十几行代码,堪称最简洁的模组之一,却能带来显著性能提升。(这也使它成为尝试新 Mixin 平台的理想实验对象!)
  • 高兼容性与安全性:LazyDFU 几乎不会与其他模组产生冲突。其实现灵感来源于 Paper 项目中一个已稳定运行超过一年的补丁,期间从未报告过因升级 Minecraft 版本而导致的问题。(注:Paper 项目后来改用自行高度优化的数据修复器替代了 Mojang 的原生实现。)
资源外链

选择礼物

使用社区积分,为喜欢的作品送上一份支持

加载中...

打赏记录

感谢每一位送出礼物的社区成员

0 次支持0 积分
正在加载内容…