Что такое DirectX и почему это важно?

06/02/2023
0
8 мин
1 088

Что такое DirectX и почему это важно?

Здравствуйте, друзья!

DirectX — это программное обеспечение, разработанное Microsoft, которое взаимодействует с аппаратными компонентами ПК.

В частности, это набор интерфейсов прикладного программирования или API-интерфейсов, разработанных для задач, связанных с отображением 2D- и 3D-векторной графики, отображением видео и воспроизведением звука на платформе Windows.

Введение в DirectX

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

Это продукт Microsoft Windows, выпущенный 30 сентября 1995 года, поэтому он обладает множеством хороших функций, которые делают его популярным среди программистов игр, а также среди пользователей CAD и CAM.

Вы заметите, что все приложения, предлагаемые DirectX, начинаются со слова «Direct», например, Direct Draw, Direct3D, DirectSound, DirectPlay, DirectMusic и так далее.

Зачем нам нужен DirectX?

  • DirectX имеет ряд продуктов, которые можно использовать для разных целей. Давайте посмотрим на один из его продуктов, которым является Direct3D, и это API 3D-графики, основанный на технологии DirectX;
  • Он широко используется разработчиками игр для разработки видеоигр для Microsoft Windows и Xbox, если это линейка консолей;
  • Не только для программирования игр, этот API Direct3D также используется для визуализации, а также для задач, связанных с графикой, и эти задачи включают проектирование элементов проектирования CAD и CAM;
  • Будучи в основном публично используемым API DirectX, Direct3D также известен под именем DirectX.

Работа DirectX

Работа DirectX

  • Direct3D или DirectX, то он работает с кодированием для выполнения различного типа задач, связанных с игрой, а также графического проектирования различных разделов;
  • Набор для разработки программного обеспечения DirectX содержит библиотеки времени выполнения, которые могут распространять двоичный файл снова и снова, что означает, что он имеет возможность распространения из двоичного файла и предоставляет документацию и заголовки для использования в кодировании;
  • DXGI, который перечисляет, адаптеры и мониторы управляют цепочками подкачки для Direct3D 10 и более поздних версий;
  • Существует функция диагностики DirectX, которая помогает в диагностике и создании отчетов о компонентах, связанных с DirectX, например аудио, видео, а также драйверах ввода;
  • Вы можете использовать API-интерфейсы DirectX в различных операционных системах для работы с ними, а именно в Microsoft Windows, Dreamcast, Xbox, Xbox one, Xbox 360, Xbox Series X и Series s.

Преимущества и недостатки

Все через DirectX, поскольку это самая популярная коллекция API Microsoft Windows, но есть как преимущества, так и недостатки.

Преимущества

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

  • С графическим API Direct2D вы можете выполнять 2D-проектирование на высоком уровне и использовать его простые в обращении инструменты для получения желаемого результата в работе над проектом. Вы не только можете выполнять 3D-рендеринг в реальном времени с помощью Direct3D, вы также можете выполнять общие вычисления графических процессоров, используя API DirectCompute, который является плюсом DirectX и дает вам решение многих проблем графических процессоров;
  • Для редактирования и манипулирования аудиодорожкой или аудиофайлом вы можете использовать как редактирование, так и высокий уровень или низкий уровень. Для высокого уровня вы можете использовать XACT3, а для низкого уровня вы можете использовать XAudio2 API DirectX;
  • Трассировка лучей в реальном времени также возможна с API DirectX Raytracing (DXR). Иногда мы сталкиваемся с проблемой обработки устройств ввода в нашей системе, поэтому с помощью DirectInput API вы можете создавать интерфейсы для различных устройств ввода, таких как клавиатуры, игровые контроллеры, мышь, джойстик и так далее.

Недостатки

  • При разработке изображения с высоким разрешением вы можете столкнуться с некоторыми трудностями, поскольку это создает проблемы с визуальной точностью, а промежутки между строками не расположены должным образом из-за отсутствия некоторых функций;
  • Это может нагреть ваши системные платы, потому что видеокарты, предназначенные для разных API, иногда не работают должным образом с некоторыми из них;
  • Возникает проблема, когда вы хотите удалить DirectX, потому что среда Windows не позволяет пользователю удалить его со своего компьютера, но Microsoft запланировала решить эту проблему, что позволит пользователю сделать это без потери данных и скорости компьютера;
  • Это были некоторые из основных плюсов и результатов DirectX, которые были необходимы для глубокого анализа этой коллекции API.

Использование DirectX

  • Это самая популярная коллекция API-интерфейсов, широко используемая для различных целей;
  • Его популярной областью является разработка видеоигр, и ряд разработчиков игр любят его больше всего за разработку своих видеоигр и игровых компонентов, потому что он предлагает ряд хороших функций, которые делают их работу более плавной;
  • Это также оказывает влияние на визуализацию и графику в различных областях, таких как компоненты и элементы проектирования CAD и CAM.

