Зачем скомпилированным шейдерам кеш
Шейдер — это маленькая программа, которую GPU выполняет для каждой вершины или пикселя, и перед запуском её нужно скомпилировать под вашу видеокарту и версию драйвера. Компиляция дорогая: десятки-сотни миллисекунд на шейдер, а в современной игре их тысячи. Когда новый шейдер появляется посреди игры, компиляция превращается в рывок кадра — тот самый штуттер первого прохождения, который ощущаешь в первый час многих игр.
Поэтому драйверы сохраняют результаты компиляции на диск и переиспользуют их при следующих запусках. В этом и есть вся работа кеша шейдеров: он превращает компиляционные рывки в разовую плату. По той же причине большой кеш — обычно хорошо: всё, что в нём лежит, — это штуттер, который вы не испытываете.
Где кеш живёт на диске
Сама Windows держит кеш Direct3D в %LOCALAPPDATA%\D3DSCache, и каждый производитель драйвера добавляет свои папки. В сумме на игровой машине это спокойно набирает несколько гигабайт — именно тогда на них и обращают внимание.
- %LOCALAPPDATA%\D3DSCache — кеш шейдеров Direct3D, которым пользуются приложения и игры
- %LOCALAPPDATA%\NVIDIA\DXCache — кеш NVIDIA для шейдеров DirectX
- %LOCALAPPDATA%\NVIDIA\GLCache — то же самое для игр на OpenGL
- %LOCALAPPDATA%\AMD\DxCache — кеш шейдеров DirectX у AMD
- %LOCALAPPDATA%\AMD\DxcCache — кеш AMD для шейдеров DX12/DXIL
- %LOCALAPPDATA%\Intel — графика Intel держит кеш шейдеров в подпапках здесь
Когда очистка помогает — и когда она просто съедает время
Легитимных случаев немного. Если после обновления драйвера в кеш попали повреждённые записи, игры могут падать при запуске, показывать артефакты или лагать там, где раньше не лагали, — удаление кеша принуждает чистую перекомпиляцию и чинит именно этот класс проблем. «Очистка диска» предлагает галочку «Кеш шейдеров DirectX», а «Параметры → Память → Временные файлы» — тот же пункт; оба способа безопасно удаляют содержимое этих папок.
Чего очистка не делает — так это не ускоряет игры. Здоровый кеш делает игру плавнее, а не медленнее: снесите его, и каждая игра заплатит стоимость компиляции заново на своих первых запусках. Относитесь к нему как к лекарству, а не ритуалу: чистите, когда после смены драйвера появились симптомы, и не трогайте в остальное время.
Вопросы и ответы
Можно ли удалять кеш шейдеров DirectX?
Да, это безопасно. Драйверы пересоздадут его автоматически — единственная цена в том, что игры снова пройдут фазу компиляции и первый запуск-другой будет с рывками.
Почему игры лагают при первом прохождении?
Новые шейдеры компилируются под вашу видеокарту и драйвер прямо по ходу игры. Как только скомпилированные версии осели в кеше, следующие запуски читают их с диска без рывков.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]