Lomka
Сборник небольших оптимизаций для твоего Minecraft
- Загрузчики
- FabricNeoForgeForgeQuilt
- Скачиваний на Modrinth
- 36,9 тыс.
- Подписчиков на Modrinth
- 56
- версий
- 245
- Обновлён
- 10 октября 202610 окт.
- Опубликован
- в 2026
Коротко о моде
Работает и в игре, и на сервере — ставьте, где нужен
Thread.yield() из цикла тиков клиента Загрузка и память - Массовое чтение NBT-массивов для данных мира, игрока и структур на стороне сервера (чанки, карты высот и сохранения загружаются блоками, а не потоковыми вызовами по элементам) - Более дешёвое сканирование ресурсов и кэшированное чтение метаданных паков - Сгенерированные mip-уровни освобождаются после загрузки - Меньше перевыделений нативных буферов (потоковое аудио и построение мешей) Мир и сеть - Кэшированные боксы воксельных форм и устойчивость граней блоков - Более быстрый обход блоков и секций, построение карт высот для генерации мира и пересчёт RNG генерации мира на месте (также сначала проверьте список несовместимостей) - Более компактные сетевые буферы и сжатие пакетов (без влияния на ваше соединение) А также некоторые другие мелкие исправления в коде игры. ### Измеренный эффект Изолированные микробенчмарки на JDK 25, по одной операции за раз. Это не бенчмарки частоты кадров в игре: | Патч | Измерено | Где это заметно | |---|---|---| | Разложение воксельных форм | toAabbs(): 40 нс против 8584 нс, 199x+ (14 нс против 8879 нс на 368 ячейках) | Каждый блок, которого касается сущность при движении | | MixinLegacyRandomSource | next(int): 7.1x | Каждый случайный розыгрыш, нужный новому чанку, на клиенте и выделенном сервере. | | MixinBlockPos.betweenClosed | один 16³: 61 мс -> 11 мс, 5.61x | /fill и другие объёмные правки, проход освещения после большой постройки, размещение структур и фич, списки блоков взрыва. | | MixinBlockStateBaseCache | isFaceSturdy: 4.1-5.8x | Проверки вроде ходьбы по плитам и ступеням, разрешение коллизий между мобами и игроками, пересчёт опоры при изменении соседа. | | MixinCompressionDecoder | setupInflaterInput: 37.5 нс -> 18.1 нс и 128 Б -> 0 Б на пакет | Каждый входящий сжатый пакет | | MixinSoundEngine | получение звука: 400 мкс -> 20 мкс, задержка за тик 512 мкс -> 27 мкс | Поток клиента перестаёт ждать звуковой поток. | | MixinAutoStorageIndexBuffer | индексный буфер растёт x4: в 1.47-2.9 раза меньше времени на перевыделение (85.4 мс -> 29.5 мс, 21 -> 11 перевыделений; удерживает 40 МиБ вместо 34) | Всплески геометрии (например, при увеличении дальности прорисовки) | | MixinFallbackResourceManager | поиск метаданных: 5.33x (2.71 мс -> 0.51 мс для 20к файлов) | Запуск и каждая перезагрузка ресурсов (F3+T, всё ещё немного улучшается) | | MixinMth | ceillog2 и log2: 3.93 нс -> 0.85 нс (4.6x), 4.83 нс -> 0.84 нс (5.7x) | Размеры палитр, количество секций и буферов, каждое место, где ванилла запрашивает длину в битах | ## Версии 1.21.11 — основная версия. В ней полный набор оптимизаций и больше всего тестирования. Современные варианты: | Minecraft | Загрузчики | |---|---| | 1.16.5 | Fabric | | 1.18.2 | Fabric, Forge | | 1.19.2 | Fabric, Forge | | 1.20-1.20.1 | Fabric, Forge | | 1.21-1.21.1 | Fabric, NeoForge | | 1.21.4 | Fabric, NeoForge | | 1.21.6-1.21.8 | Fabric, NeoForge | | 1.21.9-1.21.10 | Fabric, NeoForge | | 1.21.11 | Fabric, NeoForge | | 26.1-26.1.2 | Fabric, NeoForge | | 26.2 | Fabric, NeoForge | | 26.3 | Fabric, NeoForge | Старые сборки охватывают 1.7.10, 1.8.9 и 1.12.2, на Forge и на Ornithe. Это отдельный порт с гораздо меньшим набором патчей и своим списком патчей. Вариантам для Forge нужен установленный рядом с Lomka рантайм миксинов (MixinBooter 11.17 на 1.8.9 и 1.12.2, UniMixins на 1.7.10); вариантам для Ornithe ничего не нужно, потому что загрузчик Ornithe сам поставляет рантайм миксинов. См. Конфигурация миксинов (legacy). ### ❗ Всё, что вне 1.21.11 — это порт тех же или других идей с меньшим улучшением. ## FAQ Я вижу падение производительности с установленной Lomka Сначала обновитесь до последней сборки для вашей версии Minecraft. Всё ещё плохо? Сообщите об этом (ссылка ниже), указав версию игры, загрузчик, список модов и какой конфиг у вас был отключён. Меняет ли это ванильное поведение? Нет, конечно, но если игра ведёт себя странно, ответьте в трекере задач. Совместимо ли это с сервером? Да. Нужны ли какие-то зависимости? Нет. Единственное внешнее требование — рантайм миксинов, и только на старых сборках для Forge (1.7.10-1.12.2). Сборки для Ornithe поставляют его сами. Можно ли добавить этот мод в мой модпак?Конечно. Lomka — бесплатный проект с открытым исходным кодом. Сначала проверь, как он поведёт себя на твоей сборке.
Настройка
У Lomka нет внутриигрового интерфейса. Вместо этого при первом запуске создаётся файл config/lomka-mixins.properties с базовой настройкой миксинов. Полный список миксинов с описаниями живёт в вики: Настройка миксинов для 1.16.5-26.3. Настройка миксинов (legacy) для 1.7.10-1.12.2.
Совместимость
С большинством модов это должно работать нормально (например, Sodium, Lithium, Iris, FerriteCore, ModernFix, ImmediatelyFast и даже VulkanMod), но никаких гарантий. Известные конфликты перечислены вместе с версиями Lomka в списке несовместимостей.
Сообщения об ошибках
Нашёл что-то, что происходит только с Lomka?
- Сначала попробуй воспроизвести это без Lomka и с отключёнными отдельными патчами.
- Всё ещё воспроизводится? Напиши в трекер задач, при желании приложив лог. Пожалуйста, не сообщай о крашах, связанных с Lomka, другим авторам модов, потому что миксины Lomka жестоки и могут ломать не связанные с ними системы.
Благодарности
Lomka создал Starlev и участники проекта. А также благодарности другим модам за их эффективную работу!
VecDeltaCodeczero-delta path adapted from Collections Of Optimizations by Misanthropy (LGPL-3.0).Vec3iPhiMix hashing credits EfficientHashing by ZZZank (CC0-1.0).- The legacy hardware-blit presentation path references from Tritium (MIT), but popularized in VulkanMod (LGPL-3.0-only).
Частые вопросы
Как установить Lomka?
Установите Fabric под свою версию Minecraft, скачайте Lomka под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Lomka?
У Lomka есть сборки для Minecraft 1.20–1.20.1, 1.21–1.21.1, 1.21.4, 1.21.6–26.3 ….
Нужен ли Lomka на сервере?
Работает и в игре, и на сервере — ставьте, где нужен