Что именно игра компилирует перед запуском
Видеокарта способна нарисовать лужу, туман, мокрый плащ и убедительное выражение ужаса на лице человека, увидевшего цену новой видеокарты. Но сначала ей приходится объяснить, КАК именно всё это делать.
Итак, вечер. Игра установлена, семья уложена, чай заварен, кот получил официальный запрет ходить по клавиатуре. Вы нажимаете «Запуск» и вместо обещанного приключения получаете надпись «Компиляция шейдеров — 3%». Процессор переходит на взлётный режим, системный блок изображает промышленный фен, 3% задумчиво превращаются в 4%.
В случае S.T.A.L.K.E.R. 2 подготовка или проверка кэша порой повторяется при каждом старте, отчего один игрок предположил, что перед ним не техническая процедура, а изощрённый розыгрыш. Другие готовы ждать десять, шестьдесят и хоть сто минут — лишь бы потом игра не дёргалась в самый важный момент.
И знаете что? Правы именно вторые.
Полоса компиляции — не наказание, а попытка вынести техническое безобразие из игры в предбанник. Альтернатива называется shader compilation stutter, или статтером компиляции шейдеров: вот герой поднимает новый огнемёт, из сопла впервые вырывается пламя — и мир останавливается, чтобы компьютер срочно сообразил, как это пламя рисовать. Премьера спецэффекта проходит в режиме диафильма.
Шейдер — маленькая программа для GPU, то есть графического процессора. Один преобразует вершины модели, другой вычисляет цвет пикселя, третий занимается тенями, отражениями, частицами или постобработкой. Современная игра носит с собой тысячи таких программ, а вместе с вариантами материалов, освещения и настроек — десятки тысяч.
Разработчики пишут шейдеры на удобном человеку языке и обычно сначала превращают их в промежуточный код. Но непосредственно исполнять этот полуфабрикат видеокарта не умеет. Драйвер должен перевести его в машинные инструкции, подходящие конкретной архитектуре GPU.
Вот почему нельзя положить в игру один волшебный файл shader_final_final2 и успокоиться. AMD, NVIDIA и Intel устроены по-разному. Более того, результат может зависеть не только от модели и поколения видеокарты, но и от версии драйвера.
Есть и второй этаж этого сумасшедшего дома — Pipeline State Object, или PSO. Это объект, объединяющий шейдеры и настройки графического конвейера: как смешивать цвета, обрабатывать глубину, отсекать полигоны и так далее. Меняем материал, качество теней или способ сглаживания — получаем новую комбинацию.
Epic приводит прекрасную в своей чудовищности арифметику: Fortnite перед матчем может подготовить около 30 тысяч PSO, использовать примерно 10 тысяч, тогда как полное пространство возможных комбинаций исчисляется миллионами. Перебирать ВСЕ — значит предложить игроку сначала состариться, а затем наконец перейти к обучающей миссии. Поэтому движок пытается заранее определить наиболее вероятные варианты. Иногда угадывает. Иногда из-за угла выходит полупрозрачный мокрый зомби в праздничной шапке — и угадывание заканчивается. Так устроено PSO precaching в Unreal Engine.
Откуда берутся экран компиляции и фризы
У разработчика есть выбор из двух сортов неудовольствия.
Первый: остановить игрока до главного меню и заранее приготовить шейдеры. Скучно, зато честно. Несколько минут вы смотрите на полосу, после чего риск компиляционных фризов снижается.
Второй: пустить клиента немедленно, а новые PSO собирать по требованию. До первой перестрелки всё чудесно. Потом появляется новая граната, особый дым или доселе невиданный лысый гражданин с мокрой кожей — кадру нужен ещё не готовый конвейер, CPU принимается его компилировать, а изображение на мгновение замирает.
Получившийся код складывается в кэш игры или драйвера. Поэтому первый проход обычно дёргается сильнее второго: при повторной встрече с тем же эффектом готовый вариант удаётся взять с диска. Однако даже извлечение PSO из драйверного кэша иногда вызывает небольшой скачок времени кадра, а полного покрытия всех вариантов движок может не добиться.
После патча игра может принести новые или изменённые шейдеры. После обновления драйвера старые машинные инструкции часто становятся непригодны. Кэш отправляется на заслуженную пенсию, вентиляторы снова поют, игрок снова спрашивает, зачем он нажал «Обновить».
Это нормально. Ненормально — когда игра без понятной причины заново выполняет долгую полную компиляцию при каждом запуске. При этом повторяющаяся короткая процедура может быть не пересборкой с нуля, а проверкой и прогревом существующего кэша.
Как распознать шейдерный статтер

