DirectX — это API или интерфейс прикладного программирования. Он действует как посредник между программным кодом видеоигр и оборудованием, используемым для их воспроизведения. Без DirectX играть в видеоигры не было бы так безболезненно, как сегодня, но что такое DirectX и почему он так важен?
DirectX — это API, но что это такое?
Мы говорили, что API — это программное обеспечение, которое позволяет играм взаимодействовать с оборудованием, но это большое упрощение. В конце концов, таким же образом можно описать и драйверы оборудования, взаимодействующие с операционной системой.
API стандартизирует каталог команд и функций, которые разработчики игр могут запросить у компьютерного оборудования. Это уровень программного обеспечения между игрой и оборудованием, который переводит два «языка», на которых говорят игра и оборудование.
Если быть более точным, API обращается к драйверам оборудования от имени игры, и поскольку и игра, и драйверы оборудования написаны с учетом совместимости с DirectX, а не друг с другом напрямую, это означает, что общение происходит без проблем.
Если вы хотите глубже изучить API, HDG объясняет: что такое API? — отличное место для начала.
Старые плохие времена до DirectX
Итак, мы установили, что DirectX — это API, который стоит между игрой и оборудованием, на котором она должна работать, но почему видеоигра не может просто взаимодействовать напрямую с видеокартой, звуковой картой и т. д.?
Раньше именно это и происходило. Во времена MS-DOS и первых дней существования Windows видеоигры напрямую взаимодействовали с драйверами оборудования.
Проблема такого подхода в том, что разработчику игры приходилось писать код для каждого отдельного продукта или семейства продуктов. Если вы сегодня играете в классическую игру MS-DOS, вы увидите записи о звуковых картах таких брендов, как Creative SoundBlaster или AdLib.
Это были самые популярные бренды звуковых карт, поэтому разработчики игр могли охватить большинство клиентов, поддерживая их, но не всех. В конце концов, менее известные производители оборудования начали создавать продукты, совместимые с теми же драйверами, что и известные производители. Именно поэтому в свое время у нас появилось так много карт, совместимых с Sound Blaster..
В результате, даже если у вас было наиболее широко поддерживаемое оборудование, не было никакой гарантии, что данная игра будет работать на вашем компьютере. DirectX решил эту проблему.
DirectX упрощает работу разработчиков и производителей оборудования
Каждая версия DirectX (а мы вплоть до DirectX 12) устанавливает набор аппаратных и программных функций, которыми должно обладать совместимое оборудование. Другими словами, если вы хотите, чтобы ваша видеокарта была сертифицирована для последней версии DirectX, в нее должен быть встроен минимальный набор возможностей.
Разработчики пишут свои игры так, чтобы они были совместимы не с конкретной видеокартой, а с самим DirectX. Другими словами, как производители оборудования, так и разработчики игр стандартизируют свои продукты для DirectX, и поэтому любая игра и аппаратный компонент, предназначенные для работы с определенной версией DirectX, гарантированно будут хорошо работать друг с другом.
DirectX — это «X» в Xbox
Все знают, что двумя крупнейшими именами на рынке игровых консолей являются PlayStation и Xbox, но вы, возможно, не знаете, что первоначальное название последней сначала было «DirectX Box».
Наверное, и к лучшему, что Microsoft решила сократить название, но это также очень точное описание консоли. Первый Xbox был собран из аппаратного обеспечения ПК и работал под управлением урезанной версии Windows и DirectX. Это справедливо и по сей день с последней версией Консоли Xbox Series X и S.
Одним из больших преимуществ этого является то, что перенос игр между Xbox и ПК с Windows очень прост. Так как по сути это одна и та же платформа. Однако PlayStation и Нинтендо Переключатель используют свои собственные API, что подводит нас к следующему важному факту о DirectX.
DirectX — не единственная игра в городе
Хотя DirectX стал одним из наиболее важных и распространенных API, он далеко не единственный. Многие различные организации признали необходимость стандартизации. Хотя DirectX – это API, охватывающий все: от графики до игровых контроллеров, существуют также API, ориентированные только на один аспект, например на графику.
Когда в середине 90-х годов стала популярна первая 3D-видеокарта, потребность в графических API стала острой. Карты 3dFX Voodoo использовали собственный API Glide. OpenGL (Открытая графическая библиотека) – это открытый стандарт, который остается популярным и сегодня и существует в своей современной форме под названием Вулкан. Кроме того, у Apple есть Металлический API для собственных устройств, а также множество других устройств в других категориях, таких как мобильные телефоны и планшеты..
Хотя DirectX не доминирует на рынке, другие API зависят от того, что Microsoft решила включить в каждую версию DirectX. При этом они не диктуют всем остальным. Каждая версия DirectX создается после консультаций со всеми заинтересованными сторонами, поэтому отношения кажутся более взаимными, чем можно было бы предположить.
DirectX — это не то, о чем вам стоит беспокоиться
Большой вопрос в том, насколько вам, пользователю, нужно беспокоиться о DirectX. Раньше при использовании более ранних версий DirectX в старых системах Windows вам приходилось устанавливать DirectX вручную. В большинстве случаев в данную игру входит минимальная необходимая версия DirectX. Если бы этот установщик обнаружил в системе более новую версию DirectX этого поколения, он бы просто ничего не установил.
Каждая версия DirectX (например, 9c, 11 и 12) уникальна, но в Windows 10 их копии уже предустановлены. Ваши старые игры будут прекрасно работать на вашем новом блестящем компьютере с Windows 10.
Что гораздо важнее, так это выбор оборудования. Вы всегда можете обновить программное обеспечение или загрузить подходящее программное обеспечение, чтобы ретро-игры работали, но имеющееся у вас оборудование невозможно заменить без обновления или нового компьютера.
Соответствие оборудования DirectX
Все оборудование, предназначенное для видеоигр или любого другого приложения, использующего аналогичную технологию, обычно совместимо с последней версией DirectX на момент ее выпуска.
Однако, если будет выпущена новая версия DirectX, существует вероятность того, что ваше существующее оборудование может оказаться несовместимым, если в нем отсутствует аппаратная функция, необходимая для работы новой версии DirectX. Однако это не повод немедленно менять оборудование!
Всегда существует переходный период, когда игры поддерживают несколько версий DirectX. Например, в настоящее время игры обычно поддерживают как DirectX 11, так и DirectX 12. Однако, если вы ищете новое оборудование (особенно графические процессоры ), то рекомендуется купить что-то, совместимое с новейшей основной версией DirectX. Поскольку вы хотите, чтобы ваша новая покупка оставалась актуальной хотя бы несколько лет..
Попутно вы также можете проверить, совместимо ли ваше новое оборудование с последними версиями других основных конкурирующих API, таких как Vulcan.
.