LazyDFU

LazyDFU откладывает инициализацию DataFixerUpper в Minecraft, поэтому правила миграции данных создаются только при необходимости.

LazyDFU: это оптимизационный мод для Minecraft, который откладывает ненужную инициализацию до момента, когда она действительно потребуется. В частности, он делает инициализацию DataFixerUpper «ленивой»: правила миграции данных из старых версий Minecraft в новые не создаются сразу, а только тогда, когда в них возникает необходимость.

Этот мод предназначен для Fabric/Quilt.

Совместимость

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.

Почему это работает?

DataFixerUpper (часто сокращается до DFU): это компонент Minecraft, отвечающий за обновление миров из старых версий Minecraft в новые. DFU инициализируется очень рано в процессе запуска Minecraft, фактически до появления игрового окна. Он смехотворно переусложнён и очень медленный, но именно с этим приходится работать.

В процессе инициализации DFU кэширует правила, необходимые для преобразования из старых версий в Minecraft через каждую промежуточную версию до запускаемой версии игры. Этот процесс выполняется в фоне, но он чрезвычайно медленный, поскольку интенсивно использует и ЦП, и память. В Minecraft 1.16.5 я замерил, что этот процесс занимает 9 секунд на настольном Ryzen 9 3900X (высококлассный настольный процессор, выпущенный в 2019 году) и 57 секунд на ноутбуке с i5-8250U (процессор среднего уровня для ноутбуков 2017 года).

LazyDFU лишь останавливает этот процесс: он позволяет DFU инициализироваться, но заставляет его не кэшировать все эти правила. В результате правила DFU компилируются только тогда, когда мир нужно конвертировать. Это значит, что возможны лаговые всплески, если LazyDFU заставит игру компилировать правила миграции, но после завершения никаких потерь производительности нет.

Докажите мне

Я записал видео, которое показывает, насколько эффективен LazyDFU.

Сравнение с другими модами

По сравнению с другими модами LazyDFU имеет главное преимущество: он прост, безопасен и мало влияет на игру.

  • LazyDFU: очень простой мод. Весь мод состоит примерно из дюжины строк кода, он настолько прост, насколько это возможно для мода, при этом даёт огромные преимущества. (Это также делает его идеальным модом для экспериментов с новой платформой Mixin!)
  • LazyDFU обладает высокой совместимостью и безопасен. LazyDFU крайне маловероятно конфликтует с другими модами. Этот мод основан на аналогичном патче в Paper, который использовался более года без сообщений о проблемах с миграцией на новые версии Minecraft. (С тех пор Paper перешёл на замену фиксеров данных Mojang собственной высокооптимизированной реализацией.)

Как установить LazyDFU

  1. В списке файлов выберите свою версию Minecraft и загрузчик. Установите этот загрузчик в профиль игры.
  2. Проверьте требуемые библиотеки у выбранного релиза. Скачайте их для той же версии Minecraft и загрузчика.
  3. Скачайте JAR мода для выбранной версии Minecraft и загрузчика.
  4. Закройте игру и поместите JAR мода и необходимых библиотек в папку mods выбранного профиля. JAR распаковывать не нужно.
  5. Запустите выбранный профиль. Для русского текста выберите «Русский» в настройках языка Minecraft.
Где находится папка mods?

Откройте папку выбранной сборки в лаунчере и найдите mods. Если папки нет, создайте её. Для стандартной установки:

  • Windows: %appdata%\.minecraft\mods
  • macOS: ~/Library/Application Support/minecraft/mods
  • Linux: ~/.minecraft/mods

Если в лаунчере задана другая папка игры, используйте её, а не стандартный путь.

Версии и загрузки

Версии Minecraft и загрузчики указаны отдельно для каждого релиза.

РелизMinecraft / загрузчикФайл
0.1.3Оригинал автора2022-06-081.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.6FabricСкачать FabricОригинал автора14 КБ
SHA-2564f3b77273b57d019a8db58371e63e4426557c1bb7c9cc10536a03972122778c8
0.1.2Оригинал автора2021-02-191.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.2FabricСкачать FabricОригинал автора15 КБ
SHA-256e78eb1492e20bcd8c998d4142dd437c2517393c5d02f582204ad8a38341e75e8

Источник и перевод

Источник: Modrinth, LazyDFU.

Описание переведено на русский язык с помощью DeepSeek.

LazyDFU: версии Minecraft