Резкие кратковременные пролаги при размещении/ломании блоков напрямую связаны с проблемами в скорости работы алгоритмов расчёта освещения – так называемого «светового движка».
͟К͟а͟к͟ ͟э͟т͟о͟ ͟р͟а͟б͟о͟т͟а͟е͟т͟?
Дело в том, что при размещении блока, прежде чем сделать его видимым, Майнкрафт должен просчитать освещение для него, основываясь на окружающих условиях света, а также обновить освещение рядом стоящих блоков. Пока процесс расчёта не завершён, кадр не обновляется. Отсюда возникают характерные пролаги, если расчёт света занимает много времени.
Примечательно, что довольно тяжёлым в этих расчётах является расчёт освещения неба. Если упростить, то каждый раз при изменении блоков Майнкрафт запускает условный «луч» с 272 высоты вертикально вниз (на 16 блоков выше максимальной высоты мира), рассчитывая освещение для каждого блока, рядом с которым он пройдёт. Чем длиннее путь луча, тем дольше по времени происходят вычисления. Если преградить ему путь, заслонив большой горизонтальной платформой на максимальной высоте территорию, где размещается/разрушается блок (поместив её в полную тень), то можно будет заметить, что пролаги прекратятся. А единовременное размещение такой платформы (например, командой /fill ~-15 255 ~-15 ~15 255 ~15 minecraft:stone), напротив, вызовет сильнейшее зависание.
Довольно подробно об алгоритмах работы игрового освещения в Майнкрафте можно прочитать
здесь.
͟Ч͟т͟о͟ ͟с͟ ͟э͟т͟и͟м͟ ͟д͟е͟л͟а͟т͟ь͟?
Как мы выяснили, причиной является слишком долгий процесс расчёта освещения. Увы, проблема находится на уровне кода игры, и сами мы (игроки) ничего с этим сделать не можем. К счастью, сообществом модмейкеров сейчас активно разрабатывается сразу два более оптимизированных алгоритма освещения, входящих в состав модов
Starlight и
Phosphor. Достаточно просто установить один из них, используя загрузчик
Fabric (
как установить?), чтобы устранить проблему. В сравнении с ванильным световым движком они позволяют получить ощутимый прирост в скорости вычислений, который можно наблюдать на этих графиках:
Общая производительность Phosphor:
Сравнение скоростей генерации чанков с использованием различных движков:
Сравнение скоростей расчёта света для небесных «лучей»:
Сравнение скоростей расчёта света от блока-источника:
Из этих диаграмм видно, что самым эффективным световым движком является Starlight. Однако он до сих пор находится в бета-тестировании и доступен для скачивания только со
страницы разработчика на GitHub.
ломаю блок = фриз, отступаю пару блоков, ломаю = фраза нет. То есть фризы в определенных местах на карте. Ранее я фиксил это перезаходом в игру, но появилось такое место на карте, которое так не фиксится. Пробовал выделять больше памяти майну (с двух гgbдо 4, у самого всего 8 gb, но майн жрет где то около 2) Модов нет. Оптифайна тоже нет. В местах где фризит, во время ломания блока фпс падает на 10. (было 144 стало 130 (примерно))
Характеристики пк:
Процессор: i5-9400F
Видеокарта: GTX 1660
Оперативка: 8Gb
Minecraft установлен на C: SSD.