ImmediatelyFast
ImmediatelyFast — это модификация Minecraft с открытым исходным кодом, которая повышает производительность рендеринга в режиме immediate mode на стороне клиента.
Она разработана как легковесная и совместимая с другими модификациями.
Оптимизации
ImmediatelyFast в целом оптимизирует весь рендеринг в режиме immediate mode, используя собственную реализацию буфера, которая группирует вызовы отрисовки и загружает данные на GPU более эффективным способом.
Следующие части кода рендеринга в режиме immediate mode оптимизированы:
- Сущности
- Блочные сущности
- Частицы
- Отрисовка текста
- Интерфейс/HUD
- Рендеринг в режиме immediate mode других модификаций
Также присутствуют целевые оптимизации, при которых код рендеринга ванильной игры изменяется для более быстрого выполнения.
Следующие части кода рендеринга оптимизированы с помощью более эффективной реализации:
- Отрисовка карт
- Отрисовка HUD
- Отрисовка текста
Производительность
Ниже приведены сравнения производительности в областях, которые модификация оптимизирует особенно хорошо:
Если в таблице указаны другие модификации, это означает, что данная модификация также оптимизирует эту часть игры.
Тестовое оборудование: Ryzen 5 1600, 32 ГБ DDR4, GTX 1060
Показатели FPS были получены с помощью внешних инструментов (в данном случае MSI Afterburner) и усреднены за несколько секунд.
Если вы решите проверить это самостоятельно, учтите, что ImmediatelyFast может повысить FPS только в сценарии, где узким местом является процессор (что наиболее вероятно, если у вас не устаревший GPU или вы не используете очень тяжелые шейдеры). Более медленные процессоры получат больше преимуществ от этой модификации, чем очень быстрые.
Отрисовка сущностей
В целом FPS должен быть примерно в 2 раза выше на загруженных серверах. [Протестировано с использованием IF 1.1.7 на версии 1.19.3]
Протестировано на сервере Spigot с 1000 коровами в коробке 3x3 в поле зрения.
Отрисовка карт
В целом FPS должен быть примерно в 5 раз выше, когда на экране много карт. [Протестировано с использованием IF 1.1.1 на версии 1.19.3]
Протестировано на сервере Fabric с модификацией Image2Map и примерно 930 картами на экране.
Отрисовка HUD
В целом FPS должен быть примерно на 40% выше почти во всех сценариях. [Протестировано с использованием IF 1.1.7 на версии 1.19.3]
Протестировано на сервере Spigot с различными элементами HUD на экране (таблица очков, панель эффектов зелий, полосы здоровья боссов, заполненный чат, дополнительные сердца, полная панель быстрого доступа).
Отрисовка текста
В целом FPS должен быть примерно в 2 раза выше, когда вокруг вас много табличек или голограмм. [Протестировано с использованием IF 1.1.7 на версии 1.19.3]
Протестировано на сервере Spigot с 200 табличками (заполненными текстом) на экране.
Отрисовка блочных сущностей
В целом FPS должен быть примерно на 20% выше, когда вокруг вас много блочных сущностей. [Протестировано с использованием IF 1.1.7 на версии 1.19.3]
Протестировано на сервере Spigot с 400 сундуками на экране.
Совместимость
ImmediatelyFast структурирована так, чтобы минимально вмешиваться в работу других модификаций. Она должна корректно работать с большинством, если не со всеми, модификациями и сборками.
Известные несовместимости:
- OptiFabric / OptiFine
- Большинство закрытых «клиентов», таких как LunarClient и LabyMod
Если вы столкнетесь с какими-либо проблемами, пожалуйста, сообщите о них в трекере проблем.
Конфигурация
ImmediatelyFast имеет файл конфигурации, который можно найти в папке config вашего экземпляра Minecraft. Большинство параметров следует оставить значениями по умолчанию, но некоторые можно изменить для повышения производительности или совместимости.
font_atlas_resizing: Увеличивает размеры текстурных атласов шрифтов. Это улучшает производительность при использовании шрифтов высокого разрешения или пользовательских серверных шрифтов.map_atlas_generation: Помещает текстуры карт в единую текстуру вместо нескольких. Это улучшает производительность, когда на экране много карт.hud_batching: Улучшает производительность отрисовки HUD за счет уменьшения количества вызовов отрисовки. Если вы столкнетесь с проблемами в элементах HUD, попробуйте отключить эту оптимизацию.fast_text_lookup: Кэширует некоторые данные между отрисовкой символов текста. Это незначительно улучшает производительность при отрисовке большого количества текста.avoid_redundant_framebuffer_switching: Эта оптимизация уменьшает количество переключений буфера кадра при отрисовке множества различных объектов в мире (сущностей, частиц, блочных сущностей, …) или HUD для увеличения FPS.experimental_disable_error_checking: Отключает проверку ошибок OpenGL. Это может повысить производительность на некоторых системах, но при включении может вызвать трудноотлаживаемые проблемы.experimental_disable_resource_pack_conflict_handling: Определяет, должна ли ImmediatelyFast сканировать ресурс-паки на наличие несовместимых модификаций основных шейдеров, чтобы отключить некоторые конфликтующие оптимизации. Это можно отключить, чтобы принудительно включить оптимизации, даже если они могут вызвать графические проблемы с определенными ресурс-паками.experimental_sign_text_buffering: Буферизует текст на табличках вместо его перерисовки каждый кадр. Может вызвать проблемы с шрифтами высокого разрешения или пользовательскими шрифтами.experimental_screen_batching: Улучшает производительность отрисовки некоторых внутриигровых экранов за счет уменьшения количества вызовов отрисовки.
API для разработчиков
Вы можете прочитать последнюю версию документации API здесь.





