Мастер докрашивает миниатюрный каменный мост, пока фигурка путешественника ждёт на берегу.
Статья

Компиляция шейдеров: почему долго и что делать при каждом запуске

7 мин чтения
348

Запустили игру, а вместо меню — «Компиляция шейдеров» или Building Shaders. Проценты движутся медленно, вентиляторы стали слышнее, и непонятно: ждать или перезапускать? Если подготовка продвигается и ошибки нет, дайте ей закончиться. Повторное появление этого этапа после обновления драйвера само по себе не означает поломку.

Другая ситуация — игра каждый раз заново проходит долгую подготовку без понятной причины либо вылетает в одном и том же месте. Здесь полезнее сравнить обстоятельства двух запусков, чем по кругу удалять кэш. Разберём эти случаи отдельно.

Что такое компиляция шейдеров

Шейдеры — программы, участвующие в расчёте изображения: например, вида поверхностей и освещения. Компиляция подготавливает графические инструкции к выполнению. Под общей надписью на экране игра может объединять несколько работ по подготовке графики; по одному слову Shaders нельзя определить, что именно сейчас происходит внутри движка.

Для игрока важна простая разница: часть работы можно выполнить до начала игры, а часть — при появлении нужной сцены. Во втором случае подготовка способна задержать очередной кадр. В документации Unreal Engine описаны такие краткие рывки и предварительное кэширование PSO, которое уменьшает объём работы во время игры. Реализация зависит от разработчика: один ползунок Windows не заменяет подготовку, заложенную в конкретную игру.

Поэтому долгое ожидание до меню и низкий FPS после загрузки — разные задачи. Если игра ещё не закончила подготовку, выбирать режим DLSS или покупать более мощную видеокарту в качестве первого «исправления» рано.

Сначала определите, что происходит

Что видноКак действовать
Процент меняется, сообщения об ошибке нетДождаться окончания и проверить следующий запуск в тех же условиях
Каждый запуск снова долго подготавливаетсяСопоставить версии игры и драйвера, проверку файлов и очистку кэша между запусками
Вылет, код ошибки или повторяемая остановка на одном местеЗаписать точный симптом и перейти к инструкции поддержки этой игры

Неподвижный процент сам по себе ещё не доказывает зависание. Индикатор может обновляться неравномерно. Но и шум вентилятора не доказывает, что работа успешно завершится: оценивайте изменение прогресса и повторяемость результата, а не один косвенный признак.

Почему после обновления всё начинается заново

Чтобы не повторять выполненную работу, используются сохранённые результаты — кэш. Это не сохранения вашего персонажа. Удаление кэша убирает подготовленные графические данные, которые затем может понадобиться создать снова.

NVIDIA прямо указывает, что установка нового драйвера удаляет кэш, а первый запуск после этого может сопровождаться рывками. Поэтому по одной первой сессии после обновления нельзя уверенно заключить, что новый драйвер стал хуже. Сначала завершите подготовку, затем сравните повторный запуск.

У отдельных игр есть и другие причины пересборки. Для The Last of Us Part I Naughty Dog перечисляет смену оборудования, обновление драйвера, переустановку игры и повторную проверку файлов через Steam. Это перечень для конкретной игры, а не правило, что любая проверка файлов в любой игре обязательно сотрёт шейдеры.

Схема: подготовка графических инструкций, сохранение результата в кэше и повторное использование; после удаления нужна новая подготовка.
Упрощённая схема принципа кэша. В конкретной игре этапы подготовки могут различаться.

Долгая компиляция: когда ждать, а когда разбираться

Универсального предела «через пять минут точно зависло» нет. Не сравнивайте своё ожидание с роликом, в котором отличаются версия игры, компьютер и состояние кэша. Для начала соберите наблюдения о собственном запуске:

  1. Зафиксируйте исходное состояние. Какая игра и её версия, первый ли это запуск, менялся ли драйвер, выполнялась ли проверка файлов. Запишите время начала и текущий процент, если он отображается.
  2. Посмотрите, меняется ли прогресс. Если меняется, оставьте подготовку работать. Не запускайте несколько копий игры и не перезагружайте компьютер только ради неподвижной цифры.
  3. После завершения выйдите из игры обычным способом. Следующий запуск сравнивайте без очистки кэша, переустановки и изменения настроек между попытками. Иначе вы сами измените условия проверки.
  4. Если повторяется сбой, сохраните его признаки. Нужны точное сообщение, момент остановки, версия драйвера и сведения об изменениях перед проблемой. С этим откройте раздел поддержки вашей игры.

