Sodium, Iris и OptiFine ускоряют и украшают Java Edition, оставаясь модами внутри неё, а Horizon заменяет саму программу игры — это разные подходы к одной цели. Поэтому корректное сравнение не «что быстрее вообще», а что вы теряете и получаете: с Horizon не работают Java-моды, но зато нет виртуальной машины Java со всеми её паузами. Разберём по пунктам.
Кто есть кто
| Что это | Где работает | Что меняет | |
|---|---|---|---|
| Sodium | Java-мод (Fabric/NeoForge) | внутри Java Edition | переписывает рендер чанков |
| Iris | Java-мод (Fabric) | внутри Java Edition | загружает шейдерпаки, совместим с Sodium |
| OptiFine | Java-мод | внутри Java Edition | рендер, шейдеры, зум, CTM и многое другое |
| Horizon | отдельная программа на Rust | вместо Java Edition | вся игра: логика, рендер, сеть |
Скорость: что ускоряет каждый подход
Sodium берёт на себя самую тяжёлую часть Java-рендера — построение и отрисовку чанков — и делает её заметно эффективнее. Но всё остальное — тики, логика, генерация — остаётся в ванильном Java-коде, а под ним по-прежнему виртуальная машина со сборщиком мусора. Lithium и FerriteCore добавляют оптимизации логики и памяти.
Horizon переписан целиком: в нём нет JVM, поэтому нет пауз сборки мусора и прогрева кода; чанки генерируются, освещаются и строятся в фоновых потоках; отрисовка идёт крупными пакетами с отсечением невидимого. Почему это даёт ровнее кадры — подробно в статье «Rust против Java».
Что важно знать о цифрах: официальный бенчмарк проекта (tools/perf_bench.py) запускает на одной машине Horizon, ванильную 26.3 и ваниллу с Sodium, Lithium, FerriteCore и ImmediatelyFast — одинаковый мир, маршрут камеры и настройки. На странице Benchmarks на момент написания опубликованы сравнения Horizon с ванильной Java Edition (например, на ноутбуке 2016 года 209 против 126 FPS в среднем). Мы не будем выдумывать результат «Horizon против Sodium» — когда проект опубликует его, обновим статью.
Шейдеры
Iris и OptiFine — это то, ради чего многие и ставят моды. В Horizon есть два пути: собственные паки .hshader (есть в реестре и нашем каталоге) и обычные паки Iris/OptiFine, которые читает отдельный загрузчик, написанный по спецификации формата. Документация честно предупреждает: не каждый пак пока выглядит точно как на Iris. Как ставить — в гайде по шейдерам.
Ресурспаки и функции OptiFine
Многое из ресурспаков «для OptiFine» Horizon поддерживает частично: соединённые текстуры (CTM), случайные и светящиеся текстуры, модели мобов (CEM). Зум и fullbright, за которые любили OptiFine, у Horizon есть свои: официальный мод Zoom и встроенный fullbright в Extras. Подробнее — в статье «Ресурспаки для Horizon».
Моды: главный компромисс
С Sodium и Iris у вас остаётся вся экосистема Fabric. С Horizon — нет: Java-код не выполняется. Лаунчер умеет переносить «данные» Java-модов (блоки, предметы, рецепты, текстуры), а механики требуют портов — и они появляются: AppleSkin, JEI, Distant Horizons уже есть в каталоге модов в виде нативных модов.
Кому что выбрать
- Большая сборка Forge/Fabric с машинами и магией — оставайтесь на Java с Sodium/Iris.
- Ваниль или «ваниль-плюс», сервера 26.3, слабый ноутбук — попробуйте Horizon: миры те же, установка на 10 минут.
- Хочется шейдеров — оба пути работают; на Horizon начните с паков, сделанных под него.
Источники
- Performance — Horizon against vanilla — на английском
- docs/benchmark.md — методика сравнения
- Settings — Shader packs — на английском
- Benchmarks — на английском