Я думаю, что каждый любитель компьютерных игр сталкивался с таким термином. Далеко не все понимают для чего он предназначен. Проще говоря, DirectX — это определенный промежуточный слой, между видеокартой и видеоигрой.
Немного истории
Создателями ПО является всем известная компания Microsoft. DirectX – это набор инструментов, предназначенный для создания компьютерных игр или работы с компьютерной графикой.
В случае, если программа или же видеоигра была создана с помощью Директ Икс, то для стабильной работы и запуска на компьютере обязательно должно быть ПО, указанное выше. Важно иметь именно такую версию, которая нужна для конкретной игры или программы. Обычно создатели программного обеспечения прикрепляют нужную компоненту к их продукту, но иногда такого не происходит, и пользователь вынужден сам скачивать нужный компонент.
Первая версия Windows Game SDK (раннее название directX) появилась еще в 1995 году и была создана как аналог уже существующей графической библиотеке OpenGL.
Различие версий
Во время появления первых игр, поддерживающих DirectX 12 новая версия приводила к снижению производительности, особенно на видеокартах NVIDIA. Но технологии развиваются со скоростью света. Каждая последующая цифра в названии делает возможным программистам добавить новый пакет эффектов в игру или оптимизировать старые.
Более подробно рассмотрим различие между компонентами на видео:
Возьмем в качестве примера игру Dirt 3.
На видео мы можем заметить, как отличается изображение в зависимости от версии.
К примеру, в изображении с левой стороны (используется Директ 11) более мягкие тени, добавлены эффекты летящего из-под колес снега. Этого результата можно добиться и на DirectX 9, но это серьезно скажется на производительности компьютера. Это можно обосновать тем, что девятый Директ менее оптимизирован.
В качестве второго примера приведу грамотный разбор автором различных версий ПО в популярных на сегодняшний день играх
В видеоролике проводится сравнение двух DirectX, а именно 11-й и 12-й.
Поддержка различных версий Windows
DirectX по своей сути – папка программных библиотек. В случае если его не будет, то игры либо не будут запускаться, либо будут без эффектов. Список поддержки предустановленных операционной системой разных версий Директа ниже.
Следующие версии, такие, как 11.3, 11.1, 11, 11.2 поддерживают операционные системы: Windows 8, 8.1, 10, 7
Directx12 предустановлен в Windows 10.
Более ранние, а именно 10, 10.1 и 9.0c поддерживают операционные системы windows XP, Vista, SP1, SP2 и SP 3
Как узнать какой DirectX, поддерживает видеокарта
Информацию о поддержке можно найти на сайте производителей видеокарты или в любом из интернет-магазинов в описании видеокарты. Такие популярные видеокарты, как GeForce GTX 1050 4 gb, 1080 8gb, 1030 2gb, 1060 6gb, Sapphire Radeon RX480 8gb, 970 4gb поддерживают DirectX 12.
Также можно воспользоваться утилитой GPU-Z. После запуска в указанном на скриншоте окне в скобках будет указана поддерживаемая версия программного обеспечения.
Определяем версию на компьютере
Чтобы понять, какой Директ стоит на компьютере достаточно нажать сочетание клавиш Win + R и ввести «dxdiag» во всплывшем окне.
После проделанных манипуляций откроется программа «Средство диагностики DirectX». Всю необходимую информацию о версии компонента и системе в целом вы можете найти в данной утилите.
Подробнее о dxdiag на нашем сайте.
Что такое Direct3D
Direct3D — это интерфейс программирования графических приложений (API) для Microsoft Windows. Часть DirectX Direct3D используют для рендера 3D графики в программах, требующих повышенную производительность, к примеру, в играх. Direct3D использует аппаратное ускорение, если оно предусмотрено в видеокарте — это делает возможным ускорить 3D-рендеринг или же ускорить его частично.
Direct3D расширяет возможности аппаратного обеспечения 3D-графики, в том числе Z и W-буферизацию, буферовку трафарета, пространственное сглаживание, альфа-смешение, смешение цветов и текстур, отсечения, отбраковки, эффекты атмосферы, перспективного текстурного картирования, программируемые шейдеры HLSL и эффекты. Объединение с другими возможностями директа позволяет Direct3D предоставить следующие функции: видео-сопоставление, 3D-рендер в 2D-оверлейных плоскостях и даже спрайты, обеспечивающие использование 2D и 3D-графики в медиа-связях.
Другие компоненты
Direct3D – это один из важных, но не единственный компонент входящий в комплект директа. Рассмотрим каждый компонент отдельно.
- DirectDraw. Сейчас не используется и его разработка прекращена. Ранее отвечал за вывод растровой графики.
- DirectInput. Эта часть отвечает за внешние игровые устройства. Т.е. именно он обрабатывает данные, которые поступают с джойстиков, мыши, клавиатуры и другого периферийного оборудования.
- DirectPlay. Отвечает за сетевое взаимодействие с играми. Доступна поддержка соединения клиент-сервер (для многопользовательских игр, которые обрабатывают данные на сервере) и клиент-клиент (локальные игры, где связь происходит напрямую между компьютерами).
- DirectSound. Как понятно из названия – это работа со звуком. Обрабатывает звук на низком уровне (формат wav).
- DirectMusic. Обработка музыки в форматах Microsoft.
- DirectShow. Тоже все должно быть понятно из названия. Отвечает за ввод и вывод аудио и видео данных.
- DirectX Instruments. Служит для синтезирования MIDI звуков. Ранее использовалась в некоторых аудио программах по написанию музыки. Сейчас практически вытеснена технологией VST от Steinberg.
- DirectSetup. Отвечает за процесс установки всего пакета директ икс.
- DirectX Media Objects. Поддержка потоковых объектов (эффекты, энкодеры, декодеры и др.)
- Direct2D: обработка и вывод двухмерной графики, в формате 2D.
Что такое Feature levels и его поддержка видеоконтроллерами
Feature levels – это уровень функций видеокарты. Это понятие начало использоваться с Direct3D 11.
Каждая видеокарта может реализовать определенный уровень функций, который зависит от установленного графического процессора. Сам по себе уровень функций – это четко заданные возможности видеоконтроллера. К примеру, Feature levels 9_1 содержит функции, которые реализованы в Direct3D 9, а 11 уровень функций, соответственно в Директ 3D 11.
Работает такая система только на повышение, например, игра или программы, разработанные для 9 версии, будут работать в 11, но на оборот нет.
Более детально о Feature levels можно прочесть на официальном сайте: https://msdn.microsoft.com/ru-ru/library/windows/desktop/ff476876.aspx