DirectStorage 1.4 не заставляет ваш SSD распаковывать игры: что на самом деле делают Zstd и распаковка на GPU

DirectStorage 1.4 добавляет сжатие Zstandard, распаковку на GPU и новую библиотеку Game Asset Conditioning Library, но сам SSD по-прежнему остаётся лишь одной из частей конвейера загрузки. В этом руководстве объясняется, что именно делают SSD, DirectStorage, CPU, GPU и игровой движок.
Опубликовано:
Aleksandar Stajic
Updated: 26 сентября 2026 г. в 09:04
DirectStorage 1.4 не заставляет ваш SSD распаковывать игры: что на самом деле делают Zstd и распаковка на GPU

DirectStorage 1.4 добавляет поддержку сжатия Zstandard и распаковки на GPU для игровых ресурсов, но это не значит, что ваш SSD вдруг сам начнёт распаковывать текстуры и модели. Накопитель перемещает сжатые данные. Работу по распаковке по-прежнему выполняет CPU или GPU.

Самый простой способ понять путь ресурса

Что происходит, когда игра загружает сжатые ресурсы

1
1. Игровой ресурс хранится в сжатом виде
Текстуры, геометрия или другие данные упакованы в сжатой форме на SSD.
2
2. SSD читает сжатые байты
NVMe-накопитель быстро перемещает эти байты из хранилища в путь ввода-вывода системы.
3
3. DirectStorage планирует запрос
DirectStorage координирует высокопроизводительное чтение и то, куда должны попасть полученные данные.
4
4. CPU или GPU выполняет распаковку
Сжатый поток разворачивается в форму, необходимую игре.
5
5. Ресурс становится пригодным для использования
Распакованная текстура, буфер или другой ресурс затем может быть использован рендерером или игровыми системами.

Зачем вообще сжимать игровые ресурсы?

Современные игры содержат огромные объёмы текстур, геометрии, аудио и других данных.

Хранение каждого ресурса без сжатия увеличило бы размер установки и заставило бы накопитель читать больше байтов для того же содержимого.

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

DirectStorage перемещает проблему узкого места, а не устраняет её

Быстрый NVMe-накопитель может доставлять сжатые данные гораздо быстрее, чем старые конвейеры хранения, но более быстрое чтение помогает только в том случае, если остальная часть пути успевает за ним.

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

Именно поэтому DirectStorage поддерживает распаковку на GPU: часть работы может перейти с CPU на массово-параллельные вычисления GPU.

Что добавляет DirectStorage 1.4

DirectStorage 1.4 добавляет Zstandard, обычно записываемый как Zstd, в качестве поддерживаемого формата сжатия.

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

Важное изменение заключается в том, что Zstd интегрирован в среду декомпрессии DirectStorage как для CPU, так и для GPU.

Декомпрессия на CPU и GPU

Декомпрессия на CPUДекомпрессия на GPU
Где выполняется
Потенциальное преимущество
Основные затраты
Лучший выбор

Декомпрессия на GPU всё равно расходует ресурсы GPU

Декомпрессия на GPU не бесплатна.

DirectStorage использует промежуточные буферы в VRAM для согласования сжатого ввода и распакованного вывода. Microsoft предупреждает, что слишком большой промежуточный буфер может отнять память у рендеринга, а слишком маленький может снизить пропускную способность, поскольку запросам придётся ждать.

Таким образом, декомпрессия на GPU создаёт ещё одну проблему баланса: снизить нагрузку на CPU, не отнимая слишком много памяти или вычислительных ресурсов GPU у рендеринга.

Почему Zstd важен по сравнению со старым сжатием DirectStorage

DirectStorage уже поддерживал GDeflate — формат сжатия, разработанный для параллельной декомпрессии на GPU.

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

Microsoft также публикует открытый вычислительный шейдер для декомпрессии Zstd на GPU в качестве базового решения, которое производители GPU могут дополнительно оптимизировать.

Изначальный шейдер оптимизирован для блоков размером 256 КБ или меньше, что соответствует распространённым схемам упаковки игр, ориентированным на потоковую передачу.

Треугольник затрат на потоковую передачу ассетов

Сжатие изменяет три разных вида затрат

Что сжатие может уменьшитьЧто оно может увеличить
Размер установки
Ввод-вывод хранилища
Работа CPU/GPU во время выполнения

