Новости Microsoft

Microsoft повышает производительность с новым DirectStorage 1.2 даже на более медленных жестких дисках

DirectX 12 Максимальная

Новости Microsoft: компания выпустила последнюю версию своего DirectStorage API. Новая версия 1.2 содержит некоторые новые функции, а также исправления ошибок. В магазине также есть повышение производительности благодаря внесенным изменениям.

В DirectStorage 1.2 Microsoft представляет режим буферизованного ввода-вывода. Компания заявляет, что это ответ на желание разработчиков использовать один и тот же путь кода как на твердотельных накопителях (SSD), так и на жестких дисках (HDD). Жесткие диски работают в режиме буферизованного ввода-вывода, поскольку у них гораздо больше времени поиска. Компания пишет:

В настоящее время DirectStorage открывает файлы в небуферизованном режиме. Это позволяет нам избежать ненужных копий, максимально быстро передавая данные на GPU. Однако мы слышали от некоторых разработчиков, что они хотели бы иметь возможность использовать один и тот же код как на высокоскоростных твердотельных накопителях, так и на устаревших жестких дисках. Устаревшие жесткие диски требуют буферизованного ввода-вывода, чтобы скрыть длительное время поиска. По этой причине мы добавили возможность настроить DirectStorage для открытия файлов в буферизованном режиме.

Помимо буферизованного ввода-вывода, новый GetCompressionSupport Был введен API, который добавляет возможность запрашивать используемый путь распаковки, будь то путь GPU или резервный путь ЦП. Полный список изменений для DirectStorage 1.2 приведен ниже:

Новые возможности

  • Добавлена ​​поддержка включения буферизованного файлового ввода-вывода для использования на жестких дисках, которые могут выиграть от поведения кэширования файлов ОС.
  • Добавить IDStorageQueue2::GetCompressionSupport API, чтобы указать, какой путь будет использовать среда выполнения DirectStorage при распаковке поддерживаемого формата распаковки GPU.
  • Обновите dstorage.h и dstorageerr.h, чтобы на них распространялась лицензия MIT.
  • Добавлять Microsoft.Direct3D.DirectStorage.winmdчтобы упростить создание привязок к API, отличных от C++.

Исправление ошибок

  • Добавьте поле «Reserved1» в DSTORAGE_REQUEST_OPTIONS. Это делает макет структуры в памяти более явным, но фактически не меняет макет по сравнению с предыдущими версиями.
  • Исправление DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION для 3D-текстур.
  • Исправлена ​​проблема с планированием, которая проявлялась при передаче несжатых данных из памяти в буферы.

Улучшения производительности

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

Статьи по Теме

Добавить комментарий

Back to top button