Horizon vs Sodium / Iris / OptiFine: честное сравнение

Чем переписанный на Rust Horizon отличается от оптимизирующих модов для Java: что ускоряет каждый подход, что с модами и шейдерами и кому что выбрать.

Автор: редакция MC Horizon · Опубликовано · Обновлено

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 вся игра: логика, рендер, сеть
Java Edition + моды Sodium / Iris / OptiFine Minecraft (Java-код Mojang) Виртуальная машина Java (GC, JIT) Horizon Моды Horizon (Rust / данные) Horizon — нативная программаигровые ресурсы — из вашей 26.3
Моды-оптимизаторы работают поверх JVM; в Horizon этого слоя нет вовсе.

Скорость: что ускоряет каждый подход

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 начните с паков, сделанных под него.

Источники

Частые вопросы

Можно ли поставить Sodium в Horizon?

Нет. Sodium — Java-мод, а Horizon не выполняет Java-код. Многое из того, что делает Sodium (оптимизация отрисовки чанков), Horizon делает в своём рендере.

Что быстрее — Horizon или Java с Sodium?

Бенчмарк проекта умеет мерить обе конфигурации на одинаковых условиях. Опубликованные на странице Benchmarks сравнения — Horizon против ванильной Java Edition; проверяйте свежие цифры там же или своим прогоном.

Комментарии

Комментарии загрузятся, когда вы до них долистаете.