DIRECT X 10 ДЛЯ WINDOWS XP ЭТО НЕ ВОЗМОЖНО- Обзор

DirectX 10 – это новое слово в визуализации, из-за которого Windows Vista была одной из самых ожидаемых ОС. К сожалению, новая операционная система Microsoft оказалась далека от идеала, однако обновленный Директ Икс все-таки открыл перед разработчиками видеоигр новые возможности, а геймерам позволил увидеть великолепную графику!

DirectX 10 на компьютер

В десятой версии DirectX разработчики не просто улучшили уже имеющиеся технологии, а радикально изменили подход к обсчету спецэффектов, который полностью перенесли на графический процессор. Производительность CPU стала использоваться для других вычислительных операций. В результате инновационного решения ключевым аппаратным устройством, обеспечивающим высокий уровень FPS в играх, стала видеокарта. Конечно, производительность центрального процессора и оперативной памяти тоже имела большое значение, но не настолько важное, как в играх, разработанных под DX 9.x.

В обновленном Директ Икс 10 появились новые технологии графики, улучшающие следующие аспекты визуализации: динамическое освещение, анимацию растений, мягкость теней, детализацию ландшафта, плотность частиц в спецэффектах, качество отражений на металле и на поверхности воды, а также многое другое. Полная аппаратная поддержка десятой версии DirectX была реализована только в Windows Vista – появление нового поколения продукта Microsoft стало началом конца для XP. Позже, когда на основе Vista была создана «Семерка», от так называемой «Хрюши» отказались практически все, кроме любителей и обладателей очень слабых ПК.

DirectX для версий windows

Нажмите «Далее», или снимите галочки с рекомендуемого ПО и нажмите «Далее». Если снять все галочки, рекомендуемое ПО не установится!

На данном этапе если нажать «Далее» произойдет установка компонентов программы.

Графические API под Windows VistaВерсия DirectX 9, впервые представленная под Windows в 2002 году и далее неоднократно обновлявшаяся в 2003 – 2005 годах, представила более мощные по сравнению с предшественниками модели шейдерного программирования Direct3D. Версия Direct3D 9 является первичным графическим интерфейсом и для Windows Vista, оставаясь безупречным API для написания 3D игр и приложений, совместимых с многими поколениями видеокарт и выпусков Windows.

Более того, для сохранения полной совместимости со старыми версиями Windows некоторые особенности старых моделей драйвера эмулируются даже новой моделью драйвера Windows Vista. Поэтому, несмотря на поддержку новых драйверов WDDM для ряда видеокарт, Windows Vista продолжает поддерживать возможность использования старых драйверов XPDM для апгрейдов и корпоративных версий. В системах со старыми драйверами поддерживается Direct3D 9 и более старые версии интерфейсов, при этом принцип их работы будет схож с работой под Windows XP. Для работы драйвера WDDM требуется Direct3D 9Ex, Direct3D 10 или последующие версии.
Что касается так называемого Direct3D 9Ex интерфейса, который является несколько усовершенствованной версией Direct3D 9 API, в нём имеется возможность виртуализации ресурсов и ряда других возможностей для работы под Windows Vista. Этот API работает только под Windows Vista и требует драйверов WDDM.

Использование Direct3D 10 позволит оценить все прелести нового поколения видеокарт под Windows Vista
Новый Direct3D 10 полностью устраняет все узкие места прежних Direct3D API и позволяет значительным образом упростить программирование GPU и разгрузить ресурсы CPU. Теперь программируемая шейдерная модель унифицирована как для вертексных, так и для пиксельных шейдеров, с более чёткой вычислительной моделью и набором действий. Для обработки примитивов после стадии вертексных шейдеров добавлен новая стадия обработки геометрических шейдеров. В результате поток вертексной и геометрической стадий работы конвейера может быть выведен в видеопамять для повторного использования, позволяя организовать комплексные многопроходные операции GPU с минимальной загрузкой CPU, рассчитывая анимацию один раз, а отрисовывая по этим данным много раз, позволяя реализовать замещающее текстурирование (Displacement Mapping) и предоставляя интересные возможности по альтернативной интерпретации данных. Более того, такая «разгрузка» GPU позволяет использовать совершенно новые, более сложные и точные методы имитации кожи, ускорение морфинга, генерирование теней и экструзии, мельчайших деталей, физических и других эффектов.