Что делает Game Asset Conditioning Library

Microsoft представила Game Asset Conditioning Library, или GACL, вместе с DirectStorage 1.4.

GACL не заменяет Zstd. Она подготавливает определённые игровые ассеты, чтобы Zstd мог сжимать их более эффективно.

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

Что означает «кондиционирование» простыми словами

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

Для блочно-сжатых текстур GACL может переставлять байтовую структуру перед сжатием Zstd. DirectStorage обращает это преобразование после распаковки.

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

Где в GACL появляется машинное обучение

Component-Level Entropy Reduction от Microsoft, или CLER, использует машинное обучение как часть процесса снижения энтропии текстур.

Цель не в том, чтобы генерировать текстуры во время выполнения. Работа ML является частью подготовки текстурных данных, чтобы итоговое сжатое представление могло стать меньше при сохранении приемлемого визуального качества.

Это делает GACL оптимизацией контент-пайплайна, а не игровой системой генеративного ИИ.

Улучшение сжатия до 50% не означает, что каждая игра станет на 50% меньше

Microsoft заявляет, что GACL может обеспечить улучшение коэффициентов сжатия Zstd до 50% для подходящих ресурсов.

Это не то же самое, что утверждение, будто вся установка игры уменьшится на 50%.

Реальное влияние зависит от того, какие ресурсы кондиционируются, насколько они сжимаемы, какую долю игры они составляют и приемлемы ли lossy-методы.

Тест утверждений о сжатии

Как правильно читать утверждение о сжатии игры

1
1. Спросите, что именно сжимается
Только текстуры, все ресурсы или полная установка?
2
2. Спросите, какая база для сравнения
Несжатые данные, GDeflate, старые настройки Zstd или другой упакованный формат?
3
3. Проверьте, является ли метод lossless
Меньший результат может включать контролируемую потерю качества.
4
4. Отделите размер файла от производительности загрузки
Лучшее сжатие уменьшает объём читаемых байтов, но распаковка всё ещё требует времени.
5
5. Проверьте путь CPU/GPU
Одни и те же сжатые данные могут вести себя по-разному в зависимости от того, где выполняется распаковка.
6
6. Измеряйте весь пайплайн
Пропускная способность хранилища, время распаковки, использование промежуточной памяти и готовность итоговых ресурсов — всё имеет значение.

Почему замена DLL DirectStorage в игре не включает Zstd

Это особенно важное недоразумение.

Microsoft явно ответила на это после анонса DirectStorage 1.4: замена DLL-файлов DirectStorage в существующей игре не активирует новые preview-функции.

Ресурсы игры должны быть созданы и сжаты с помощью Zstd во время процесса сборки, дополнительная подготовка GACL должна быть выполнена перед выпуском, а сама игра должна вызывать соответствующие API DirectStorage.

Почему более быстрые SSD не устраняют затраты на распаковку

Чрезвычайно быстрый SSD может сократить время, необходимое для чтения сжатых байтов, но он не устраняет время, необходимое для превращения этих байтов в пригодные для использования ресурсы.

По мере ускорения хранилища относительная важность распаковки, подготовки ресурсов, загрузки на GPU и обработки на стороне движка становится больше.

Именно поэтому DirectStorage развился за пределы простого ввода-вывода.

Тест конвейера времени загрузки

Как определить, действительно ли хранилище является узким местом

1
1. Измерьте время чтения из хранилища
Сколько времени требуется для доставки сжатых байтов ресурса?
2
2. Измерьте распаковку
Сколько времени CPU или GPU тратится на развертывание данных?
3
3. Измерьте очередь и подготовку
Ожидают ли запросы из-за переполнения буферов подготовки или очередей GPU?
4
4. Измерьте загрузку и создание ресурсов
Сколько времени проходит, прежде чем распакованные данные станут пригодным для использования ресурсом GPU?
5
5. Измерьте работу на стороне движка
Шейдеры, создание объектов, настройка мира и регистрация ресурсов все еще могут доминировать при загрузке.
6
6. Исправьте самый медленный этап
Более быстрый SSD помогает только тогда, когда ввод-вывод хранилища действительно является ограничивающей частью.

Почему это важно для потоковой передачи открытого мира

