Skip to content

Dynamic Resources FAQ

embeddedt edited this page Aug 25, 2023 · 6 revisions

What is dynamic resources?

Dynamic resources is a new optimization available in ModernFix. It makes changes to Minecraft so that block & item models are loaded dynamically rather than all being loaded at startup. This can speed up launching the game quite a bit more and also significantly reduces memory usage, especially in modded environments.

What types of gains are we looking at?

The modpack used for BlanketCon '23 has its memory usage drop from 1.7GB to just 945MB with dynamic resources enabled - a 55% reduction, and that's with FerriteCore already installed.

TODO: collect more data. :)

How do I get started?

ModernFix only enables optimizations that I believe are safe and will work with every mod (or can be fixed to do so). Unfortunately, dynamic resources, by nature of changing such a fundamental mechanic, may introduce compatibility issues with some mods that use nonstandard APIs to alter the vanilla model system. To maximize the compatibility of ModernFix out-of-the-box, this feature is therefore disabled by default. To enable it, simply go to config/modernfix-mixins.properties and add the following line:

mixin.perf.dynamic_resources=true

Should you encounter any issues, it can be disabled by undoing this change. Modpacks which have tested dynamic resources and found it to work well are encouraged to turn this option on. The compatibility issues are not related to specific players' hardware.

The most likely issues you will encounter with dynamic resources are a crash on startup or missing textures on some models.

Hasn't this been done before?

Yes, back in 1.12's prime there was a branch of VanillaFix that implemented a similar optimization. That patch was unfortunately never developed to completion, and had compatibility issues with a lot of mods. In contrast, ModernFix is receiving active development, is available for newer versions of the game, and (from what I can tell) works with the vast majority of mods without any additional tweaks being required.

(If you happen to be interested in dynamic model loading on 1.12, consider checking out VintageFix.)