Главная улика — ОДНОРАЗОВОСТЬ.
Признаки компиляции шейдера
Впервые разбили стекло — короткий фриз. Второе стекло разлетается плавно. Впервые включили фонарик в тумане — укол на графике времени кадра. Загрузили сохранение и повторили сцену — укол исчез. Снижение разрешения почти не помогает, средний FPS может оставаться великолепным: игра сообщает «140 кадров», но периодически падает со стула.
Чем отличается подгрузка ресурсов
Traversal stutter, или фриз при перемещении по миру, часто привязан к месту: дверному проёму, повороту дороги, границе района. Пересекли невидимую черту — движок начал загружать и распаковывать геометрию, текстуры и объекты. Вернулись и снова пересекли — толчок способен повториться независимо от состояния шейдерного кэша.
Чем отличается нехватка производительности
Если мощности GPU не хватает постоянно, FPS обычно остаётся низким и предсказуемо реагирует на разрешение или графические настройки. Переполненная VRAM — видеопамять — вызывает повторяющиеся провалы, исчезающие текстуры и активное перемещение данных. Ограничение со стороны CPU душит тяжёлые сцены снова и снова. Нарушенный frame pacing, то есть неравномерная выдача кадров, может ощущаться как дёрганье даже при достойном среднем FPS. Шейдерный статтер — это мина, на которую обычно наступают один раз.
Ни один признак не даёт стопроцентной гарантии без измерительных инструментов. Но повтор сцены и график времени кадра помогают хотя бы не лечить накопитель очисткой шейдерного кэша, а шейдеры — покупкой ещё одного накопителя.
Как проблему решают движки, Microsoft, Intel и NVIDIA

