Домой Новости Железо Как Nvidia DXCache незаметно занимает десятки гигабайт на диске

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске

Владельцы видеокарт Nvidia могут столкнуться с нехваткой места на SSD из-за папки DXCache. Она хранит скомпилированные шейдеры, объем которых может достигать 40 ГБ и более.

1
0

При регулярной проверке состояния M.2 NVMe накопителя с помощью утилиты WizTree часто обнаруживаются скрытые объемы данных, занимаемые системными или программными компонентами. В ходе одной из таких проверок на компьютере был обнаружен массивный каталог DXCache, который содержал 40 гигабайт данных, распределенных по 946 отдельным файлам. Столь значительный объем занятого пространства вызвал вопросы, так как стандартная установка графического драйвера Nvidia занимает менее одного гигабайта.

визуализация кэша Nvidia в программе WizTree

За что отвечает папка DXCache и почему она растет

Папка DXCache служит местом, где Nvidia хранит скомпилированные шейдеры DirectX. Это инструкции, необходимые графическому процессору для предварительного рендеринга игровых сцен. Сохранение уже готовых скомпилированных данных позволяет избежать повторной работы при каждом запуске игры, что помогает избавиться от микрофризов и рывков во время первой игровой сессии. Однако данная система хранения имеет свои особенности, которые могут приводить к неконтролируемому росту занимаемого пространства.

В отличие от основного драйвера, который располагается в директории Program Files, кэш шейдеров находится в профиле пользователя: AppData\Local\NVIDIA. Эту папку редко открывают рядовые пользователи, а процессы установки или удаления драйверов никак не влияют на накопленные там файлы. Поскольку при частой смене версий драйверов для тестов старые шейдеры не удаляются автоматически, объем кэша со временем стремительно увеличивается, превращаясь в «мертвое» хранилище данных, которые больше не приносят пользы.

Настройки размера кэша в приложении Nvidia

В приложении Nvidia существует возможность ограничить объем, выделяемый под скомпилированные шейдеры. Для этого необходимо перейти в раздел Graphics, затем выбрать Global Settings и найти опцию Shader Cache Size. Пользователь может выбрать одно из фиксированных значений, установить значение «по умолчанию» (Driver Default) или вовсе отключить ограничение, выбрав параметр «Unlimited».

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске — иллюстрация 2 к материалу

Проблема заключается в том, что по умолчанию значение «неограниченно» не имеет «потолка», поэтому кэш может разрастаться до колоссальных размеров. Значение Driver Default, составляющее 16 ГБ, не отображается в приложении Nvidia в виде конкретной цифры и не упоминается в панели управления. Найти информацию об этом значении можно только в редких статьях техподдержки, посвященных исправлению поврежденных файлов кэша шейдеров.

Почему стандартные средства очистки диска не помогают

Традиционные методы высвобождения пространства, такие как «Установка и удаление программ», функция Storage Sense в Windows или классическая «Очистка диска», оказались неэффективны против DXCache. Даже встроенный инструмент очистки диска, предлагающий пункт «Кэш шейдеров DirectX», удаляет лишь системный кэш D3DSCache, но не затрагивает данные Nvidia.

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске — иллюстрация 3 к материалу

Более того, кэш привязан не к конкретным играм, а к самому драйверу. Даже после полного удаления игр, для которых создавались шейдеры, соответствующие гигабайты информации остаются на накопителе. На SSD объемом 512 ГБ такая ситуация может стать критической, значительно ограничивая доступное место для других задач. Для пользователя, не имеющего привычки вручную проверять содержимое папки AppData, такая «забытая» активность драйвера остается абсолютно невидимой.

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске — иллюстрация 4 к материалу

Как безопасно очистить кэш шейдеров

Если размер папки DXCache в директории %Localappdata%\NVIDIA кажется чрезмерным, Nvidia рекомендует следующий алгоритм действий для освобождения места:

  • В настройках графики Nvidia установите Shader Cache Size в положение «Off» (Отключено).
  • Перезагрузите компьютер.
  • Вручную удалите содержимое папок DXCache и GLCache.
  • Верните параметр Shader Cache Size в состояние «Driver Default».

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

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске — иллюстрация 5 к материалу

Почему кэш шейдеров становится проблемой

Особая ирония ситуации заключается в том, что Nvidia нигде не предлагает пользователю отслеживать реальный вес папки с кэшем на диске. Это создает ложное ощущение контроля: рядовой пользователь, использующий настройки по умолчанию, даже не задумывается о существовании этой директории, в то время как энтузиасты или тестировщики железа, однажды снявшие ограничение на объем кэша, со временем обнаруживают у себя десятки гигабайт «мертвого груза». Поскольку кэш не классифицируется как отдельная программа, его невозможно обнаружить через стандартные системные деинсталляторы. Даже когда игры, для которых создавались эти шейдеры, удаляются с накопителя, кэш продолжает занимать свое место, так как он принадлежит исключительно драйверу, а не игровому приложению.

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске — иллюстрация 6 к материалу

Для владельцев современных игровых систем с ограниченным объемом SSD-накопителей это становится серьезным испытанием. Если на диске объемом 1 ТБ потеря 40 ГБ пространства может быть досадным недоразумением, то на ноутбуке с накопителем на 512 ГБ аналогичное «забытое» накопление данных критически снижает доступное пространство для повседневных задач. При этом ни один из встроенных инструментов Windows, будь то «Контроль памяти» (Storage Sense) или «Очистка диска», не имеет алгоритмов для работы с этой специфической областью данных Nvidia.

Риски изменения настроек

Многие пользователи, сталкиваясь с микрофризами в играх, часто обращаются к советам с форумов, где одной из популярных рекомендаций является увеличение кэша шейдеров до максимума или установка значения «Unlimited». Логика таких советов проста: чем больше места выделено под кэш, тем реже системе придется заниматься его перекомпиляцией, что теоретически должно уменьшить количество «заиканий» (stuttering). Однако, как показывает практика, установка параметра «Unlimited» не просто увеличивает кэш — она буквально убирает верхний порог, позволяя драйверу бесконтрольно разрастаться. В то же время официальная документация компании, включая статью поддержки о восстановлении поврежденного кэша, по иронии судьбы продолжает рекомендовать «большие размеры кэша для обеспечения оптимальной производительности при наличии обширных игровых библиотек», не предупреждая о том, во что это может вылиться в долгосрочной перспективе.

Как Nvidia DXCache незаметно занимает десятки гигабайт на диске — иллюстрация 7 к материалу

Рекомендации по обслуживанию

Важно понимать: удаление содержимого DXCache не является опасной операцией. Максимум, с чем может столкнуться пользователь — это кратковременная потеря «плавности» в игровых сессиях сразу после очистки, так как GPU придется заново скомпилировать необходимые инструкции. Однако в большинстве случаев это небольшая плата за возвращение существенного объема дискового пространства. Путь к папке лежит через переменную среды %Localappdata%\NVIDIA в проводнике Windows — именно там скрыты директории, которые требуют периодического контроля. Если вы привыкли часто менять версии драйверов для проведения бенчмарков или тестирования, подобная «гигиена» диска должна стать частью вашего регулярного ритуала обслуживания системы, наряду с обновлением программного обеспечения.