Direct X12. Предварительный обзор новой графической библиотеки

Прочитано

Direct X12. Предварительный обзор новой графической библиотеки

марта 26, 2014 - 21:19
0 комментариев

На прошедшей конференции Game Developer Conference было анонсировано множество важных продуктов в области игровой разработки. Ключевым анонсом стала презентация нового API DirectX 12, которая покажет новый уровень производительности 3D-графики, первые игры выйдут в начале 2015 года.

Direct X12. Предварительный обзор новой графической библиотеки

На прошедшей конференции Game Developer Conference было анонсировано множество важных продуктов в области игровой разработки. Ключевым анонсом стала презентация нового API DirectX 12, которая покажет новый уровень производительности 3D-графики, первые игры выйдут в начале 2015 года.

В отличие от DirectX 11, где основная часть нововведений была связана с  графическими эффектами и поддержке новых аппаратных функций GPU, основной упор в DirectX 12 сделают на оптимизацию программного стека DirectX под существующее аппаратное обеспечение (hardware). Эта хорошая новость для всех пользователей, которые используют видеокарты серий 2013-2014 года. По словам разработчиков, около 80% карт будет поддерживать новый API, будет произведена интеграция с новой приставкой Xbox One и с современными планшетами и смартфонами.

С выпуском DirectX 12  компания Microsoft хочет сделать изображение визуально более богатым за счет значительного сокращения ресурсов CPU, которые используются внутри API. Традиционно, памятью, состоянием и синхронизацией управляли операционная система и драйверы. Однако недостаток информации о задачах, решаемых приложениями, приводил к неэффективному использованию CPU. DirectX 12  позволяет приложениям напрямую управлять ресурсами и состоянием и выполнять необходимую синхронизацию. В результате, разработчики смогут эффективно управлять GPU, используя знания о внутренней работе своей игры.

Microsoft показала, что в целом нагрузка на центральный процессор благодаря новому API будет снижена вдвое, причем задачи будут гораздо лучше распределяться между ядрами CPU. В итоге, масштабируемость производительности от прироста ядер процессора будет почти линейной. Производительность GPU тоже возрастет благодаря снижению зависимости от CPU по количеству запросов и прямому доступу к графике.

С точки зрения архитектуры, DirectX 12 представляет новую модель управления нагрузкой GPU с помощью списков команд (command lists). В модели DirectX 11 уже существовал этот термин. API предоставляет два типа контекста устройства (device context): immediate context и deferred context. В первом случае команды непосредственно отправляются на драйвер GPU, во втором — записываются списки команд, которые затем могут воспроизводиться в immediate context. Нововведение DirectX 12  состоит в том, что драйвер GPU в модели Direct3D 11 может заранее просчитывать низкоуровневые инструкции на основе различных списков команд.

В дополнение к спискам команд в Direct3D 12 появилась еще одна сущность — bundles. Bundle представляет собой набор команд, которые могут быть исполнены неоднократно в сочетании с различными ресурсами — к примеру, для рендеринга идентичных объектов с разной текстурой. В этом случае от драйвера требуется только один раз подготовить инструкции для GPU.

На данный момент о поддержке новой библиотеки Direct X12 заявили компании AMD, Intel, Nvidia, Qualcomm.

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

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.