Если приложение действительно перестало отвечать и его приходится принудительно закрыть, зафиксируйте это как неудачную попытку. Не считайте следующий запуск проверкой «после успешно завершённой компиляции» — предыдущая подготовка могла не закончиться. При вылете с кодом проверяйте сам код: например, для ошибки 0xc000007b при запуске игры нужен отдельный разбор, а не увеличение времени ожидания.

Если шейдеры компилируются при каждом запуске

Сначала проверьте историю изменений. Не обновлялся ли драйвер между попытками? Не запускалась ли очистка временных графических данных? Не повторяли ли вы проверку файлов после каждого запуска? Уберите из сравнения эти действия и посмотрите, что происходит после одного полностью завершённого цикла.

Само наличие экрана подготовки ещё не сообщает, что игра каждый раз выполняет одинаковый объём работы. Запишите, сколько занял этап и удалось ли дойти до меню. Короткое повторное появление надписи и длительная остановка — разные наблюдения, даже если текст на экране одинаковый.

Если есть основания заниматься драйвером, используйте отдельную инструкцию по обновлению драйвера NVIDIA в Windows 11. Переустанавливать его после каждой попытки здесь бессмысленно: вы меняете условия и можете снова запускать подготовку.

Для S.T.A.L.K.E.R. 2 есть официальная страница о долгой компиляции. Она направляет владельцев NVIDIA к описанию Shader Cache Size, а AMD — к документации AMD. Пользуйтесь инструкцией для своей видеокарты и текущей версии ПО. Общий совет «поставить всем 10 ГБ» из этого не следует.

В документации NVIDIA размер кэша — лимит места на диске. При нехватке лимита старые записи вытесняются; слишком маленький лимит может приводить к повторной работе. Но ни увеличение лимита, ни вариант «Без ограничений» не гарантируют исправление любого зависания. Здесь мы не меняем параметры вслепую: сначала нужен повторяемый симптом.

Нужно ли очищать кэш или пропускать подготовку

Не очищайте кэш перед каждой игрой «для ускорения». Так можно удалить именно те результаты, ради которых подготовку уже выполняли. Очистка уместна как конкретный шаг диагностики, когда её рекомендует поддержка для вашего симптома.

Пример такого случая есть у Epic Games для Fortnite в DirectX 12: клиент иногда повторно компилирует шейдеры без остановки, вызывая сильные рывки. В этой инструкции предлагается очистка кэша. При этом Epic предупреждает, что первый матч после неё тоже может дёргаться из-за новой компиляции. Это решение отдельной проблемы Fortnite; переносить список удаляемых папок на все игры не стоит.

С пропуском подготовки похожая логика. Исчезнувший экран ожидания не доказывает, что исчезла сама работа. Не начинайте с модов, отключающих компиляцию, и случайных команд для файлов конфигурации. Если игра предлагает штатный пропуск, прочитайте её предупреждение: решение зависит от реализации. Для первого контрольного запуска полезнее дождаться полного завершения.

Условное сравнение двух запусков: после обновления 8 минут и 40 секунд, без изменений 8 и 8 минут.
Условные числа из примеров ниже. Это иллюстрация способа сравнения, не измерения и не обещание ускорения.

Два примера: одинаковая надпись, разные выводы

Следующие времена условные: это пример записи наблюдений, не замеры Agent PC и не норматив для вашей игры.

После обновления драйвера

Предположим, первая подготовка заняла 8 минут и завершилась. Вы дошли до меню, вышли обычным способом, ничего не очищали. Второй запуск — 40 секунд до меню. Вывод: повторный запуск заметно отличается от первого. Оставьте кэш в покое и проверьте обычную игровую сессию. Оснований переустанавливать драйвер только из-за первых восьми минут нет.

Без изменений между запусками

