Откажитесь от DirectX: пришло время начать использовать Vulkan с компьютерными играми
С момента запуска в 2016 году Vulkan позиционируется как убийца DirectX . Начало было медленным, но за последние шесть лет открытый программный интерфейс набрал обороты, появившись в таких разнообразных играх, как Red Dead Redemption 2 и Hollow Knight. Однако с недавним выпуском Vulkan 1.3 мы достигли критической точки.
Самая последняя версия объединяет фрагментированную базу функций Vulkan. Программный интерфейс уже много лет поддерживает такие вещи, как трассировка лучей на смартфонах , но новый стандарт определяет список основных функций, которые должны упростить и ускорить разработку игр с Vulkan.
Учитывая обещания лучшей поддержки уникальных аппаратных конфигураций и явных улучшений производительности, геймерам на ПК, возможно, наконец пора отказаться от DirectX в пользу Vulkan.
Что такое Вулкан?
Vulkan — это кроссплатформенный интерфейс прикладного программирования (API) от The Khronos Group. Проще говоря, это часть комплекта, который работает во всех трех основных операционных системах — Linux, MacOS и Windows — и позволяет играм взаимодействовать с операционной системой. Это посредник, который несет инструкции.
ПК-геймеры, вероятно, больше знакомы с DirectX, собственным API Microsoft, который работает исключительно с Windows. Существуют десятки технических различий между DirectX и Vulkan, но вот что вам нужно знать: DirectX разработан Microsoft и работает только в Windows, а Vulkan разработан группой руководителей отрасли и работает в разных операционных системах.
И это с открытым исходным кодом. В отличие от DirectX, разработчики могут изменять и расширять Vulkan в соответствии со своими потребностями. Фактически, недавнее обновление Vulkan 1.3 было в основном упражнением по добавлению функциональности в ядро Vulkan, внесенным как Khronos Group, так и разработчиками.
Это недавнее обновление является переломным моментом для API, добавляя в базовую спецификацию столь востребованные функции. Для геймеров президент Khronos Group Нил Треветт говорит, что преимущества очевидны: «Результат для потребителей заключается в том, что игры смогут поставляться с более продвинутой функциональностью быстрее».
Вулкан быстрее, чем DirectX
Битва Давида и Голиафа между многомиллиардной корпорацией с закрытым исходным кодом и некоммерческим консорциумом с открытым исходным кодом — это история на века, но есть более весомые причины поддерживать Vulkan в компьютерных играх. В матчах один на один Vulkan просто превосходит DirectX.
Я протестировал четыре игры, поддерживающие Vulkan и DirectX, чтобы измерить разницу в производительности. Обратите внимание, что во многих играх используется один или другой, а некоторые игры используют оба для разных целей. Например, Crysis Remastered использует DirectX в качестве основного движка рендеринга, но использует Vulkan для трассировки лучей.
Начиная с самого последнего DirectX 12 , Vulkan удалось превзойти его в Red Dead Redemption 2 и Strange Brigade как в разрешении 1080p, так и в 4K. Они также не являются незначительными различиями. В Strange Brigade с разрешением 1080p простое переключение на Vulkan увеличило среднюю частоту кадров на 9%.
Имейте в виду, что API был единственным , что менялось между прогонами, а Strange Brigade и Red Dead Redemption 2 имеют внутриигровые тесты. Включение Vulkan также бесплатно — это бесплатная производительность, которую вы оставляете на столе, если используете DirectX.
Вернитесь к DirectX 11, и различия станут еще яснее. В Rainbow Six Siege и World War Z доступны Vulkan и DirectX 11, и Vulkan по-прежнему быстрее в 4K и 1080p.
Это имело огромное значение при разрешении 1080p в World War Z, увеличив мою среднюю частоту кадров почти на 21%. Vulkan справляется с многоядерными рабочими нагрузками ЦП намного лучше, чем старые версии DirectX — DirectX 12 лучше в этом отношении — и это может иметь огромное значение при работе с более низкими разрешениями.
Эти четыре игры вряд ли являются полным представлением игр, в которые играют люди. Но их достаточно, чтобы заставить колеса вращаться вокруг того, что может быть в огромном количестве названий, которые поддерживают только DirectX. Хорошей новостью для геймеров на ПК является то, что Vulkan набирает обороты, и это не имеет ничего общего с производительностью.
Кроссплатформенная поддержка, Steam Deck и облачные игры
Производительность — это главное, но Vulkan действительно важен, потому что он поддерживает кроссплатформенность. DirectX работает только с Windows. Как разработчик, создающий игру с DirectX, вы должны учитывать перенос игры на другие платформы. И другие платформы становятся все более важными.
Steam Deck — знамение времени. Valve рекомендует разработчикам использовать Vulkan в качестве основного API для Steam Deck, поскольку Steam Deck использует Linux. Когда я указал на это Треветту, он согласился, но указал на несколько более крупных отраслевых тенденций, которые стимулируют внедрение Vulkan.
«Существует множество отраслевых тенденций, которые способствуют более широкой поддержке Vulkan. Быть основным API на таких инновационных устройствах, как Steam Deck от Valve, — это, безусловно, одно из них. Включение служб потоковой передачи игр для размещения игр на Linux в облаке — это еще одно. Теперь доказано, что использование многоуровневого Vulkan поверх Metal на iOS и MacOS дает отличную производительность. И, конечно же, Vulkan является предпочтительным API для игр нового поколения на Android (крупнейшей платформе в крупнейшем сегменте игрового рынка)», — сказал Треветт.
Треветт также отметил, что Vulkan — единственный современный API, который является одновременно кроссплатформенным и открытым исходным кодом. Существуют и другие операционные системы и мобильные устройства, но у Vulkan есть приложения и в других местах. Например, он работает в Google Stadia и даже поддерживает консоли с Nintendo Switch.
Vulkan, вероятно, является важной причиной, по которой у нас есть порты Doom и Doom Eternal на Switch, и именно поэтому Hades перешел на ПК и Switch, прежде чем перейти на другие консоли. С появлением большего количества игр на большем количестве устройств, чем когда-либо прежде, преимущество Vulkan очевидно: он позволяет разработчикам создавать игры для большего количества платформ и, как правило, с повышением производительности по сравнению с API с закрытым исходным кодом.
Годы в создании
Vulkan был выпущен в 2016 году и дебютировал как единственный API в Doom. В то время его хвалили, но импульс, который Вулкан набрал с тех пор, — это отдельная история. Благодаря Vulkan у нас есть порты для Linux для Shadow of the Tomb Raider и Hollow Knight, и он играет ключевую роль в мобильных играх, выходящих на ПК, и наоборот.
Вам не нужно смотреть дальше Red Dead Redemption 2 , чтобы увидеть, как набирает обороты Vulkan. Массивная игра класса ААА от одного из самых богатых разработчиков игр в мире выбрала Vulkan по умолчанию для ПК, а не для DirectX.
Тем не менее, мы далеки от того, чтобы Vulkan стал API по умолчанию в каждой игре. Microsoft, правильно это или неправильно, обладает монополией на компьютерные игры, а DirectX по-прежнему вписывается в рабочие процессы бесчисленного множества разработчиков. Надеемся, что благодаря изменениям, которые приносит Vulkan 1.3, и развитию таких устройств, как Steam Deck, мы увидим более широкую поддержку в будущем.