DirectStorage приходит на ПК

DirectStorage, API из семейства DirectX, изначально разработанный для архитектуры Velocity приходит и на ПК с Windows. Он принесёт лучшую в своём классе технологию ввода-вывода как на ПК, так и на консоль. На ПК с поддержкой DirectStorage можно рассчитывать на значительное сокращение времени загрузок.

DirectStorage приходит на ПК

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

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

И тут на ПК врывается DirectStorage. Новый API будет улучшать две основные области: сокращение времени загрузки и обеспечение детализации в играх.

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

В играх предыдущего поколения был предел 50 МБ/с, что составляет всего лишь сотни запросов ввода-вывода в секунду. При использовании накопителей NVMe с пропускной способностью несколько гигабайт в секунду это число увеличиваются до десятков тысяч.

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

Вдобавок ко всему, многие из этих ассетов сжаты. Для использования CPU или GPU их сначала нужно распаковать. Используя DirectStorage, игры смогут получить лучшие технологии декомпрессии.

API DirectStorage спроектирован таким образом, чтобы максимизировать производительность на всём конвейере от диска NVMe до графического процессора. Он делает это несколькими способами:

  1. Сокращая накладные расходы NVMe на каждый запрос.
  2. Разрешая пакетные параллельные запросы ввода-вывода, которые могут быть эффективно поданы на GPU.
  3. Предоставляя играм более точный контроль над тем, когда они получают уведомление о завершении запроса ввода-вывода вместо того, чтобы реагировать на каждое крошечное завершение IO.

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

Почему NVMe?

Устройства NVMe - это не просто SSD с чрезвычайно высокой пропускной способностью, но они также имеют аппаратные каналы доступа к данным (очередями NVMe), которые особенно подходят для игровых рабочих нагрузок. Чтобы получить данные с диска, ОС отправляет запрос на него, и данные доставляются в приложение через эти очереди. Устройство NVMe может иметь несколько очередей, и каждая из них может обрабатывать множество запросов одновременно. Это идеально сочетается с параллельным и пакетным характером современных игровых нагрузок и даёт разработчикам прямой контроль над оптимизированным оборудованием.

Кроме того, существующие API хранилищ предполагают множество «дополнительных шагов» между приложением, выполняющим запрос ввода-вывода, и запросом, выполняемым устройством хранения, что приводит к ненужным накладным расходам на каждый запрос. Это может быть, например, преобразованием данных. Подобные действия не требуются в NVMe. Благодаря поддерживаемому NVMe и правильно настроенному игровому ПК, DirectStorage сможет заранее определить, что эти дополнительные шаги не требуются, и пропустить все необходимые проверки/операции, что сделает выполнение каждого запроса ввода-вывода дешевле.

5454
32 комментария

Комментарий недоступен

29

У двух императоров сговор. Один кидает инсайды, другой пользуясь авторитетом восхваляет первого в народе

1

Комментарий недоступен

3

Главное чтоб не через отдельный проприетарный чип нвидиа внутри ссд (¬‿¬ )

6

Сам не до конца понимаю, как оно в обход CPU будет работать.

1

Комментарий недоступен

3

У меня на пару строчек больше тема раскрыта)