Игры с открытым миром непрерывно перемещают данные ресурсов, когда игрок пересекает карту.

Это означает, что потоковая передача ресурсов заключается не только в сокращении экрана загрузки. Конвейер должен доставлять, распаковывать и подготавливать данные, пока игровой процесс продолжается.

Кодек с высокой степенью сжатия может уменьшить количество байтов, извлекаемых из хранилища, а быстрая распаковка на GPU может помочь сохранить время CPU для симуляции.

Но если сам GPU уже насыщен, перенос работы по распаковке туда может потребовать тщательного планирования.

DirectStorage 1.4 также улучшает видимость планирования GPU

DirectStorage 1.4 добавляет поддержку D3D12 CreatorID для внутренних командных очередей, которыми он управляет.

Цель — помочь рабочим нагрузкам DirectStorage более предсказуемо участвовать в группировке очередей D3D12 и планировании выполнения на GPU.

Это важно, потому что распаковка теперь конкурирует за ту же экосистему GPU, что и рендеринг и другие вычислительные задачи.

Что производители GPU будут делать дальше

Microsoft заявляет, что AMD, Intel, NVIDIA и Qualcomm работают над оптимизациями Zstd для конкретного оборудования и драйверов.

AMD и NVIDIA публично указали на оптимизированную поддержку, нацеленную на вторую половину 2026 года, в то время как Intel и Qualcomm также описали текущую работу над платформой.

Это означает, что публичный GPU-шейдер DirectStorage является базовым, а не обязательно окончательным путем производительности для будущего оборудования.

Что могло бы изменить этот ответ?

DirectStorage 1.4 все еще является публичной предварительной версией. Окончательный API, производительность шейдера Zstd, поддержка GACL и оптимизированные производителем пути драйверов могут измениться.

Если будущие устройства хранения добавят стандартизированную аппаратную декомпрессию, интегрированную в конвейер ресурсов ПК, четкое разделение между «чтением с SSD» и «декомпрессией на CPU/GPU» может стать менее абсолютным. Сегодня это не является обычной моделью DirectStorage 1.4.

Ограничения

Эта статья объясняет текущую публичную архитектуру предварительной версии DirectStorage 1.4 от Microsoft. Она не утверждает, что каждая игра, использующая DirectStorage, будет использовать Zstd, декомпрессию на GPU или GACL.

Заявления Microsoft о степени сжатия и производительности являются технологическими заявлениями поставщика платформы. Реальные результаты в играх зависят от набора ресурсов, настроек сжатия, оборудования, драйверов и интеграции с движком.

Заключение

DirectStorage 1.4 легче понять, если разделить задачи.

SSD перемещает сжатые байты. DirectStorage планирует передачу. Zstd определяет, как сжимаются данные. CPU или GPU выполняет декомпрессию. GACL может подготовить некоторые ресурсы, чтобы Zstd сжимал их более эффективно. Затем игровой движок использует готовый ресурс.

Более быстрый SSD — лишь одна часть этой цепочки.

Часто задаваемые вопросы

DirectStorage 1.4 и Zstd простыми словами

Заставляет ли DirectStorage SSD распаковывать игровые ресурсы?

Нет. SSD читает сжатые данные. DirectStorage координирует ввод-вывод, а декомпрессию выполняет CPU или GPU.

Что нового в DirectStorage 1.4?

Публичная предварительная версия добавляет сжатие Zstandard, поддержку декомпрессии на CPU/GPU, интеграцию с Game Asset Conditioning Library и улучшенную идентификацию очередей D3D12.

Могу ли я заменить DLL DirectStorage в игре, чтобы включить Zstd?

Нет. Microsoft заявляет, что ресурсы должны быть собраны с использованием Zstd/GACL, и игра должна явно использовать новые API.

Бесплатна ли декомпрессия на GPU?

Нет. Она использует вычисления GPU, пропускную способность и промежуточные буферы, хотя может снизить нагрузку на CPU.

Что делает GACL?

Она подготавливает игровые ресурсы, особенно текстуры, чтобы Zstd мог сжимать их более эффективно. Некоторые методы являются сжатием без потерь, а некоторые — с потерями.

Означает ли улучшение сжатия до 50%, что игра станет на 50% меньше?

Нет. Эта цифра относится к подходящим подготовленным ресурсам, а не автоматически ко всей установке игры.