Другой условный случай: две завершённые подготовки заняли по 8 минут, а третья остановилась на том же проценте, где раньше наблюдалась ошибка. Игра и драйвер не обновлялись, очистку вы не запускали. Это уже повод собрать журнал попыток и обратиться к поддержке игры. Он не доказывает неисправность видеокарты: сначала нужно выяснить, почему результат подготовки не помогает или на каком шаге возникает сбой.

Для обращения достаточно начать с названия и версии игры, CPU и GPU, версии драйвера, сообщения об ошибке и короткой последовательности попыток. Добавьте, что делали между ними. Такая запись полезнее формулировки «всё зависло» и помогает не повторять уже выполненные действия.

Рабочий критерий простой: подготовка завершилась, повторный запуск проверен в тех же условиях, а игра доходит до меню. Если после этого остаются рывки во время игры, разбирайте их отдельно — завершение компиляции не исключает другие причины задержек.

Не знаете, какой ПК взять?

Ответьте на несколько вопросов — получите готовую сборку с ценой.

Поделиться:

Сборки, которые могут подойти

Подбор по цене: От 150.000

От 150.000 #1

i5 14600KF / RTX 5060 Ti 16 GB
188 307 ₽
Мастер на связи — бесплатно подскажет, можно ли сделать лучше
Изменить конфигурацию
Видеокарта RTX 5060 Ti 16Gb Palit WHITE OC
Процессор Intel Core i5-14600KF - 14 Ядер 20 потоков
Материнская плата MSI B760M GAMING PLUS WIFI
Оперативная память DDR5, Kingston 32 GB (16*2 ) 5200 Mhz
SSD накопитель SSD 512 GB XPG SX8200 Pro
Блок питания Deepcool / GamerStorm 600W, PF600X, 80 Bronze
Корпус Ocypus Gaммa C72 WH ARGB
Охлаждение CЖО Deepcool LM360 WH с экраном для вывода изо , 3 секции

От 150.000 #2

Ryzen 7 7800x3D / RTX 5060 Ti 16 GB
189 234 ₽
Мастер на связи — бесплатно подскажет, можно ли сделать лучше
Изменить конфигурацию
Видеокарта RTX 5060 Ti 16 Gb Gigabyte EAGLE OC ICE
Процессор AMD Ryzen 7 7800X3D - 8 Ядер / 16 Потоков
Материнская плата MSI PRO B850M-G
Оперативная память DDR5, Kingston 32 GB (16*2 ) 5200 Mhz
SSD накопитель SSD 512 GB XPG SX8200 Pro
Блок питания Deepcool / GamerStorm 600W, PF600X, 80 Bronze
Корпус Ocypus Gaммa C72 WH ARGB
Охлаждение Кулер Deepcool WH AK400 Digital SE - экран с температурой

От 150.000 #3

Ryzen 7 7800x3D / RTX 5070
190 620 ₽
Мастер на связи — бесплатно подскажет, можно ли сделать лучше
Изменить конфигурацию
Видеокарта RTX 5070 12 GB Palit GAMINGPRO-S OC
Процессор AMD Ryzen 7 7800X3D - 8 Ядер / 16 Потоков
Материнская плата ASRock B850M PRO-A
Оперативная память DDR5, Kingston 16 GB DDR5 5200 Mhz
SSD накопитель SSD 512 GB XPG SX8200 Pro
Блок питания Deepcool / GamerStorm 850W, PQ850G, 80 Gold + GEN 5
Корпус Lian LI FLOW / 7 ARGB
Охлаждение Deepcool LE360 PRO - 3 секции
×

Спросить мастера про сборку

Напишите нам в удобный канал — мастер проверит конфигурацию, подскажет, где можно сэкономить, и предложит 1–2 варианта под ваш бюджет.

5 500+ клиентов 2 года гарантии Сборка 1–4 дня
Контакты

Получить подбор от мастера

Напишите нам в удобный канал — мастер подберёт ПК под ваши задачи, проверит совместимость и предложит 1–2 варианта без лишней переплаты.
5 500+ клиентов Рейтинг 5.0 Гарантия 2 года Сборка 1–4 дня

Адрес

Москва, ул. Золоторожский Вал, 11, стр. 22

(9 минут пешком от метро Авиамоторная)