All Projects → astei → lazydfu

astei / lazydfu

Licence: MIT license
Fabric mod that makes Minecraft DataFixerUpper initialization lazy

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to lazydfu

NaturesCompass
A Minecraft mod that allows you to search for a biome's location anywhere in the world and view information about it.
Stars: ✭ 42 (-73.08%)
Mutual labels:  minecraft-mod, fabricmc
pastelwonderland
A mod that uses pastel colors and feels to provide you with a beautiful, yet chaotic, dimension.
Stars: ✭ 17 (-89.1%)
Mutual labels:  minecraft-mod, fabricmc
TabTPS
Minecraft server mod/plugin to monitor TPS, MSPT, and other information in the tab menu, boss bar, and action bar.
Stars: ✭ 151 (-3.21%)
Mutual labels:  minecraft-mod, minecraft-performance
EssentialClient
EssentialClient is a client side mod originally forked from Carpet Client for 1.15.2 that implements new client side features
Stars: ✭ 67 (-57.05%)
Mutual labels:  minecraft-mod, fabricmc
SpruceUI
A Minecraft library mod which adds a new abstraction to create GUI interfaces. Still close to the Vanilla design code-wise.
Stars: ✭ 47 (-69.87%)
Mutual labels:  minecraft-mod, fabricmc
kibe
A miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.
Stars: ✭ 42 (-73.08%)
Mutual labels:  minecraft-mod, fabricmc
Adorn
A decoration mod for Minecraft 1.14+.
Stars: ✭ 81 (-48.08%)
Mutual labels:  minecraft-mod, fabricmc
mouse-wheelie
"Small" Minecraft mod focusing on inventory utilities, like scrolling, sorting and auto refilling of items
Stars: ✭ 58 (-62.82%)
Mutual labels:  minecraft-mod, fabricmc
ImageWorldGenerator
A minecraft mod to generate a world from an image/map
Stars: ✭ 20 (-87.18%)
Mutual labels:  minecraft-mod, fabricmc
Requiem
Revamps Minecraft's vanilla death experience and adds various related mechanics.
Stars: ✭ 88 (-43.59%)
Mutual labels:  minecraft-mod, fabricmc
LibBlockAttributes
Library mod for fabric that adds items and attribute API's for blocks.
Stars: ✭ 43 (-72.44%)
Mutual labels:  minecraft-mod, fabricmc
FabricProxy
Fabric mod for support forward player data from proxy
Stars: ✭ 40 (-74.36%)
Mutual labels:  minecraft-mod, fabricmc
Terra
Voxel world generation modding platform
Stars: ✭ 320 (+105.13%)
Mutual labels:  minecraft-mod, fabricmc
ShulkerBoxTooltip
What's in my shulker box?
Stars: ✭ 63 (-59.62%)
Mutual labels:  minecraft-mod, fabricmc
Fabric-Autoswitch
Automagical switching of tools to the best one for the job, for Minecraft
Stars: ✭ 17 (-89.1%)
Mutual labels:  minecraft-mod, fabricmc
ScreenshotToClipboard
Screenshots taken are copied to the clipboard.
Stars: ✭ 28 (-82.05%)
Mutual labels:  minecraft-mod, fabricmc
serilum-mc-mods
A hub for source code, issues and content suggestions for Serilum's Minecraft mods on CurseForge.
Stars: ✭ 66 (-57.69%)
Mutual labels:  minecraft-mod, fabricmc
the-hallow
Fabric Community mod for Hacktoberfest!
Stars: ✭ 14 (-91.03%)
Mutual labels:  minecraft-mod, fabricmc
modget-minecraft
The Minecraft Mod Package Manager!
Stars: ✭ 47 (-69.87%)
Mutual labels:  minecraft-mod, fabricmc
Jumploader
Use Fabric mods in Twitch modpacks!
Stars: ✭ 19 (-87.82%)
Mutual labels:  minecraft-mod, fabricmc

LazyDFU

LazyDFU is an optimization mod that 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. It does not modify DFU and should be safe, but do exercise more than the usual caution.

The premise of LazyDFU is simple: most of the time, you will not need to convert data for every version of the game. As a result, DFU rule compilation occurs later, when the game is already up and running. 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.

Give me the numbers!

On an i5-8250U laptop:

  • Vanilla: ~58 seconds spent initializing DFU and compiling DFU rules
  • LazyDFU: 498 milliseconds spent initializing DFU

This results in a smooth, responsive game startup.

I want to see to believe it!

Here's a video I recorded.

Comparing it to other mods

Cadmium

LazyDFU is complementary to Cadmium. While Cadmium tackles the root source of the problem (rule optimization being slow), it only partially improves the situation. LazyDFU will still be highly effective by deferring the initial compilation of DFU rules until needed, so the game will start up much more quickly.

Smooth Boot

LazyDFU takes a similar implementation approach to Smooth Boot: both mods do not try to modify DFU. However, LazyDFU is superior to Smooth Boot as it does not compile DFU rules at all, which is the most expensive part of the game startup process.

In comparison, Smooth Boot will instead limit the number of threads that compile DFU rules and run them at a lower priority.

DataBreaker

DataBreaker is fundamentally unsafe. If you load an older world with DataBreaker then it will corrupt that world. There's some safeguards in DataBreaker, but even the author does not recommend using DataBreaker. In comparison, with LazyDFU you may experience a nasty lag spike instead, which is vastly superior to having a completely hosed world. So prefer LazyDFU over DataBreaker :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].