
Охота на фризы: Epic призывает разработчиков UE5 уничтожить подлагивания раз и навсегда
На прошедшем Unreal Fest 2025 в Орландо старший инженер Unreal Engine Ари Арнбьёрнссон устроил настоящее шоу — в костюме охотника на ведьм он призвал разработчиков к массовой «Охоте на фризы». Его цель: избавиться от подлагиваний и микрофризов, давно ставших проклятием ПК-игроков на Unreal Engine.
Арнбьёрнссон перечислил семь главных причин фризов. Первая — стриминг уровней. Художники и левел-дизайнеры часто закидывают на карту тонны отдельных объектов, вроде кружек, книг и стульев, что может убить производительность. Он посоветовал использовать инстансированные меши (ISM/HISM) и объединять объекты через Packed Level Actors. В UE5.5 готовится инструмент Cell Transformers, который сможет автоматически конвертировать обычные меши в ISM во время выполнения.
Вторая причина — физика. Многие надеялись, что с Nanite можно закидывать любые сложные модели без последствий, но это миф. Простая коллизия (шары, капсулы, кубы) работает куда эффективнее. Объекты вдали, с которыми нельзя взаимодействовать, вообще стоит отключать. Async Physics и отладчик Chaos помогут в анализе, но пока всё это — экспериментально.
Третья проблема — спавн акторов. Особенно это касается персонажей с кучей компонентов. Нужно ограничивать количество спавнов за кадр, а также инициализировать тяжёлые элементы асинхронно. Пуллинг акторов (повторное использование без удаления) — ещё один способ избежать лагов. Универсального решения от Epic пока нет, поэтому студиям придётся делать свои системы.
Четвёртый пункт — компиляция PSO (Pipeline State Object). На ПК нельзя заранее скомпилировать все шейдеры, поэтому приходится делать это на лету, что вызывает лаги. UE5.3 добавил PSO Precache, но без грамотной стратегии от самих разработчиков этого недостаточно. Арнбьёрнссон даже создал плагин PSO Cache Buster для анализа проблем.
Пятый враг — сборщик мусора. Слишком много неиспользуемых UObject’ов — и вот уже GC тормозит игру. Нужно следить за их числом и грамотно планировать сборку. В Epic тестируют Incremental Reachability Analysis, который делит GC на части и распределяет по кадрам.
Шестая причина — синхронная загрузка ассетов. Если игра ждёт загрузки файла, она зависает. Это запрещено. В UE5.4/5.5 появилась частичная очистка очереди асинхронных задач — спасение, если кто-то всё-таки допустил ошибку.
Седьмое — синие принты и контент. Слишком много тиков, таймеров и прочего в визуальных скриптах — прямая дорога к фризам. Лучше упростить логику и отключать всё, что не нужно. Для анализа помогает инструмент Unreal Insights, который постоянно улучшается.
В завершение Арнбьёрнссон напомнил: не надейтесь, что новое железо всё исправит. Оптимизация — это не ушедшее искусство, а базовый навык. Учитесь, фейкуйте умно и не злоупотребляйте технологиями.
Unreal Engine — мощный инструмент, но только в руках тех, кто умеет им пользоваться. Фризы — это не приговор. Это вызов.
2 комментария
Unreal стал слишком ‘дружелюбным’ к новичкам, вот и получаем фризы при каждом повороте 😑
UE5 — это боль. Даже на 7950X3D с 4090 всё равно фризы. Ну камон 🤬