ImmediatelyFast — оптимизация рендеринга Minecraft¶
ImmediatelyFast — это клиентская модификация для компьютерной версии игры Minecraft, предназначенная для оптимизации графического рендеринга и повышения частоты кадров (FPS). Мод работает на версиях игры, использующих программный интерфейс RenderDragon, и устраняет узкие места в конвейере отрисовки, связанные с немедленным режимом передачи данных на графический процессор.
¶История и предпосылки создания
Minecraft (Java Edition) исторически использует архитектуру рендеринга, основанную на немедленном режиме (immediate mode) библиотеки OpenGL. Это означает, что кадр отрисовывается путём множества последовательных вызовов отрисовки отдельных элементов: блоков, энтити, частиц. Каждый такой вызов сопровождается передачей данных о вершинах и текстурах на видеокарту, что создаёт значительную нагрузку на центральный процессор и шину данных.
С выходом версии Minecraft 1.20.5 компания Mojang внедрила новый рендерер RenderDragon, изначально разработанный для Bedrock Edition. Несмотря на общую цель повышения производительности, на Java Edition этот рендерер в ранних версиях демонстрировал неоптимальную работу с вызовами отрисовки, особенно при большом количестве прозрачных объектов и частиц. Немедленный режим в RenderDragon оказался менее эффективным, чем в старом рендерере, что приводило к парадоксальному снижению FPS на слабых и средних машинах.
Модификация ImmediatelyFast была создана разработчиком под псевдонимом RaphiMC в 2024 году как ответ на эти проблемы. Основная цель мода — перехватывать вызовы немедленного режима и преобразовывать их в пакетную (batch) передачу данных, что позволяет сократить количество переключений состояния графического процессора и уменьшить нагрузку на CPU.
¶Механизм работы
¶Проблема немедленного режима
В традиционном подходе каждый блок или частица требует отдельной команды отрисовки. Для отрисовки, например, травы или листвы, игре необходимо выполнить несколько тысяч вызовов функций OpenGL за кадр. Каждый вызов включает проверку состояния, привязку текстур и передачу координат вершин. На слабых процессорах это приводит к тому, что центральный процессор не успевает обрабатывать все команды, и частота кадров падает, даже если видеокарта способна на большее.
¶Решение ImmediatelyFast
Мод ImmediatelyFast перехватывает команды отрисовки на уровне игрового движка и накапливает их в буфере. Вместо того чтобы отправлять каждый квад (четырёхугольник) отдельно, мод группирует их по типу текстуры и состоянию шейдера. После накопления достаточного объёма данных буфер передаётся на видеокарту одним пакетом. Такой подход называется батчингом (batching) и позволяет сократить количество вызовов отрисовки в десятки и сотни раз.
Дополнительно мод оптимизирует работу с вершинными буферами, уменьшая количество операций копирования памяти и используя более эффективные форматы данных. В версиях для RenderDragon мод также корректирует неоптимальные пути рендеринга частиц и прозрачных объектов, которые в стандартной реализации обрабатываются последовательно и медленно.
¶Совместимость и установка
ImmediatelyFast доступен для Minecraft Java Edition, начиная с версии 1.20.5 и новее, где используется рендерер RenderDragon. Мод требует наличия одного из загрузчиков модификаций: Fabric, Quilt или NeoForge. Для установки необходимо скачать файл мода, соответствующий версии игры и загрузчику, и поместить его в папку mods.
Мод совместим с большинством популярных оптимизационных модов, таких как Sodium, Lithium и Iris Shaders. Однако при использовании с шейдерами на основе Iris возможны конфликты, поскольку шейдерные моды перехватывают часть графического конвейера. В таких случаях рекомендуется тестировать производительность в связке и при необходимости отключать одну из модификаций.
ImmediatelyFast работает как на клиентской стороне, так и на серверной (для некоторых функций синхронизации), но для обычного игрока достаточно установки только на клиент. На сервере мод не требуется, однако для корректной работы некоторых функций (например, отрисовки прозрачных энтити) желательно наличие мода и на сервере.
¶Влияние на производительность
Согласно замерам разработчика и независимым тестам, ImmediatelyFast позволяет увеличить частоту кадров на 10–50 % в зависимости от сцены и конфигурации компьютера. Наибольший прирост наблюдается в следующих ситуациях:
- густые леса и местности с большим количеством листвы (прозрачные блоки);
- сцены с множеством частиц (дождь, снег, взрывы, эффекты зелий);
- области с большим скоплением энтити (животные, мобы, предметы);
- использование карт с большим количеством воды и льда.
На слабых процессорах (например, двухъядерных моделях начального уровня) прирост может быть более значительным, поскольку мод снимает основную нагрузку с CPU. На мощных машинах с производительными процессорами эффект менее заметен, так как узким местом там чаще является видеокарта.
Важно отметить, что ImmediatelyFast не является заменой полноценным оптимизационным модам, таким как Sodium, который заменяет весь рендерер. ImmediatelyFast работает поверх существующего рендерера и лишь оптимизирует один из его аспектов — передачу данных. Поэтому для максимальной производительности рекомендуется использовать оба мода совместно.
¶Критика и ограничения
Некоторые пользователи сообщают о незначительном увеличении времени загрузки мира при первом входе, связанном с построением буферов. Также мод может вызывать визуальные артефакты (мерцание) при использовании некоторых ресурспаков с анимированными текстурами, поскольку батчинг изменяет порядок отрисовки кадров анимации.
Разработчик активно поддерживает мод, выпуская обновления для новых версий Minecraft. На момент написания статьи мод поддерживает все актуальные версии игры вплоть до 1.21.1. Исходный код мода опубликован на платформе GitHub под лицензией LGPL-3.0, что позволяет сообществу изучать и модифицировать его.
¶Значение для сообщества
ImmediatelyFast быстро завоевал популярность в сообществе игроков, использующих моды для повышения производительности. По данным статистики загрузок на платформе Modrinth, мод был скачан более 10 миллионов раз в течение первого года после релиза. Он стал стандартным компонентом многих сборок модов, ориентированных на производительность, наряду с Sodium и Lithium. Его появление также стимулировало дискуссию о необходимости дальнейшей оптимизации RenderDragon в Java Edition и о перспективах развития графической архитектуры игры.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

