UE 5.7: Nanite Foliage прекрасен, а статтеры всё там же. Как вы реально боретесь с PSO?
Рейтинг: 68.5% · 14 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
UE 5.7: Nanite Foliage прекрасен, а статтеры всё там же. Как вы реально боретесь с PSO?
Перетащили проект с 5.4 на 5.7 — хотели Nanite Foliage и обновлённый рендер. Картинка действительно стала дороже, лес из сканированных ассетов больше не съедает кадр... но статтеры при первом прохождении уровня никуда не делись: фризы по 80–150 мс ровно в момент компиляции новых PSO, на DX12 особенно злые.
PSO precaching в 5.7 включён из коробки и большую часть ловит, но у нас стабильно мимо кэша пролетают material instance, создаваемые в рантайме, и часть Niagara-эффектов. По статистике Steam у нашей аудитории (в основном СНГ) до сих пор жирный хвост на 1650/1660 и RX 580 — на них компиляция шейдеров самая долгая, и именно эти игроки пишут гневные отзывы про «лагает».
Кто как борется в 2026-м? Bundled cache через прогоны с -logPSO ещё актуален, или precaching уже должен закрывать всё, а у нас просто руки кривые?
PSO precaching в 5.7 включён из коробки и большую часть ловит, но у нас стабильно мимо кэша пролетают material instance, создаваемые в рантайме, и часть Niagara-эффектов. По статистике Steam у нашей аудитории (в основном СНГ) до сих пор жирный хвост на 1650/1660 и RX 580 — на них компиляция шейдеров самая долгая, и именно эти игроки пишут гневные отзывы про «лагает».
Кто как борется в 2026-м? Bundled cache через прогоны с -logPSO ещё актуален, или precaching уже должен закрывать всё, а у нас просто руки кривые?
✔ Лучший ответ сформирован автоматически — misha12
Немного занудства, чтобы понимать, с чем боремся. PSO — это весь стейт пайплайна целиком: шейдеры, формат вершин, блендинг, рендер-таргеты. На DX12 драйвер компилирует это в машинный код GPU в момент первого использования, и это принципиально дорого — никакой движок не сделает компиляцию бесплатной, можно только сдвинуть её момент. Precaching в 5.7 как раз сдвигает: при загрузке ассета заранее ко…
Re: UE 5.7: Nanite Foliage прекрасен, а статтеры всё там же. Как вы реально боретесь с PSO?
Precaching в 5.6–5.7 реально стал лучше: у нас хитчи за среднюю сессию упали с ~40 до 3–5 после апгрейда, вообще без ручной работы. Что осталось — ровно то, что вы назвали: рантаймовые MID и Niagara со спавном по событию. Для них собираем старый добрый bundled cache: CI-бот прогоняет уровни на четырёх пресетах графики, складывает pipeline cache, кладём в патч. Закрывает процентов девяносто остатка.
И да, экран «идёт компиляция шейдеров» при первом запуске. Стыдно? Стыдно. Зато после него отзывов про фризы почти нет.
И да, экран «идёт компиляция шейдеров» при первом запуске. Стыдно? Стыдно. Зато после него отзывов про фризы почти нет.
Re: UE 5.7: Nanite Foliage прекрасен, а статтеры всё там же. Как вы реально боретесь с PSO?
✔ Лучший ответ — сформирован автоматически
Немного занудства, чтобы понимать, с чем боремся. PSO — это весь стейт пайплайна целиком: шейдеры, формат вершин, блендинг, рендер-таргеты. На DX12 драйвер компилирует это в машинный код GPU в момент первого использования, и это принципиально дорого — никакой движок не сделает компиляцию бесплатной, можно только сдвинуть её момент.
Precaching в 5.7 как раз сдвигает: при загрузке ассета заранее компилирует вероятные комбинации. Цена вопроса — у нас на открытом уровне это около 11 тысяч PSO и плюс 15–20 секунд к первой загрузке на каком-нибудь Ryzen 3600. Маскируем загрузочным экраном и не отдаём управление, пока очередь компиляции не опустеет.
Практические ручки: r.ShaderPipelineCache.Enabled и батчинг компиляции на загрузке вместо размазывания по геймплею; рантаймовые материалы по возможности заменить заранее созданными вариантами — тогда прекеш их видит. Niagara — отдельная боль, часть эффектов мы просто прогреваем невидимым спавном на загрузке. Колхоз, но работает.
Precaching в 5.7 как раз сдвигает: при загрузке ассета заранее компилирует вероятные комбинации. Цена вопроса — у нас на открытом уровне это около 11 тысяч PSO и плюс 15–20 секунд к первой загрузке на каком-нибудь Ryzen 3600. Маскируем загрузочным экраном и не отдаём управление, пока очередь компиляции не опустеет.
Практические ручки: r.ShaderPipelineCache.Enabled и батчинг компиляции на загрузке вместо размазывания по геймплею; рантаймовые материалы по возможности заменить заранее созданными вариантами — тогда прекеш их видит. Niagara — отдельная боль, часть эффектов мы просто прогреваем невидимым спавном на загрузке. Колхоз, но работает.
Re: UE 5.7: Nanite Foliage прекрасен, а статтеры всё там же. Как вы реально боретесь с PSO?
Поддержу про аудиторию: у нас треть игроков на железе уровня 1660 и ниже, для них первая компиляция — три-четыре минуты. Сделали честный прогресс-бар с процентами и подсказками по лору вместо бесконечного спиннера — жалобы в отзывах исчезли как класс. Игроки готовы ждать, если видят, что процесс идёт и что это один раз.
Re: UE 5.7: Nanite Foliage прекрасен, а статтеры всё там же. Как вы реально боретесь с PSO?
А Megalights в 5.7 кто-нибудь в прод тащил? На демке четвёртого Ведьмака эпики показывали 60 fps на базовой PS5, но у них в соавторах армия инженеров CDPR. У нас на сцене с сотней источников света выигрыш есть, но на старых картах без аппаратного RT всё грустно — так и держим два пути освещения, а это двойное тестирование каждого патча.
Поделиться темой:
✈ Telegram
VK
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость