Microsoft DirectX: Совместимость, Альтернативы и NET Framework

Совместимость
Такие API, как Direct3D и DirectSound, напрямую взаимодействуют с оборудованием через драйверы. Производители оборудования должны писать эти драйверы для конкретной версии DirectX «Device Driver Interface» (или DDI). Более старые версии DirectX включали ряд обновлений драйверов DirectX, но от этой практики отказались в пользу Центра обновления Windows, который позволяет пользователям загружать только драйверы, специфичные для их оборудования. Версии до DirectX 10 должны были быть обратно совместимы со старыми драйверами, можно было использовать более новые версии DirectX с драйверами, написанными для поддержки более старой версии DDI. Например, игра на основе Direct3D 9мог работать на машине, оснащенной картой, имеющей только один драйвер, разработанный во времена DirectX 6 . С другой стороны, с DirectX 10 в Vista, учитывая масштаб изменений и тот факт, что определенные функции, предоставляемые API, доступны только благодаря новой модели драйвера, невозможно использовать приложение, разработанное для этой версии, соответствующее DirectX без драйверов. к новой модели драйвера WDDM. Некоторые версии DirectX поставляются с предустановленными многими версиями Windows для поддержки приложений, написанных с использованием более старых версий этого API, если они не были переписаны для самой последней версии и продолжают использоваться.

.NET Framework
В 2002 году Microsoft предоставила разработчикам версию DirectX SDK, содержащую сборки .Net, позволяющие использовать DirectX из управляемого кода, будь то управляемый C ++, C # или любой другой язык, поддерживаемый .NET Framework. Эти сборки были сгруппированы под названием «Управляемый DirectX» (или MDX) и позволяли получить производительность, которая не обязательно должна была стыдиться сравнения с тем, что можно было получить в родном C ++. Вдекабрь 2005 г., Февраль 2006 г., Апрель 2006 г. и Август 2006 г., Microsoft предоставила разработчикам последовательные обновления этой технологии для достижения версии 2.0, которая никогда не существовала, за исключением бета-версии, срок действия которой истек5 октября 2006 г..

Во время GDC 2006 года Microsoft представила XNA GSE Framework, которая должна была стать новой библиотекой, позволяющей разработчикам, желающим создавать игры с использованием языка .Net, получать доступ к функциям DirectX. Эта структура также направлена на облегчение их работы путем объединения функций, которые ранее можно было найти разбросанными в разных сборках . Эта платформа также поддерживает выполнение приложений, созданных на Xbox 360 . Версия RTM была поставлена11 декабря 2006 г., в виде бесплатного загружаемого пакета. В отличие от DirectX или Managed DirectX, компоненты XNA GSE Framework или API из Xbox 360 (XInput, XACT и т.д. ) Не предустановлены ни в одной из версий Windows, поэтому рекомендуется устанавливать их одновременно с любой версией Windows. игру, используя.

В начале 2013 года Microsoft объявила о завершении разработки XNA и выходе из программы сертификации MVP (Most Valuable Professionals) на 1-го апреля 2014. Затем сообщество с открытым исходным кодом вступает во владение такими фреймворками, какMonoGame(являющаяся реализацией XNA с открытым исходным кодом) и API, такими как SharpDX, которые обращаются к собственному коду DirectX (например, MDX).

64-битный и 32-битный
Система DirectX совместима со всеми операционными системами Microsoft, 32-битными (x86) и 64-битными (x64).

Альтернативы
Есть несколько библиотек, которые часто охватывают некоторые функции DirectX. Используя их комбинацию, можно достичь того же набора функций, что и DirectX, мы можем упомянуть SDL , Allegro , OpenMAX , OpenML , OpenGL , OpenAL , Vulkan , FMOD и т.д. Эти библиотеки могут иметь то преимущество, что позволяют разрабатывать переносимые приложения в операционных системах, отличных от Windows. Эти библиотеки в основном из проектов с открытым исходным кодом .

Другие проекты, такие как часть Wine , нацелены на альтернативную реализацию того же набора функций.

Show Buttons
Hide Buttons