Замещающее текстурирование (Displacement Mapping)Вот в этом, в сущности, и заключается основной «разлом» между нынешними поколениями графики и «железом» под Direct3D 10: в то время как Direct3D 9 может работать с картами эпохи DirectX7, Direct3D 10 работает только с новыми поколениями графических акселераторов, начиная с GeForce 8800.

Относительно поддержки OpenGL. Стоит отметить, что Windows Vista предоставляет ту же поддержку OpenGL, что и Windows XP, для этого потребуется инсталлируемый драйвер-клиент (Installable Client Driver, ICD) под OpenGL от производителя видеокарты. В большинстве случаев отсутствие новой версии ICD под Windows Vista обеспечит поддержку лишь уровня OpenGL v1.1.
Со времён DirectX 8.0 в состав DirectX входили такие API как:

DirectDraw — 2D растровая графика
Direct3D — D3D, 3D графика
DirectInput — обработка данных клавиатуры, мышки, джойстика и других игровых контроллеров
DirectPlay — сетевые коммуникации в играх
DirectSound — запись и воспроизведение звука
DirectSound3D — DS3D, 3D звук
DirectMusic — воспроизведение саундтреков из DirectMusic Producer
DirectSetup — инсталляция компонентов, не реализованных в API DirectX
DirectX Media — сочетание DirectAnimation, DirectShow, DirectX Video Acceleration, Direct3D Retained Mode и DirectX Transform, соответственно, для анимации, воспроизведения мультимедиа и потоковых приложений, 3D и интерактива
DirectX Media Objects — поддержка объектов потоковой обработки — кодировщиков, декодеров, эффектов
В Windows Vista реализована поддержка тех же интерфейсов Direct3D и DirectDraw, как в Windows XP, начиная с DirectX 3, за исключением режима Retained Mode в Direct3D. Разве что можно отметить ограничение для полноценных 64-битных приложений Windows XP Professional x64 Edition, поддержка функций которых под Windows Vista ограничена Direct3D9, DirectDraw7 и более новыми версиями интерфейсов.

Таким образом, сегодня мы в общих чертах определились с терминологией, чуток «копнули» предысторию появления DirectX 10, ранее называвшегося Windows Graphics Foundation 2.0 и DirectX Next, а ныне через раз именуемого просто Direct3D 10; в самых общих чертах ознакомились с его возможностями. Полагаю, для первого раза достаточно.

DirectX для Windows XP на компьютер

Директ Икс не имеет своего интерфейса, создавая образ так называемой невидимой программы. Однако без нее на вашем Windows XP не будет правильной передачи графического изображения от запускаемого игрового софта. Чем «проводник» новее, тем больше возможностей и лучшее качество изображения он вам предоставит.

Оптимальной для Windows XP является версия DirectX 9.0с. Примечательно, что некоторые разработчики игр даже включают утилиту в установочный диск для удобства потенциального пользователя. Наличие DirectX обеспечит всю полноту графики и достойный звук.

Сам по себе состав DirectX является многокомпонентным, в нем присутствуют наборы 2D и 3D, которые четко передают двухмерную и трехмерную графику соответственно. Эти же компоненты сделают все, чтобы цветопередача игры «не тормозила» и не раздражала этим геймера. Предусмотрен даже DirectWrite, который обеспечивает работу с текстом, а также XAudio2, реализующий волшебное трехмерное звучание во время игрового процесса. Не обошлось и без набора, который позволяет получить информацию с устройств ввода — мышки, клавиатуры, джойстика — в его роли выступает XInput. Таким образом, кроме непосредственной обработки видео и аудио, Директ Икс имеет доступ к данным с периферийных устройств.

