Что такое DirectX и почему это важно?

DirectX — это API или интерфейс прикладного программирования(Application Programming Interface) . Он действует как посредник между программным кодом видеоигр и оборудованием, используемым для их воспроизведения. Без DirectX играть в видеоигры было бы не так безболезненно, как сегодня, но что такое DirectX и почему он так важен?

DirectX — это API , но что это такое?

Мы говорили, что API — это программное обеспечение, которое позволяет играм взаимодействовать с оборудованием, но это сильное упрощение. В конце концов, аппаратные драйверы, которые взаимодействуют с операционной системой, также могут быть описаны таким же образом.

Что делает API, так это стандартизирует каталог команд и функций, которые разработчики игр могут запросить у компьютерного оборудования. Это программный слой между игрой и аппаратным обеспечением, который переводит два «языка», на которых говорят игра и аппаратное устройство.

Чтобы быть более точным, API взаимодействует с аппаратными драйверами от имени игры, и, поскольку и игра, и аппаратные драйверы были написаны для совместимости с DirectX , а не напрямую друг с другом, это означает, что общение происходит без проблем. 

Если вы хотите глубже изучить API(APIs) , HDG объясняет: что такое API? (HDG Explains: What Is An API?)отличное место для начала.

Старые недобрые времена до DirectX

Итак, мы установили, что DirectX — это API , который стоит между игрой и аппаратным обеспечением, которое ей необходимо для запуска, но почему видеоигра не может напрямую общаться с видеокартой, звуковой картой и так далее?

Это именно то, что случалось. Во времена MS-DOS и первые дни Windows видеоигры взаимодействовали напрямую с аппаратными драйверами.

Проблема с этим подходом в том, что разработчик игры должен был писать код для каждого отдельного продукта или семейства продуктов. Если вы сегодня играете в классическую игру MS-DOS, вы увидите записи о звуковых картах для таких брендов, как Creative SoundBlaster или AdLib .

Это были самые популярные бренды звуковых карт, поэтому разработчики игр могли охватить большинство клиентов, поддерживая их, но не всех. В конце концов, менее известные производители аппаратного обеспечения будут создавать продукты, совместимые с теми же драйверами, что и громкие имена. Вот(Which) почему в свое время мы получили так много карт, совместимых с Sound Blaster .(Sound Blaster Compatible)

В результате, даже если у вас было наиболее широко поддерживаемое оборудование, не было никакой гарантии, что данная игра будет работать на вашем компьютере. DirectX решил эту проблему.

DirectX упрощает жизнь(DirectX Makes Things Easier) разработчикам и(Developers) производителям оборудования(Hardware Makers)

Каждая версия DirectX (и мы дошли до DirectX 12 ) устанавливает набор аппаратных и программных функций, которые должны быть у совместимого оборудования. Другими словами, если вы хотите, чтобы ваша видеокарта была сертифицирована для последней версии DirectX , в нее должен быть встроен минимальный набор возможностей.

Затем разработчики пишут свои игры так, чтобы они были совместимы не с конкретной видеокартой, а с самим DirectX . Другими словами, как производители оборудования, так и разработчики игр стандартизируют свои продукты для DirectX , и поэтому любая игра и аппаратный компонент, предназначенные для работы с определенной версией DirectX , гарантированно будут хорошо работать друг с другом.

DirectX — это «X» в Xbox

Всем известно, что двумя самыми большими именами в области игровых консолей являются PlayStation и Xbox , но вы, возможно, не знаете, что первоначальное название последней было «DirectX Box».

Вероятно, к лучшему, что Microsoft решила сократить название, но это также очень точное описание консоли. Первый Xbox был собран вместе с аппаратным обеспечением ПК и работал под управлением урезанной версии Windows и DirectX . Это все еще верно сегодня с последними консолями Xbox Series X и(Xbox Series X and S consoles) S. 

Одним из больших преимуществ этого является то, что перенос игр между Xbox и ПК(Windows PC) с Windows очень прост. Поскольку они фактически являются одной и той же платформой. Однако PlayStation и Nintendo Switch используют свои собственные API(APIs) , что подводит нас к следующему важному факту о DirectX .

DirectX — не единственная игра(Game) в городе(Town)

Хотя DirectX стал одним из самых важных и широко распространенных API(APIs) , он далеко не единственный. Многие различные организации признали необходимость стандартизации. Хотя DirectX — это API , охватывающий все, от графики до игровых контроллеров, существуют также API(APIs) , ориентированные только на один аспект, например на графику.

Когда в середине 90-х годов стала популярной первая 3D-видеокарта, потребность в графических API(APIs) стала острой. Карты 3dFX Voodoo использовали проприетарный API Glide(Glide API) . OpenGL ( Open Graphics Library ) — это открытый стандарт, который остается популярным и сегодня и существует в своей современной форме как Vulkan . Кроме того, у Apple есть собственный Metal API для собственных устройств, и их гораздо больше в других категориях устройств, таких как мобильные телефоны и планшеты.

Хотя DirectX не имеет полного господства на рынке, на другие API(APIs) влияет то, что 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 . Однако, если вы ищете новое аппаратное обеспечение (особенно графические процессоры(GPUs) ), рекомендуется купить что-то, совместимое с новейшей основной версией DirectX . Так как вы хотите, чтобы ваша новая покупка оставалась актуальной хотя бы несколько лет.

Пока вы это делаете, вы также можете проверить, совместимо ли ваше новое оборудование с последними версиями других основных конкурирующих API(APIs) , таких как Vulcan .



About the author

Я инженер-программист и эксперт по Windows 10. У меня более двух лет опыта работы со смартфонами, Windows 10 и Microsoft Edge. Моя основная задача — сделать так, чтобы ваши устройства работали лучше и быстрее. Я работал над различными проектами для таких компаний, как Verizon, IMac, HP, Comcast и многих других. Я также являюсь сертифицированным инструктором по обучению работе с облачными технологиями Microsoft Azure.



Related posts