DirectX представляет собой интерфейс прикладного программирования (application programming interface или API) для операционной системы Windows. Это программно-аппаратный комплекс, разработанный для работы с мультимедиа. В основном, говоря об этом комплексе, подразумевают работу с графическими приложениями.
Первый пакет DirectX был выпущен в далёком 1995 году вместе с Windows 95. С тех пор каждая новая версия пакета регулярно выпускается с новыми продуктами от Microsoft.
Одной из особенностей данного интерфейса является то, что его реализация не является исключительно программной. Для корректной работы приложений, написанных под него, необходимо наличие соответствующих устройств. Грубо говоря, чтобы реализовать какие-то функции трёхмерной графики, совместимые с DirectX определенной версии, видеокарта также должна быть с ней совместима.
Аппаратная реализация DirectХ 11 была реализована в 2009 года в видеоадаптерах Radeon серии 5800 и в конце 2010 года в GeForce серии 400. В настоящее время данный пакет уже является устаревшим, поскольку спустя 4 года были выпущены видеокарты с поддержкой DirectX 12.
Подавляющее большинство современных видеоадаптеров поддерживают 11-ю версию данного пакета, но многие более старые карты могут его и не поддерживать.
Определение совместимости directx 11
Узнать, какой пакет Direct Х 11 установлен в операционной системе можно достаточно просто – необходимо использовать стандартную программу диагностики dxdiag.exe
Этот пакет входит в базовую поставку любой версии Windows, начиная с Windows 98. Её можно запустить из консоли (нажав Win+R) и набрав название программы «dxdiag.exe» в появившемся диалоговом окне.
На первой же странице будет отображена поддерживаемая программная версия продукта.
Узнать, какой DirectХ поддерживает видеокарта можно при помощи любого приложения системной диагностики, например, AIDA.
Внимание! Узнать, какую версию DirectХ поддерживает видеоадаптер проще всего на сайте производителя, ознакомившись с его спецификацией.
Возможные причины и методы их устранения
Причин, по которым не работает DirectХ может быть две: аппаратная и программная. В последнем случае всё решается просто – нужно установить последнюю версию библиотеки (скачивается с сайта Microsoft) или установить самые новые драйверов видеоадаптера (скачиваются с сайта производителя).
Проблема с аппаратной частью сложнее. Что делать если видеокарта не поддерживает directx 11? Скорее всего, что ничего. Если нет аппаратной части, поддерживающей 11-й DirectX, то, естественно, в полной мере API реализован не будет. Однако, существует возможность программной эмуляции данных функций.
При помощи программы dxcpl.exe можно провести эмуляцию любого пакета API вплоть до DirectX 12. Эта программа не входит в базовый пакет, а устанавливается отдельно.
При запуске приложения необходимо указать следующие параметры:
- Какая версия API будет эмулироваться – раздел «Device Setting»; установить 11-ю.
- Какое приложение будет использовать эмуляцию – раздел «Scope».
Далее следует включить параметр «Force WAPR» и нажать «Ок». После чего можно запускать приложение, требующее 11 DirectX.
Важно! Программа dxcpl не всегда работает корректно. Связано это с тем, что не все аппаратные функции можно реализовать с её помощью, поэтому данный способ может не сработать и придётся менять видеоадаптер на более новый.