Необходимо, чтобы утилита получала аппаратную поддержку со стороны видеокарты. Возможности Директ Икс при этом достаточно обширны. Именно эта программа обеспечивает ускорение графических элементов, наличие лучей, образование теней, мягкие или четкие грани и даже поддержку многопользовательских игр. DirectX является собственной разработкой компании Майкрософт, соответственно, утилита зачастую включена в базовый набор для установки Windows XP.

Многочисленные муссирования этого вопроса напомнили мне то далекое время, когда в классе шестом я впервые прочитал о великой теореме Ферма и исписал кучу тетрадок, взявшись с энтузиазмом за проблему, которая мне была явно не по зубам. Как раз в то время я увлекался сбором всевозможных доказательств теоремы Пифагора и более общая задача вызвала непреодолимое желание ее решать. Кстати, решение было найдено Эндрю Уайлсом и опубликовано в 1993 году, 368 лет множество великих математиков ломали над ней голову.

 

Одно дело – сделать совместимыми уже выпущенные DirectX 10 игры, в которых разработчик использовал весь спектр возможностей нового АПИ, и совсем другое – попробовать использовать эти новые возможности видеокарт в полной мере в старой ОС при разработке новых игр.

По первой части.
Для Microsoft разрушить усилия всех желающих внедрить “поддержку DirectX 10 на Windows XP” — нетрудное дело, всего лишь нескольких часов, надо лишь задействовать несколько скрытых механизмов, имеющихся в библиотеках и ОС. Одно критическое обновление и годы стараний народных героев пойдут коту под хвост. И это, безусловно, будет сделано, как только такая угроза станет хоть немного реальной (вспомним мгновенное умышленное снятие поддержки SLI с чипсетов ULI в драйверах, сразу после приобретения Нвидией этой компании. Матери с чипсетами ULI прекрасно работали в SLI, но стоили в три раза дешевле. Была нужна Нвидии конкуренция с дорогими NForce?).

Избавиться от этого дамоклова меча – значит переписать DirectX 10 полностью. Флаг в руки, давно ждем-с таких героев.

По второй части.
Теоретически, никто не запрещает, зная архитектуру карт (это известно), и их технические описания и руководства по системному программированию (а вот это уже закрытая тема, но на этой Земле очень трудно хранить тайны), обеспечить полный контроль над видеокартой и использование всех ее возможностей. Но куда мы с таким подходом пришли? Правильно, во времена MS-DOS. Для этого теперь программистам надо в совершенстве знать кучу деталей по низкоуровневому программированию КАЖДОЙ видеокарты, на которой игра планируется выполняться (нужно будет писать и свой драйвер, и свой участок программы ТОЛЬКО для нее). Кому эта возня нужна? У разработчиков нет на это времени. Энтузиаст – хакер, типа Alky? Да, возможно, пару карт и осилит, но он никогда не успеет за потоком новых моделей, да и его работу никто, обладающий здравым смыслом, использовать не будет. Сумасшедший миллиардер, который наймет бригаду кулхацкеров? Возможно, но будет ли такая группа стабильной в достаточно долгой перспективе, ведь нужны крайне неординарные знания темы, а таких людей вообще не очень много, а работы – выше крыши. Со временем псевдоцели у грамотных людей заменяются на нормальные, такой коллектив в принципе неустойчив. В то же время есть альтернатива для здравомыслящих – использование, например, OpenGL или работа в достойной компании.

Конечно, это могут сделать сами производители видеокарт. Например, у NVidia существует специализированный драйвер под XP (162.01), задействующий хитрым образом системные ресурсы видеокарт восьмой серии для специализированных вычислений. Но они никогда не будут заниматься этим специально, для общего доступа всех и каждого, связанные многочисленными обязательствами перед Microsoft (и ответной благосклонностью).