Глоссарий

Ключевые термины DirectStorage 1.4

DirectStorage
API семейства DirectX от Microsoft для высокопроизводительного ввода-вывода и декомпрессии игровых ресурсов в Windows.
Zstandard (Zstd)
Открытый формат сжатия, добавленный в DirectStorage 1.4 для игровых ресурсов.
Декомпрессия на GPU
Распаковка сжатых данных с использованием вычислений GPU вместо выполнения всей декомпрессии на CPU.
Промежуточный буфер
Временная память GPU, используемая DirectStorage для координации потоков сжатых и распакованных данных.
GACL
Game Asset Conditioning Library от Microsoft, которая подготавливает ресурсы для повышения эффективности сжатия.
Треугольник стоимости потоковой передачи ресурсов
Модель Figure Rocks, разделяющая размер хранилища, трафик ввода-вывода и стоимость декомпрессии во время выполнения.
Тест заявлений о сжатии
Контрольный список Figure Rocks для интерпретации заявлений о сжатии путем проверки области ресурсов, базовой линии, потери качества и стоимости во время выполнения.

Первоисточники

Microsoft DirectX — DirectStorage 1.4 добавляет Zstandard

Официальное объявление от марта 2026 года, охватывающее Zstd, распаковку на CPU/GPU, GACL, планы оптимизации производителей GPU и предварительную версию DirectStorage 1.4.

Microsoft DirectX — DirectStorage SDK и API

Официальная страница выпуска со списком функций предварительной версии DirectStorage 1.4 и статусом пакета.

Microsoft — DirectStorage на GitHub

Официальный репозиторий, содержащий примеры, тесты производительности распаковки на GPU и руководство по реализации DirectStorage.

Microsoft — Руководство для разработчиков DirectStorage

Официальное руководство, объясняющее поток сжатых данных, распаковку на GPU, промежуточные буферы и компромиссы по памяти.

Microsoft — Game Asset Conditioning Library

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

Related Articles

Сжатие текстур с помощью нейросетей RTX — это не апскейлинг: как ИИ позволяет обменивать память для текстур на вычислительные ресурсы GPU

Сжатие текстур с помощью нейросетей RTX — это не апскейлинг: как ИИ позволяет обменивать память для текстур на вычислительные ресурсы GPU

NVIDIA RTX Neural Texture Compression меняет подход к хранению игровых материалов. Вместо того чтобы хранить каждый канал текстуры только в виде обычных текселей, материал можно сжать в компактные латентные данные и небольшой нейронный декодер, а затем восстановить на GPU при необходимости.

Накопитель и статтеры стриминга: когда важны SSD, декомпрессия и VRAM

Статтеры при стриминге — это загрузка ассетов: скорость накопителя, декомпрессия и поведение памяти. Используйте эту диагностику, чтобы остановить скачки при входе в новые области.

Снизили настройки графики, но FPS не вырос? Вероятно, вы оптимизируете не то узкое место

Снизили настройки графики, но FPS не вырос? Вероятно, вы оптимизируете не то узкое место

Ты снижаешь тени, эффекты и разрешение, но FPS почти не меняется. Это руководство объясняет, почему графические настройки помогают только тогда, когда они снижают нагрузку, которая на самом деле ограничивает кадр, — и как определить узкие места процессора, видеокарты, памяти, потоковой подгрузки и ограничения частоты кадров.

Использование VRAM — это не требование к VRAM: почему заполненный индикатор памяти не рассказывает всей истории

Использование VRAM — это не требование к VRAM: почему заполненный индикатор памяти не рассказывает всей истории

Видя 7,8 ГБ использованной памяти на 8-гигабайтной видеокарте, можно подумать, что игра исчерпала видеопамять. Но всё не так просто. Это руководство объясняет объём видеопамяти, бюджеты резидентности, рабочие наборы, разделяемую память и то, как определить, действительно ли нехватка памяти вызывает подтормаживания.

Исправления для заиканий стриминга хранилища: Когда ассеты не поспевают

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

Хранилище и стриминг: сокращение времени загрузки без появления статтеров

Быстрое хранилище помогает только тогда, когда поведение стриминга стабильно. Это руководство объясняет, как IO влияет на статтеры и что нужно изменить в первую очередь.