Предкомпиляция внутри движка
Первый рубеж обороны находится внутри движка. Unreal Engine рассматривает загруженные модели, материалы и настройки, пытаясь заранее вычислить нужный набор PSO. Godot 4.4 использует предварительную компиляцию конвейеров и ubershaders — универсальные шейдеры, которые позволяют начать отрисовку, пока более специализированные варианты готовятся в фоне. Но динамически загруженный материал или внезапно включённая функция рендеринга всё ещё могут пробить защиту. Сама документация Godot честно называет решение несовершенным.
Microsoft Advanced Shader Delivery
Microsoft Advanced Shader Delivery подходит с другой стороны. Игра и инструменты собирают исходные данные PSO в стандартизированную базу SODB. Затем отделённый от драйвера компилятор производителя GPU обрабатывает её в облаке, создавая PSDB — готовую базу под определённые сочетания железа и драйвера. Xbox Store загружает её вместе с игрой; ваш ПК получает полуфабрикат не «разогреть на сковороде», а СЪЕСТЬ.
С 11 июня 2026 года ASD доступна всем пользователям Xbox PC app, а не только участникам предварительного тестирования. Для заявленной на старте поддержки AMD нужны Windows 11 24H2 или новее, актуальные Gaming Services, совместимая дискретная либо встроенная графика на архитектуре RDNA 1, 2, 3, 3.5 или 4 и драйвер Adrenalin 26.6.1 либо новее. Поддержка остаётся зависимой от конкретной игры, магазина, GPU и драйвера; волшебный дождь пока идёт строго над отдельными кварталами. Текущие требования перечисляет Microsoft, а архитектура SODB — PSDB описана отдельно.
Intel Precompiled Shaders
Intel Precompiled Shaders проделывает сходный номер собственными силами: Intel Graphics Software находит установленную поддерживаемую игру, скачивает пакет под конкретное сочетание GPU и драйвера и кладёт его локально. Но ворота узкие: функция выключена по умолчанию, работает только с выбранными Steam-играми и поддерживаемыми дискретными Arc B-Series либо встроенной графикой Arc в процессорах Core Ultra 2 и 3. Arc A-Series в перечне совместимого оборудования нет. В официальном списке есть Cyberpunk 2077, Hogwarts Legacy, Starfield, S.T.A.L.K.E.R. 2 и ещё несколько тяжеловесов. Актуальные требования и список игр ведёт Intel.
NVIDIA Auto Shader Compilation
NVIDIA Auto Shader Compilation — принципиально ДРУГАЯ птица. Она не умеет взять только что установленную игру и заранее создать неизвестные ей шейдеры. Сначала нужно запустить проект и обычным способом сформировать кэш. Зато после обновления драйвера NVIDIA app может в простое или по кнопке Compile Now пересобрать уже известные шейдеры DirectX 12, чтобы не возвращать эту работу в следующий игровой сеанс.
Функция вышла в апреле 2026 года в статусе бета-версии, выключена по умолчанию и требует драйвер 595.97 или новее. NVIDIA отдельно подчёркивает ограничение первого запуска.
Отзывы пока роскошно человеческие: у одного владельца GeForce Tekken 8 перестал устраивать послепатчевую перекличку шейдеров, у другого Black Ops 7 всё равно что-то компилирует, третий слышит, как компьютер периодически оживает в простое, и требует объяснить, ЧТО ТАМ ПРОИСХОДИТ. Обсуждение пользователей NVIDIA заодно показывает, насколько опасно складывать игровой, системный и драйверный кэши в одну мысленную кастрюлю.
Насколько хорошо готовые шейдеры работают
На бумаге все решения прекрасны. Кульминация, как обычно, наступает при встрече бумаги с Silent Hill.
В независимом тесте Advanced Shader Delivery первоначальная подготовка Forza Horizon 6 сократилась с 48 до двух секунд. The Outer Worlds 2 — с 2 минут 52 секунд до девяти. В Avowed ожидание уменьшилось на 2 минуты 16 секунд. Эти цифры относятся к конкретной тестовой системе и не обещают такого же ускорения во всех играх.
Главное, однако, произошло не на секундомере: без ASD первый проход Forza получил провал показателя 1% low до 3 FPS даже на RTX 5090. Показатель 1% low отражает производительность в самом медленном одном проценте кадров и лучше среднего FPS показывает резкие просадки. Система с RX 9070 XT и готовым кэшем миновала то же место плавно. Это не сравнение мощности видеокарт, а вскрытие причины: грубой силой компиляционный фриз не всегда задавишь.
Но Silent Hill f продолжила дёргаться и с ASD. Авторы теста не смогли установить, не покрывала ли база все нужные PSO или реализация упёрлась в ограничение технологии. Перед нами важнейшее доказательство: доставка готовых шейдеров работает, но только для того, что удалось собрать и доставить. Результаты всех шести игр и графики времени кадра опубликованы Tom’s Hardware.
Что может сделать игрок уже сейчас
Не стоит прерывать штатную подготовку после установки, патча или обновления драйвера и нажимать «Пропустить» лишь потому, что чай уже остыл. Если процесс работает нормально, завершённая предкомпиляция предпочтительнее импровизации посреди босса.
Проверять нужно не абстрактную «поддержку технологии», а всю цепочку: игру, магазин, видеокарту, версию драйвера, Windows и состояние переключателя. ASD в Xbox PC app не означает ASD в копии из Steam. Intel-кэш для одной Arc не обещает его другой. NVIDIA ASC не заменяет первоначальную подготовку игры.
Не очищайте кэш как универсальный шаманский обряд. Иногда это помогает при повреждённых данных, но в нормальной ситуации вы собственноручно возвращаете разовые фризы и более долгие загрузки. Делать такое следует по инструкции разработчика или ради осознанной диагностики — не из-за совета человека с ником TERMINATOR_2009.
Если тормоза повторяются в одном месте, сопровождаются подгрузкой текстур или не исчезают после второго прохода, оставьте шейдеры в покое и ищите проблему в фоновой загрузке ресурсов, памяти, накопителе либо равномерности вывода кадров. Когда локальный ПК в принципе не справляется с нагрузкой, отдельным вариантом остаётся облачный гейминг: рендеринг переносится на удалённое оборудование, хотя ошибки движка удалённый компьютер, разумеется, святой водой не смывает.
Уберут ли новые технологии шейдерные статтеры полностью
В поддерживаемых сочетаниях новые технологии уже способны убрать часть ожидания и многие разовые фризы. Во ВСЕХ играх — нет. Microsoft расширяет систему доставки, Intel развивает собственный каталог, NVIDIA восстанавливает переживший обновление кэш, движки закрывают пропуски изнутри. Вместе они превращают многолетнюю чуму ПК-гейминга в решаемую инженерную задачу.
Но пока универсального кэша для всех видеокарт, драйверов, магазинов и мокрых праздничных зомби не существует. Кроме того, предкомпиляция не исправляет подгрузку ресурсов, нехватку памяти, ограничения CPU и неровную выдачу кадров.
А значит, полоса «Компиляция шейдеров» ещё поживёт. Отнеситесь к ней с уважением: это не дверь, которая мешает войти в игру. Это дверь, не позволяющая фризам войти вместе с вами.