Руководство по программированию для Direct3D 12

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

В этом разделе

Раздел Описание
Что такое Direct3D 12? В DirectX 12 представлена следующая версия Direct3D, API трехмерной графики, который является основой DirectX. Эта версия Direct3D работает быстрее и эффективнее, чем любая из предыдущих версий. Direct3D 12 обеспечивает более широкие возможности сцен, больше объектов, более сложные эффекты и полное использование современного оборудования GPU.
Новые возможности Direct3D 12 Описывает самую важную новую документацию, доступную в последнем выпуске пакета SDK.
Основные сведения о Direct3D 12 Чтобы создавать трехмерные игры и приложения для Windows 10 и Windows 10 Mobile, необходимо понимать основы технологии Direct3D 12 и как подготовиться к ее использованию в играх и приложениях.
Отправка работ в Direct3D 12 Чтобы повысить эффективность ЦП приложений Direct3D, Direct3D 12 больше не поддерживает непосредственный контекст, связанный с устройством. Вместо этого приложения записывают и затем передают списки команд, которые содержат вызовы рисования и управления ресурсами. Эти списки команд можно отправлять из нескольких потоков в одну или несколько очередей команд, которые управляют выполнением команд. Это фундаментальное изменение повышает эффективность однопотоковых операций, позволяя приложениям предварительно вычислить отрисовку для последующего повторного использования, а также использует преимущества многоядерных систем, распределяя работу отрисовки между несколькими потоками.
Привязка ресурсов в Direct3D 12 Привязка — это процесс связывания объектов ресурсов с шейдерами графического конвейера.
Управление памятью в Direct3D 12 Переход на D3D12 предполагает надлежащую синхронизацию и управление местом расположения памяти. Управление местом расположения памяти означает, что необходимо выполнить еще большую синхронизацию. В этом разделе рассматриваются стратегии управления памятью и подрасположение в кучах и буферах.
Системы с несколькими адаптерами Описывает поддержку в Direct3D 12 для систем, в которых установлено несколько адаптеров, включая сценарии, в которых приложение явно предназначено для нескольких адаптеров GPU, и сценарии, в которых драйверы неявно используют несколько адаптеров GPU от имени приложения.
Синхронизация с несколькими движками В этом разделе рассматривается синхронизация доступа к нескольким независимым подсистемам, которые можно найти в большинстве современных GPU.
Отрисовка В этом разделе содержатся сведения о функциях отрисовки, новых для Direct3D 12 (и Direct3D 11.3).
Счетчики, запросы и измерение производительности В следующих разделах описываются функции для тестирования и улучшения производительности, такие как запросы, счетчики, время и предикация.
Работа с Direct3D 11, Direct3D 10 и Direct2D В этом разделе рассматриваются методы взаимодействия с более ранними версиями Direct3D и Direct2D, API Direct3D 11on12 и рекомендации по переносу из Direct3D 11 в Direct3D 12.
Рабочие примеры Доступны для скачивания рабочие примеры, демонстрирующие использование ряда функций Direct3D 12.
Пошаговые инструкции по коду D3D12 В этом разделе приведен код для примеров сценариев. Во многих пошаговые руководствах содержатся сведения о том, какой код необходимо добавить в базовый пример, чтобы избежать повторения базового кода компонента для каждого сценария.
Отладка и диагностика с помощью Direct3D 12 Содержит разделы, описывающие, как наилучшим образом использовать уровень отладки Direct3D 12 с проверкой на основе GPU (GBV) и как использовать расширенные данные, удаленные из устройства (DRED).