Наверное, нет такого пользователя операционной системы Виндовс, который хотя бы однажды не задавался вопросом «Что такое DirectX?». Ответ на него одновременно прост и сложен. Все зависит от того, с какой стороны посмотреть: простого пользователя или программиста.
Чтобы все-таки разобраться, что такое DirectX, мысленно совершим небольшую экскурсию в прошлое или, если говорить точнее, в славные времена царствования системы ДОС (MS-DOS). Это сейчас серьезные технологические прорывы в области вычислительной техники происходят достаточно редко. Очевидно, что в настоящее время преобладает экстенсивный путь развития, когда увеличивают количество ядер в центральных процессорах, предлагают системы Слай (SLI) для видео, Raid для дисков и многоканальный доступ к оперативной памяти. Выбирая монитор или видеокарту, никто теперь не интересуется, какого же они стандарта.
Десяток-другой лет назад все было иначе: существовали мониторы CGA, EGA, VGA и даже Tandy c Hercules. Не отставали от них и видеокарты. Да и звуковые решения были самые разные: Sound Blaster, Covox, PC Speaker и пр. Теперь представим себе программиста, который решил написать программу. Так как работа с компонентами компьютера выполнялась путем прямого обращения к нужным адресам, он должен был предусмотреть все возможные варианты комбинаций комплектующих. Работка была еще та, хотя при удачном исполнении производительность программы становилась колоссальной.
В это же время появилась система Win 95, и ее создатели всерьез задумались о способах популяризации. Из-за особенностей ядра прямая работа с адресами (как было в ДОС) стала невозможной. Вот мы и подошли к тому, что такое DirectX. Программистам был предложен уникальный инструмент – DirectX. Это набор системных библиотек (файлов), предназначенный для обеспечения взаимодействия с оборудованием. Теперь программе не нужно определять, какая видеокарта установлена в компьютере – достаточно с помощью определенного обращения задать команду, и если операционная система может с ней работать, то приложение получит запрашиваемый доступ. То есть, чтобы отобразить на экране точку, не нужно знать особенностей программирования данного видеоадаптера, а просто по правилам DirectX указать «отобразить точку по координатам». Тот, кто интересуется, что такое DirectX, знает, что библиотеки (API) по предназначению разделяются на Direct3D, DirectDraw, DirectSound и пр. Кроме того, есть разные версии: от 1 до 11.1, причем, что важно, они совместимы сверху вниз.
Часто задается вопрос «Как установить DirectX 11?». Эта версия – одна из последних. По умолчанию установлена в Win Vista SP2 и выше. В новейшей Win 8 уже идет 11.1. Установка в Win XP официально невозможна, хотя ходят слухи об успешной частичной адаптации. Если выдается сообщение «Произошла внутренняя системная ошибка DirectX» или игра не запускается, можно попробовать обновить установленную версию DirectX. Для этого рекомендуется поступить следующим образом: зайти на сайт Майкрософт в раздел загрузок, в строке поиска набрать «DirectX», скачать небольшой файлик для нужной версии (около 300 Кб) и запустить его. Недостающие файлы будут автоматически скачены и установлены.
Определить используемую версию можно так: открыть меню кнопки Пуск, в строке поиска набрать Dxdiag и нажать Enter. Все нужные данные будут приведены в появившемся окне. Любителям современных игр можно посоветовать установить себе Семерку или даже Win 8 – в них поддержка DirectX 11 есть «из коробки».
Справедливый вопрос - зачем нужны новые версии? Представим ситуацию, когда программист, например, дает команду в приложении библиотекам API «нарисовать светло-синий овал». Она будет выполнена при выполнении двух требований: видеокарта понимает эту команду, она прописана в версии DirectX. Если с аппаратной составляющей все понятно (указано на коробке), то второй пункт требует пояснения. Команда «нарисовать светло-синий овал» может быть поддержана только в 11 версии, а в 10 для формирования такого изображения требуется две команды: «нарисовать светло-синий круг и растянуть его до овала». Вот так все просто.