Мод использует асинхронную трассировку путей, чтобы не отрисовывать блоки и сущности, скрытые за стенами и потолками, и тем самым снизить нагрузку на рендеринг.
0 скачиваний0 просмотров
Minecraft не отрисовывает объекты позади игрока, так почему же он отрисовывает всё, что игрок не видит из-за стен или потолка?
Этот мод добавляет асинхронную трассировку путей, чтобы эффективно определять, что на самом деле видно игроку. Используя другие доступные ядра CPU, мод в реальном времени вычисляет видимость по линии обзора и исключает лишние вызовы отрисовки и обработку для скрытых блок-сущностей и сущностей.
Это может значительно повысить частоту кадров в зависимости от количества сущностей и положения в мире.
Асинхронная трассировка путей
Использует свободные потоки CPU для расчёта видимости
Работает параллельно с основным игровым потоком, не блокируя его (каждые несколько тиков необходимые данные собираются в основном потоке)
Обновляет данные видимости в реальном времени, сводя к минимуму появление объектов в поле зрения
Оптимизация тиков сущностей
Снижает влияние на клиент со стороны невидимых сущностей
Полностью настраивается и совместим с большинством модов
Не влияет на серверную симуляцию, фермы или поведение мобов
Полная настройка
Все функции мода можно включать и выключать в меню настроек
Белый список сущностей и блочных сущностей, которые не должны подвергаться отсечению видимости или тиков
При использовании быстрой графики или пользовательских листьев есть возможность считать листья твёрдыми блоками для Entity Culling. Это может помочь повысить производительность в лесных зонах
Minecraft
Loader
Status
Version
Note
1.19.4+
Fabric/Forge/NeoForge
Supported
Latest
1.16.5-1.19.2
Fabric/Forge
Not supported
Outdated
Might get new updates at some point
1.12.2/1.8.9
Forge
Not supported
Outdated
Might get new updates at some point
1.7.10
Forge
Not supported
Outdated
No updates planned
b1.7.3
Babric
Not supported
Outdated
No updates planned
Прямое сравнение с EntityCulling и без него. Тестирование проводилось в Scarland (Hermitcraft Season 9) при дальности прорисовки 16 чанков. Вместе с EntityCulling использовались моды Sodium, Iris и ImmediatelyFast; игра работала на Minecraft 1.21.5 с загрузчиком модов Fabric.
Клиентские сущности, которые магические моды часто используют для анимаций, могут вести себя не так, как ожидается. Добавьте соответствующие сущности в белый список через экран настроек для отсечения тиков и/или отсечения сущностей. Если какая-либо сущность ведёт себя неправильно, стоит сообщить её id на Github, чтобы её включили в будущие обновления.
Также нужно добавить в белый список блок-сущности, которые отрисовываются далеко за пределами своих обычных границ. Примеры: ванильный маяк, блоки-шкивы из Create и некоторые блоки Botania.
Нужно ли устанавливать мод на сервер?
Нет. Это полностью клиентский мод, и устанавливать его на сервер не нужно.
Повлияет ли это на поведение мобов или фермы?
Нет. Мод лишь пропускает рендеринг сущностей и не влияет на их логику. Мобы продолжат появляться, двигаться и выбрасывать предметы как обычно. Фермы и другие игровые механики останутся незатронутыми. Функция отсечения тиков полностью ограничена клиентским миром и не влияет на симуляцию на стороне сервера.
У меня в Sodium включена опция "Use Entity Culling" — поможет ли этот мод?
Да! Хотя Sodium выполняет базовые проверки видимости на основе загруженных чанков, этот мод идёт дальше. Он анализирует фактическую прямую видимость и пропускает сущности, которые находятся в видимых чанках, но на самом деле не видны игроку. Это гораздо более агрессивный и точный подход.
Как проверить влияние мода на производительность?
В меню управления можно назначить отладочную клавишу для включения и выключения мода на лету. Это позволяет сравнивать производительность с модом и без него, не перезапуская игру. Также это можно использовать, чтобы проверить, вызваны ли проблемы с видимостью этим модом или другим.
Стоит учесть это при игре на действительно старом компьютере, который уже с трудом запускает Minecraft. Когда процессор уже загружен на максимум, нет свободного времени CPU для вычислений видимости. Вне этого случая мод не должен оказывать негативного влияния на производительность игры, а в худшем случае не даст никакого эффекта, когда просто нечего отсекать.
Числа F3 выглядят неправильно, в чём дело?
Числа на отладочном экране F3 (в поздних версиях скрыты по умолчанию, включаются через F3+F6) собираются внутренне и не обязательно отражают фактические счётчики рендеринга. Например, активные шейдеры приведут к более высоким числам из-за рендеринга теней.Также имейте в виду, что мод старается действовать осторожно, поэтому сущности слишком близко к стенам или потолкам могут отрисовываться сквозь них из-за возможности пересечения.
Почему мод работает на CPU, а не на GPU?
Цель — снизить нагрузку на GPU и уменьшить лишнюю передачу данных между GPU и CPU. Выполнение вычислений, вероятно, увеличило бы нагрузку на GPU и нагрузку на основной (рендер) поток CPU. Но не стесняйтесь доказать обратное и создать PR с реализацией на GPU. Честно говоря, мне не хватает знаний и времени, чтобы реализовать это самому.
Спасибо RoboTricker за его плагин Transport-Pipes, который создал основу для этого мода. Спасибо vicisacat за обратный порт на Babric Beta 1.7.3. Спасибо Pelotrio за обратный порт на Forge 1.7.10. Спасибо замечательным переводчикам и участникам на GitHub! Лицензия: tr7zw Protective License Мод можно свободно использовать в модпаках, размещённых на Modrinth и CurseForge, или в видео на YouTube без запроса разрешения. Не распространяйте JAR-файлы где-либо ещё!