ImmediatelyFast
Ускорь immediate mode рендеринг в Minecraft
- Загрузчики
- FabricNeoForgeForgeQuilt
- Скачиваний на Modrinth
- 138 млн
- Подписчиков на Modrinth
- 11,8 тыс.
- версии
- 482
- Обновлён
- 13 октября 202613 окт.
- Опубликован
- в 2022
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
ImmediatelyFast
ImmediatelyFast — это мод для Minecraft с открытым исходным кодом, который повышает производительность отрисовки в режиме немедленного рендеринга на клиенте.
Он создан лёгким и совместимым с другими модами.
Оптимизации
ImmediatelyFast в целом оптимизирует всю отрисовку в режиме немедленного рендеринга, используя собственную реализацию буфера, которая объединяет вызовы отрисовки и загружает данные на GPU более эффективным способом.
Оптимизированы следующие части кода немедленного рендеринга:
- Сущности
- Блочные сущности
- Частицы
- Отрисовка текста
- GUI/HUD
- Немедленный рендеринг других модов
Также есть точечные оптимизации, где ванильный код отрисовки изменён для более быстрой работы.
Следующие части кода отрисовки оптимизированы с помощью более эффективной реализации:
- Отрисовка карт
- Отрисовка HUD
- Отрисовка текста
Производительность
Вот несколько сравнений производительности в областях, которые мод оптимизирует особенно хорошо:
Если в таблице указаны другие моды, это значит, что этот мод также оптимизирует эту часть игры.
Тестовое железо: Ryzen 5 1600, 32GB DDR4, GTX 1060
Значения FPS брались из сторонних инструментов (в данном случае MSI Afterburner) и усреднялись за пару секунд.
Если решите проверить сами, учтите, что ImmediatelyFast может повысить FPS только в сценарии, где узким местом является ваш CPU (скорее всего так и есть, если ваша GPU не древняя или вы не используете очень тяжёлые шейдеры). Более медленные CPU получат больше пользы от этого мода, чем действительно быстрые.
Отрисовка сущностей
В целом FPS должен быть примерно в 2 раза выше на загруженных серверах. [Протестировано с IF 1.1.7 на 1.19.3]
Протестировано на spigot-сервере с 1000 коров в коробке 3x3 на экране.
| Другие моды | Без ImmediatelyFast | С ImmediatelyFast | Улучшение |
|---|---|---|---|
| Нет | 16 FPS | 60 FPS | 3.75x |
| Sodium | 21 FPS | 82 FPS | 3.90x |
| Iris и Sodium | 60 FPS | 76 FPS | 1.27x |
Отрисовка карт
В целом FPS должен быть примерно в 5 раз выше, когда на экране много карт. [Протестировано с IF 1.1.1 на 1.19.3]
Протестировано на fabric-сервере с модом Image2Map и примерно 930 картами на экране.
| Другие моды | Без ImmediatelyFast | С ImmediatelyFast | Улучшение |
|---|---|---|---|
| Нет | 50 FPS | 310 FPS | 6.20x |
| Sodium | 47 FPS | 320 FPS | 6.81x |
Отрисовка HUD
В целом FPS должен быть примерно на 40% выше почти во всех сценариях. [Протестировано с IF 1.1.7 на 1.19.3]
Протестировано на spigot-сервере с разными элементами HUD на экране (табло, оверлей эффектов зелий, боссбары, заполненный чат, дополнительные сердца, полная панель быстрого доступа).
| Другие моды | Без ImmediatelyFast | С ImmediatelyFast | Улучшение |
|---|---|---|---|
| Нет | 250 FPS | 380 FPS | 1.52x |
| Sodium | 335 FPS | 630 FPS | 1.88x |
| Exordium и Sodium | 740 FPS | 840 FPS | 1.14x |
Рендеринг текста
Обычно FPS должен быть примерно в 2 раза выше, когда вокруг вас много табличек или голограмм. [Протестировано с IF 1.1.7 на 1.19.3]
Протестировано на spigot-сервере с 200 табличками (заполненными текстом) на экране.
| Другие моды | Без ImmediatelyFast | С ImmediatelyFast | Улучшение |
|---|---|---|---|
| Нет | 70 FPS | 125 FPS | 1.79x |
| Sodium | 110 FPS | 300 FPS | 2.73x |
Рендеринг блочных сущностей
Обычно FPS должен быть примерно на 20% выше, когда вокруг вас много блочных сущностей. [Протестировано с IF 1.1.7 на 1.19.3]
Протестировано на spigot-сервере с 400 сундуками на экране.
| Другие моды | Без ImmediatelyFast | С ImmediatelyFast | Улучшение |
|---|---|---|---|
| Нет | 170 FPS | 205 FPS | 1.20x |
| Sodium | 315 FPS | 410 FPS | 1.30x |
Совместимость
ImmediatelyFast устроен так, чтобы как можно меньше вмешиваться в работу других модов. Он должен нормально работать с большинством, если не со всеми, модами и сборками.
Известные несовместимости:
- OptiFabric / OptiFine
- Большинство закрытых «клиентов», таких как LunarClient и LabyMod
Если вы столкнётесь с какими-либо проблемами, пожалуйста, сообщите о них в Issue Tracker.
Конфиг
У 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 здесь.
Партнёры
YourKit поддерживает проекты с открытым исходным кодом с помощью инновационных и интеллектуальных инструментов для мониторинга и профилирования Java- и .NET-приложений. YourKit — создатель YourKit Java Profiler, YourKit .NET Profiler и YourKit YouMonitor.
Спасибо sydist за создание логотипа!
Частые вопросы
Как установить ImmediatelyFast?
Установите Fabric под свою версию Minecraft, скачайте ImmediatelyFast под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть ImmediatelyFast?
У ImmediatelyFast есть сборки для Minecraft 1.18.2–26.3.
Нужен ли ImmediatelyFast на сервере?
Ставится только в игру; на сервер ставить не нужно