Ну и, естественно, это может сделать сама Microsoft. Но зачем это ей надо? Наоборот, сегодня Windows XP ей уже сильно мешает. Вспомним, что даже первые планы (года три назад) были — прекратить поддержку Windows XP с 2007 года. Суровая реальность расставила все по местам, но желание быстрее убрать с арены старую ОС не исчезло.
Но я уже говорил в предыдущей статье, что по некоторым изменениям в АПИ напрашивается вывод о некоторых специально превнесенных элементах, намеренно затрудняющих портирование под старую ОС.

Пара слов по поводу быстродействия DirectX 10.
Как то до сих пор мелькали только чудесные выписки с информационных источников самой Microsoft, перевранные или выпячено-поданные многими информационными сообщениями. К примеру, заявления о валидации объектов при создании, а не при каждом использовании, что типа “устраняло миллионы лишних операций”. Звучит-то как! А кто из них считал, например, дополнительное время на переключение стадий конвейера в DirectX 10? Все нюансы программирования под DirectX 10 только сейчас опробируются и выясняются узкие места, а любой новый драйвер напрочь может изменить любое представление о правильности оптимизации кода, сделанного программистами.
Даже демонстрационные программы под DirectX 10 у самих разработчиков видекарт, имеющих полное знание всех нюансов аппаратной реализации и тонкостей своих драйверов, еле ворочаются, а они-то ведь призваны показать работу новинок во всей красе!

Да и не может пока быть полноценных DirectX 10 движков, так, наброски пока. Время еще не пришло, пока главное – максимальная массовость охвата на рынке. Конечно, R&D крупных игроков рынка вовсю работают. Когда же будет DirectX 10 выхлоп? Одному богу известно. Но он, конечно, будет.

DirectX на любой ПК или ноутбук

DirectX – это библиотеки и инструкции, на основе которых работают аппаратные устройства: жесткий диск, клавиатура, мышь, видеокарта, процессор и др. Базовый набор файлов предустановлен во всех версиях операционных систем Microsoft, начиная с Windows 95. В «Десятке» ручного обновления не требуется, в «Восьмерке» и более ранних платформах важно позаботиться о наличии актуальной версии.

Загрузить последний дистрибутив можно на нашем портале или с сайта компании Microsoft, правда, последний способ кажется некоторым пользователям неудобным из-за обязательной регистрации.

Версии DirectX совместимы между собой – устанавливайте новую, если необходимо, и не беспокойтесь о работе компьютера. Помните, в операционные системы прошлых лет невозможно установить последние версии «Директ Икс». Например, в «Семерке» предусмотрена поддержка только до 11.2, при условии установленного пакета обновлений Service Pack 1. Обновления выпускаются регулярно и предоставляются разработчиками совершенно бесплатно. Пользователям не нужно удалять ранее установленные файлы – достаточно запустить инсталлятор и подтвердить принятие лицензионного соглашения.

Геймеры прекрасно знают, зачем нужны библиотеки DirectX и как работает универсальное решение от Microsoft, лучше которого ничего не придумали до сих пор. При отсутствии необходимых файлов игра не запустится. Некоторые разработчики предоставляют возможность выбирать версию DirectX – самая последняя обеспечивает самое высокое качество графики, однако максимальный уровень детализации спецэффектов и текстур может привести к падению уровня FPS, если аппаратная производительность ПК оставляет желать лучшего. Устаревшая версия DirectX не позволяет насладиться красотой видеоигр даже при наличии в системном блоке топовой видеокарты от компании NVIDIA или AMD.

В течение долгих поисков метода привязки DirectX10 к Windows XP был найден способ замены таблицы импорта системных DLL из Windows Vista, что позволило вплотную приблизиться к решению проблемы запуска DX10 совместимых программ и добиться заметного увеличения быстродействия и качества графики в играх!!

Александр

Здравствуйте, меня зовут Александр, уже более 10 лет я занимаюсь ремонтом компьютером, этот сайт я создал чтобы делиться полезной и практической информацией с вами! Буду благодарен, если вы опишите свой опыт или мнение в комментарии, надеюсь, что данная информация принесёт только пользу

Оцените автора
WindowsComp.ru
Добавить комментарий