简介
LazyDFU 是一个优化mod,它使DataFixerUpper的初始化变得“懒惰”── 也就是说,它不会立即创建将数据从旧版本的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.2Fabric版:Legacy LazyDFU