что делать если в майнкрафте блоки ломаются с задержкой
Задержка в майнкрафте
Это называется «низкий TPS». TPS (ticks per second) – количество игровых тактов (время), которое успевает обработать компьютер за секунду. Нормальное значение – 20.0 tps. При нормальном значении игровое время идёт параллельно с реальным. Если тпс выше нормы, то время в игре ускорено по отношению к реальному, а если ниже – наоборот, замедлено, как в вашем случае.
Причин падения tps много, но основные из них – слабый процессор и плохая оптимизация расчётов. Конечно, можно обновить процессор, но это недешёвое удовольствие. А можно оптимизировать игровые вычисления. Именно это мы и будем делать.
Для того, чтобы максимально оптимизировать игру, нужно установить Fabric (желательно последней версии для minecraft 1.16.5) и поставить 4 мода-оптимизатора:
Sodium (заменяет графический движок на авторский от разработчика мода. Раз в 5 мощнее ванильного)
Lithium (оптимизирует вычисления внутреннего сервера, вдвое снижает нагрузку на ЦП во время игры)
SmoothBoot (оптимизирует распределение ресурсов ЦП во время запуска игры. Снижает время запуска примерно вдвое и на ≈30% нагрузку на ЦП)
Phosphor (оптимизирует алгоритмы расчёта освещения. Невероятно эффективен в паре с модом LambDynamicLights — динамическим освещением)
Все эти моды позволяют работать игре стабильно даже на слабых ПК, и выдавать хороший fps. Для примера, на моём ноутбуке с GTX 1050 на прорисовке в 32 чанка ванильный Майнкрафт выдавал 5-15 fps. Когда установил эти моды (рекомендую присесть) — 180-210 fps. Сбить fps до 60 кадров удалось только на прорисовке в 128 (!) чанков. Разница очевидна и не требует каких-либо комментариев. Отмечу лишь, что можно ещё поиграться с настройками самой Java, но это если не устроит результат с модами. Подробности можно прочитать в этой статье:
https://www.reddit.com/r/Minecraft/comments/hflrbh/i_made_a_java_1161_performance_package_for_those/
P.S. Если вам не хватает зума, как в OptiFine, можно установить мод WI Zoom, который гораздо функциональнее, чем вшитая в optifine функция. А про OptiFine можно забыть. Он уже почти не оптимизирует графику.
И да, если будете ставить моды (на Fabric действительно много полезных инструментов), то в некоторых случаях понадобится установка Fabric API. Не рекомендую использовать последнюю версию, она сильно грузит ЦП. Последняя стабильная – Fabric API 0.29.4
Появились фризы в Minecraft. Читайте описание.
Резкие кратковременные пролаги при размещении/ломании блоков напрямую связаны с проблемами в скорости работы алгоритмов расчёта освещения – так называемого «светового движка».
͟К͟а͟к͟ ͟э͟т͟о͟ ͟р͟а͟б͟о͟т͟а͟е͟т͟?
Дело в том, что при размещении блока, прежде чем сделать его видимым, Майнкрафт должен просчитать освещение для него, основываясь на окружающих условиях света, а также обновить освещение рядом стоящих блоков. Пока процесс расчёта не завершён, кадр не обновляется. Отсюда возникают характерные пролаги, если расчёт света занимает много времени.
Примечательно, что довольно тяжёлым в этих расчётах является расчёт освещения неба. Если упростить, то каждый раз при изменении блоков Майнкрафт запускает условный «луч» с 272 высоты вертикально вниз (на 16 блоков выше максимальной высоты мира), рассчитывая освещение для каждого блока, рядом с которым он пройдёт. Чем длиннее путь луча, тем дольше по времени происходят вычисления. Если преградить ему путь, заслонив большой горизонтальной платформой на максимальной высоте территорию, где размещается/разрушается блок (поместив её в полную тень), то можно будет заметить, что пролаги прекратятся. А единовременное размещение такой платформы (например, командой /fill
15 minecraft:stone), напротив, вызовет сильнейшее зависание.
Довольно подробно об алгоритмах работы игрового освещения в Майнкрафте можно прочитать здесь.
͟Ч͟т͟о͟ ͟с͟ ͟э͟т͟и͟м͟ ͟д͟е͟л͟а͟т͟ь͟?
Как мы выяснили, причиной является слишком долгий процесс расчёта освещения. Увы, проблема находится на уровне кода игры, и сами мы (игроки) ничего с этим сделать не можем. К счастью, сообществом модмейкеров сейчас активно разрабатывается сразу два более оптимизированных алгоритма освещения, входящих в состав модов Starlight и Phosphor. Достаточно просто установить один из них, используя загрузчик Fabric (как установить?), чтобы устранить проблему. В сравнении с ванильным световым движком они позволяют получить ощутимый прирост в скорости вычислений, который можно наблюдать на этих графиках:
Общая производительность Phosphor:
Сравнение скоростей генерации чанков с использованием различных движков:
Сравнение скоростей расчёта света для небесных «лучей»:
Сравнение скоростей расчёта света от блока-источника:
Из этих диаграмм видно, что самым эффективным световым движком является Starlight. Однако он до сих пор находится в бета-тестировании и доступен для скачивания только со страницы разработчика на GitHub.