Статтеры компиляции шейдеров: почему новые игры дёргаются в первый час и как это чинить
Статтеры компиляции шейдеров — рывки длительностью от десятков до сотен миллисекунд, возникающие, когда игра на DirectX 12 или Vulkan впервые встречает новую комбинацию материала и эффекта и вынуждена скомпилировать для неё шейдер (PSO) прямо во время кадра. Это самая частая причина «дёрганой» картинки при высоком среднем FPS в играх на Unreal Engine 4/5, и она лечится предварительной компиляцией при запуске и кэшем шейдеров драйвера.
shader compilation stutter · компиляция шейдеров · PSO stutter · shader cache · прекомпиляция шейдеров
Ключевые цифры
Из базы FPSHQ, срез 15.10.2026
Откуда берутся рывки
Шейдеры поставляются с игрой в промежуточном виде (DXIL/SPIR-V), а в машинный код конкретной видеокарты их переводит драйвер. В DirectX 11 драйвер делал это в фоновом потоке почти незаметно. В DX12 и Vulkan ответственность перешла к движку: он должен заранее создать Pipeline State Objects для всех сочетаний шейдеров, состояний смешивания и форматов. Если движок не знает заранее, какие сочетания встретятся, он компилирует их при первом появлении объекта — и кадр ждёт 50–300 мс.
Unreal Engine 4 долгое время не умел собирать полный список PSO, поэтому игры на нём (Jedi Fallen Order, Gotham Knights, многие проекты 2021–2023 годов) стали символом проблемы. В UE 5.1–5.3 Epic добавила PSO precaching и автоматический сбор, но правильное применение остаётся за разработчиком.
Как отличить от других статтеров
Признаки: рывки происходят при первом появлении нового эффекта, оружия, локации и исчезают при повторном прохождении того же места; после переустановки драйвера или обновления игры всё начинается заново (кэш сброшен); на графике времени кадра видны одиночные пики на фоне ровной линии.
Статтеры подгрузки с диска повторяются в тех же точках даже при втором прохождении; нехватка видеопамяти даёт регулярные пики при повороте камеры; ограничение процессора — постоянно «рваную» линию, а не одиночные пики.
Что делать
Если игра предлагает «компиляцию шейдеров» при запуске — дождитесь конца, даже если это 5–15 минут (Call of Duty, The Last of Us Part I, Horizon). В Steam держите включённой предварительную загрузку шейдеров (для Vulkan/Linux). Не чистите кэш шейдеров драйвера без необходимости; после обновления драйвера первые минуты в любой игре снова будут с рывками.
На ПК с мощным процессором компиляция проходит быстрее и рывки короче, поэтому для UE5-игр имеет смысл ядерный процессор с высокой частотой. Для DX12-игр без прекомпиляции помогает запуск под DX11, если он есть, — там кэш шейдеров ведёт драйвер.
На вашем ПК
Введите видеокарту (и процессор) — посчитаем эффект «Статтеры компиляции шейдеров» по единой модели FPSHQ на примере Cyberpunk 2077.
Сохранить ПК в кабинете · Определить железо приложением · Оценка единой модели FPSHQ, не замер.
Где это применить на FPSHQ
Обсуждения на форуме
Пока нет тем с этим термином — спросите первым.
Что такое Статтеры компиляции шейдеров?
Статтеры компиляции шейдеров — рывки длительностью от десятков до сотен миллисекунд, возникающие, когда игра на DirectX 12 или Vulkan впервые встречает новую комбинацию материала и эффекта и вынуждена скомпилировать для неё шейдер (PSO) прямо во время кадра. Это самая частая причина «дёрганой» картинки при высоком среднем FPS в играх на Unreal Engine 4/5, и она лечится предварительной компиляцией при запуске и кэшем шейдеров драйвера.
- самый частый движок
- Unreal Engine 4 · 40
Частые вопросы
Почему игра дёргается при высоком FPS?
Как убрать статтеры компиляции шейдеров?
Помогает ли мощная видеокарта?
Что такое кэш шейдеров?
Источники
- Epic: PSO Precaching (2024)
- Microsoft: Pipeline state in D3D12 (2024)
Команда FPSHQ · методика · методика расчёта · Обновлено
✏️ Нашли неточность? Предложите правку
Скачайте приложение FPSHQ — оно определит железо и покажет FPS в ваших играх.
💻 Приложение для Windows