Back to marketplace
LazyDFU
Modrinth Mod

LazyDFU

Makes the game boot faster by deferring non-essential initialization

Minecraft product info

Important product information

Compatibility, Minecraft versions, loaders, and external source data.

Type

Mod

Access

Free

Latest version

0.1.3

Downloads

14 396 038

Loaders / Platforms

fabric

Minecraft versions

1.14 – 1.20.6

Categories

optimization

Description

Detailed information

LazyDFU is an optimization mod for Minecraft that defers unnecessary initialization work so that it is only performed if required. Specifically, it makes the initialization of DataFixerUpper "lazy" - that is, it will not immediately create the rules required to migrate data from older versions of Minecraft to newer versions until it actually needs to do so. **This mod is for Fabric/Quilt** ## Compatibility LazyDFU 0.1.2 is compatible with Minecraft 1.14 through 1.18.2, and works on the client and server side. LazyDFU 0.1.3 is compatible with Minecraft 1.19 and above, however Mojang now implements the functionality LazyDFU provides on the server side. The client still initializes all DFU rules by default, so LazyDFU hooks into the native client functionality that enables DFU rule baking and turns it into a no-op. **As of Minecraft 1.19.4 and above, however, Mojang has significantly optimized DFU initialization enough that this mod is no longer necessary in many configurations. It will continue to be supported for older versions of Minecraft.** ## Sponsor me! Did this mod make Minecraft playable for you? [Chip in a bit of money](https://github.com/sponsors/astei) so I can continue developing it. ## Why does it work? DataFixerUpper (often abbreviated to DFU) is the Minecraft component responsible for handling world upgrades from older versions of Minecraft to newer versions. DFU is initialized very early in the Minecraft startup process - in fact, it's initialized before the game window even appears. It is laughably overengineered and very slow, but it's what Mojang gives us to work with. As part of the DFU initialization process, it caches rules required to convert from older versions to MInecraft through every version in between, up to the version of the game being launched. This process takes place in the background, but it is _extremely_ slow, as it is both CPU and memory intensive. With Minecraft 1.16.5, I have measured this process take 9 seconds on a Ryzen 9 3900X desktop (a high-end desktop CPU released in 2019) and 57 seconds on a laptop with an i5-8250U (a mid-range laptop chip from 2017). All LazyDFU does is stop this process - it lets DFU initialize, but it will force it to not cache all these rules. As a result, the DFU rules are only compiled when a world needs to be converted. This means it is possible you may see lag spikes if LazyDFU forces the game to compile migration rules, but once complete there is no performance penalty. ## Prove it to me I [recorded a video](https://www.youtube.com/watch?v=gXDqJ598kKA) that shows you how effective LazyDFU is. ## Comparing it to other mods In comparison to other mods, LazyDFU has the primary advantage of being _simple_, _safe_, and having _low impact_ on the game. * LazyDFU is a very simple mod. The entire mod is about a dozen lines of code, about as uncomplicated as a mod can get, while still delivering huge benefits. (This means it's also an ideal mod to use to experiment with a new Mixin platform!) * LazyDFU is highly compatible and safe. LazyDFU is extremely unlikely to conflict with other mods. This mod is based on a similar patch in [Paper](https://papermc.io) that had been in use for over a year with no reported issues with migrating to newer versions of Minecraft. (Paper has since changed to replacing Mojang's data fixers with a highly optimized implementation of its own.)

Developer

astei

Profile and data retrieved from Modrinth

Open on Modrinth

Product gallery

Project images

Screenshots and images from the original Modrinth page.

No images yet

The project author has not added a gallery on Modrinth.

Change log

Project versions

Published versions and original Modrinth files.

0.1.3 Current Release 08.06.2022

0.1.3

Supported Minecraft versions
1.19 1.19.1 1.19.2 1.19.3 1.19.4 1.20 1.20.1 1.20.2 1.20.3 1.20.4 1.20.5 1.20.6
Loaders / Platforms
fabric
Show changes
* Update to Minecraft 1.19 * Mojang now (by default) does not build datafixer rules on servers. LazyDFU continues to work as usual on the client and ensures that datafixer rules will not be built on the server, for consistency.
Sign in

0.01 MB

0.1.2 Release 19.02.2021

0.1.2

Supported Minecraft versions
1.14 1.14.1 1.14.2 1.14.3 1.14.4 1.15 1.15.1 1.15.2 1.16 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.17 1.17.1 1.18 1.18.1 1.18.2
Loaders / Platforms
fabric
Show changes
Improved compatibility with older and newer Minecraft versions: LazyDFU now supports Minecraft 1.14 through Minecraft 1.18 (as of this writing). Thanks to MrMangoHands for this contribution!
Sign in

0.01 MB

0.1.1 Release 15.01.2021

0.1.1

Supported Minecraft versions
1.16.4 1.16.5
Loaders / Platforms
fabric
Sign in

0.01 MB

0.1.0 Release 04.01.2021

0.1.0

Supported Minecraft versions
1.16.4
Loaders / Platforms
fabric
Sign in

0.01 MB