简介
LazyDFU 是一个优化 Mod,它使 Data Fixer Upper (DFU) 的初始化变得“懒惰”── 也就是说,它不会立即创建将数据从旧版本的 Minecraft 迁移到新版本所需的规则,直到它实际需要这样做。它不直接修改 DFU,故应该能够安全使用,但毕竟还是做出了修改,还请多加小心。
LazyDFU 的原理其实很简单:大多数时候,您将不需要为游戏的每个版本转换数据。因此,当游戏已经启动并运行时,DFU 规则编译将延后发生。这意味着,如果 LazyDFU 强制游戏编译迁移规则,您可能会看到滞后尖峰,但一旦完成,就没有任何性能损失。
这个 Mod 更像是在 1.16 版本中对 镉 - 载入优化 (Cadmium) 的补充,尽管 镉 - 载入优化 (Cadmium) 解决了问题的根源(规则优化缓慢),但只能部分改善这种情况。通过延迟 DFU 规则的初始编译直到真的需要那么做时,LazyDFU 仍然会非常有效,游戏也会因此而更快地启动。
性能提升数据
在 i5-8250U 笔记本电脑上:
这样可以顺利进行响应式游戏启动。
与别的Mod进行比较
镉 - 载入优化 (Cadmium)
上文说过了,与其形成互补的关系,一个解决了根源,一个弥补了缺陷,LazyDFU 在其之下仍然效用明显。
Smooth Boot
LazyDFU 采用与 流畅加载 (Smooth Boot) 类似的实现方法:两个 Mods 均不尝试修改 DFU。
但是,LazyDFU 完全不编译 DFU 规则,因而优于 Smooth Boot,这是游戏启动过程中最耗时的部分。相比之下,平滑启动将限制编译 DFU 规则并以较低优先级运行它们的线程数。
DataBreaker
从根本上讲,DataBreaker 是不安全的。如果使用 DataBreaker 加载较旧的世界,则它将破坏该世界。DataBreaker 中有一些保护措施,但即使是作者也不建议使用 DataBreaker。相比之下,使用 LazyDFU 可能会遇到令人讨厌的滞后尖峰,但是这仍比使用完全胶着的世界要优越得多。因此,与 DataBreaker 相比,更喜欢 LazyDFU :)
1.13.2 Legacy Fabric 移植版:Legacy LazyDFU。
存在非官方 Forge 分支:DFU载入优化 [FORGE] (Lazy DataFixerUpper(LazyDFU) [FORGE])
兼容性
LazyDFU 0.1.2 与 Minecraft 1.14~1.18.2 兼容,在客户端和服务器端都可用。
LazyDFU 0.1.3 与 Minecraft 1.19+ 兼容,但 Mojang 在服务器端实现了 LazyDFU 提供的功能。但是客户端仍然默认初始化所有的 DFU 规则。因此,LazyDFU 通过将其挂钩到原生客户端功能中,使 DFU 变为无操作。
然而,从 Minecraft 1.19.4开始,Mojang 已经显着优化了 DFU 初始化,以至于在许多配置中不再需要这个模组。此前版本的 Minecraft 将继续支持它。