DirectX 12 против DirectX 11: что лучше для компьютерных игр?

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

Что выбрать?

Хотя большинство обновлений DirectX являются итеративными, DirectX 12 представляет собой значительный сдвиг в API, который Microsoft разрабатывала в течение нескольких десятилетий.

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

Графические API не равны

Логотип DirectX 12 Ultimate.

У нас есть полное объяснение того, что такое DirectX, но важно быстро рассказать, что такое графический интерфейс прикладного программирования (API).

Графический API выполняет преобразование инструкций из программного обеспечения (вашей игры) в стандартизированные инструкции для вашего оборудования (вашей видеокарты и процессора).

Однако не все графические API построены одинаково.

Как видно из разбивки Vulkan API, в большинстве игр он обеспечивает лучшую производительность, чем DirectX.

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

DirectX 12 и DirectX 11: в чем разница?

Трассировка лучей DirectX в Battlefield V.

Использование трассировки лучей в Battlefield V

Самая важная разница между DirectX 11 и DirectX 12 заключается в том, что DirectX 11 — это высокоуровневый API, а DirectX 12 — низкоуровневый API.

Существуют различные слои между вашей игрой и вашим оборудованием.

API низкого уровня ближе к оборудованию, а API высокого уровня — дальше и более обобщенно.

Это важное различие между DirectX 11 и DirectX 12.

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

В свою очередь, разработчикам также сложнее работать.

При запуске DirectX 12 на самом деле показал немного более низкую производительность, чем DirectX 11, в основном из-за своей сложности.

Тем не менее, за последние несколько лет разработчики больше ориентировались на DirectX 12 — напрямую и выжимали больше оптимизаций.

Как мы увидим далее, DirectX 12 работает лучше, чем DirectX 11 в большинстве игр.

Графический конвейер для DirectX 11.

Графический конвейер для DirectX 12.

Еще одно существенное изменение в DirectX 12 — параллельные вычисления.

DirectX 11 обрабатывает последовательные операции, что означает наличие одной очереди операций, которые выполняются по порядку.

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

Точно так же DirectX 12 открывает возможность асинхронных операций.

Это похоже на параллельные вычисления, но это не одно и то же.

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

Например, ваш ЦП может выполнить введение для получения текстур из памяти и перейти к выполнению другой функции (например, ИИ для персонажа), не дожидаясь завершения этой инструкции памяти.

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

Наконец, DirectX 12 также поддерживает ряд функций DirectX 12 Ultimate.

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

DirectX 12 против DirectX 11: производительность

Производительность DirectX 11 по сравнению с DirectX 12.

Между DirectX 11 и DirectX 12 много технических различий, но главное — производительность.

Как вы можете видеть на диаграмме выше, вы почти всегда получаете лучшую производительность с DirectX 12, чем с DirectX 11, поэтому лучше использовать более новый API.

Мы увидели «почти», потому что API — не единственный фактор производительности.

Некоторые игры не видят больших преимуществ от DirectX 12, потому что некоторые игры видят больше преимуществ от низкоуровневой оптимизации, чем другие.

Dying Light 2, например, практически не изменился в производительности.

Но в Civilization VI, которая имеет огромные рабочие нагрузки ИИ, которые выигрывают от асинхронных вычислений, наблюдается огромное улучшение.

Shadow of the Tomb Raider и Tiny Tina’s Wonderlands находятся где-то посередине.

Игры — не единственный фактор.

Приведенные выше результаты были получены с AMD RX 7900 XTX последнего поколения AMD.

Более новые видеокарты и процессоры получат больше преимуществ от DirectX 12, чем более старые поколения.

Однако здесь довольно широкая сеть.

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

Если у вас современный ПК, DirectX 12 обычно является правильным ответом.

Стоит ли использовать DirectX 12?

Карта в Civilization VI.

Существует дюжина или более игр, поддерживающих DirectX 11 и DirectX 12, включая Civilization VI, Control, Shadow of the Tomb Raider и Dying Light 2.

Большинство игр по умолчанию используют DirectX 11 в целях совместимости, но рекомендуется переключиться в режим DirectX 12.

Единственное исключение — если у вас старый компьютер, которому 10 и более лет.

Старое оборудование может работать более плавно на DirectX 11, а DirectX 12 может вообще не давать особых преимуществ.

Однако подавляющему большинству людей следует выбрать DirectX 12 из-за его более широких функций и лучшей оптимизации игры.

Заключительные слова: что такое DirectX, почему он важен для компьютерных игр?

Я надеюсь, вы понимаете эту статью, что такое DirectX, почему это важно для компьютерных игр?

Если ваш ответ отрицательный, вы можете задать любой вопрос через раздел комментариев, связанный с этой статьей.

И если ваш ответ да, пожалуйста, поделитесь этой статьей со своими друзьями и семьей, чтобы поддержать нас.

До скорых встреч! Заходите!

Средний балл: 4.3

Подписаться на обновления блога!