Soft

Что такое Microsoft DirectStorage и как это ускоряет игры

Новый интерфейс прикладного программирования Microsoft может сократить продолжительность загрузки видеоигр, но как именно?

В прошлом видеоигры были не особо сложными. Игровые уровни были невелики, персонажей было немного, текстуры были простые. С годами игры заметно усложнились. Появились большие открытые миры и детально проработанные персонажи, чтобы игры могли выглядеть фотореалистичными.

Естественно, за инновации нужно платить. Современные игры потребляют десятки гигабайт данных, чтобы вы видели красивое окружение и персонажей. Некоторые инструменты разработки игр не годятся для таких объёмов данных, из-за чего производительность падает.

Здесь на помощь может прийти Microsoft DirectStorage.

Зачем нужен Microsoft DirectStorage?

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

При запуске игры ей нужны данные вроде текстур, моделей персонажей, аудио. Эти данные хранятся на устройствах вроде жёстких дисков. Игра требует данные через программные инструменты, которые называются интерфейсами прикладного программирования (API).

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

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

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

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

Этот метод обработки данных имеет два крупных недостатка.

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

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

Использующие старые API в наши дни разработчики должны обходить проблему небольшого объёма передаваемых данных при помощи методов вроде сокращения сложности сцен для снижения числа используемых файлов. Обрабатываются только текстуры и окружения, которые попадают в кадр, увеличивается продолжительность загрузки.

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

DirectStorage помогает разработчикам решить эти проблемы при помощи улучшенного процесса передачи данных.

Как работает Microsoft DirectStorage?

Microsoft DirectStorage представляет собой набор API для устройств хранения данных, призванный исправить недостатки современных API.

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

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

Во-вторых, интерфейсы полностью используют возможности сверхбыстрых NVMe SSD. Такие накопители нужны для работы DirectStorage. Пропускная способность у них заметно выше по сравнению с остальными SSD. Это позволяет читать большие объёмы данных в единицу времени. Значения исчисляются гигабайтами в секунду, в отличие от старых интерфейсов с уровнем мегабайты в секунду.

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

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

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

Как DirectStorage улучшает игры?

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

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

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

Наконец, с применением DirectStorage игры становятся больше и сложнее без проблем со своевременным появлением текстур. Это позволит создавать игры нового поколения.

DirectStorage изменит игры к лучшему, если разработчики воспользуются им

Microsoft активно продвигает DirectStorage. Старые методы передачи данных является узким местом при обработке игр.

Если DirectStorage станет повсеместно распространённым стандартом, игры выйдут на новый уровень развития.

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

Александр

Специалист по информационной безопасности с 10-ти летним опытом. Отец троих детей. Независимый консультант по вопросам кибер безопасности. 6 лет опыта интеграции решений кибербезопасности с другими продуктами в существующих инфраструктурах на корпоративном уровне.

Recent Posts

Как проверить открытые порты на компьютере на Windows 10

Быть может, у вас возникла проблема с сетевым подключением определённой программы и необходимо проверить, открыт…

2 года ago

Как остановить поток спама по электронной почте

Если у вас есть электронная почта, скорее всего вы регулярно получаете в свой ящик большое…

2 года ago

Как торговать NFT на OpenSea

Нет лучшего места для продажи NFT, чем OpenSea. От криптокотят (CryptoKitties) до произведений искусства и…

2 года ago

Как выполнить сброс настроек MacBook Air до заводских

https://youtu.be/68-egN2ZTjg Сброс настроек любого устройства до заводских часто рекомендуется как средство устранения проблем в его…

2 года ago

Как Chromecast позволяет играть на телевизоре

Мало кто знает, что устройства Chromecast дают возможность вести потоковую трансляцию игр, а не только…

2 года ago

Как скрыть статус «Онлайн» в WhatsApp

Пользователи всё чаще задумываются о вопросах конфиденциальности при работе с мессенджерами, в том числе с…

2 года ago