DirectX проти Vulkan: зіткнення сучасних графічних API

DirectX від Microsoft і Vulkan від Khronos Group — це два широко використовувані графічні API, які сьогодні віддають перевагу багатьом розробникам ігор. По суті, Vulkan і DirectX забезпечують ефективний розподіл апаратних ресурсів (ЦП і ГП), щоб ігри могли досягати високої частоти кадрів і швидкого рендерингу. Але як порівняти ці два графічні API, Vulkan і DirectX? Який з них кращий для ігор? Давайте досліджувати.

По-перше, давайте заглибимося в еволюцію та історію, щоб підкреслити важливість графічних API, таких як DirectX і Vulkan.

Ігри для ПК почалися з DirectX

Спочатку команда Microsoft розробила DirectX, щоб прискорити впровадження серед розробників ігор, гарантуючи, що комп’ютери на базі Windows мають ігри для користувачів. До DirectX розробники віддавали перевагу створенню ігор для DOS і не планували випускати нові ігри для Windows.

Це було приблизно в той час, коли збиралася запустити Windows 95. Окрім ігор для DOS, консольні ігри також набирали обертів. DirectX 1.0, відомий як Windows Game SDK, був випущений у вересні 1995 року.

По суті, він називається DirectX, тому що він був розроблений, щоб обійти операційну систему, відсунути Windows, витягнути її з пам’яті, позбутися всього сміття, що конкурує з іграми за ресурси, і просто дозволити іграм працювати.

Алекс Сент-Джон, натхненник DirectX

Алекс Сент-Джон, член команди DirectX, поділився в інтерв’ю, що Microsoft довелося невпинно переконувати розробників ігор прийняти DirectX. Вони звернулися до проблем розробників і використали їхні відгуки, щоб покращити ігри в Windows, заохочуючи до створення нових ігор для операційної системи, якою користуються мільйони людей.

Зображення: Microsoft

Під час створення DirectX існували сміливі маркетингові стратегії, спрямовані на те, щоб залучити ігрову індустрію до прийняття API та заохотити розробку комп’ютерних ігор для Windows.

Читайте також:

DirectX дозволив розробникам ігор ефективно використовувати апаратне забезпечення ПК без втручання з боку операційної системи. Такі компоненти, як DirectSound для обробки аудіо, DirectPlay для спілкування в грі та DirectDraw для відтворення графіки, були частиною DirectX 1.0, спочатку відомого як «Ігровий SDK» або «Проект Манхеттен.Сьогодні DirectX — це комплексний набір API, який широко використовується в багатьох іграх. Хоча DirectX 12 є останньою версією, багато ігор все ще використовують DirectX 11.

Vulkan було створено зі схожими цілями, але реалізовано по-різному

Vulkan бере свій початок від Mantle API від AMD, який був розроблений у співпраці з DICE. Спочатку використовувався в таких іграх, як Sniper Elite III, Battlefield 4 і Civilization: Beyond Earth, Mantle мав на меті запропонувативища продуктивність порівняно з DirectX 11, особливо в сценаріях із вузьким місцем ЦП. Незважаючи на свої переваги, Mantle зіткнувся з обмеженим впровадженням.

Згодом AMD надала Mantle API групі Khronos, яка використовувала його як основу для розробки Vulkan. Vulkan був офіційно представлений як новий графічний API на GDC 2015. Сьогодні Vulkan став важливим відкритим стандартом поряд із DirectX 11 і DirectX 12, який широко використовується в багатьох іграх.

Зображення: Хронос Група

Однією помітною відмінністю між Vulkan і DirectX є те, що Vulkan єкросплатформний API, що підтримує як настільні, так і мобільні середовища. Дизайн Vulkan наголошує на мінімізації «накладних витрат драйвера», що може значно підвищити продуктивність, ця функція також інтегрована в останню реалізацію DirectX 12.

За останні п’ять років і DirectX, і Vulkan зазнали значних удосконалень, кожна з яких має свої сильні сторони. Давайте заглибимося в їх продуктивність і порівняємо DirectX із Vulkan у різних сучасних іграх.

DirectX проти Vulkan: порівняльні переваги

Vulkan відомий своїм ефективним використанням апаратних ресурсів, досягаючи збалансованого використання центрального процесора, графічного процесора та оперативної пам’яті порівняно з DirectX 12. Будучи API нижчого рівня та відкритим кодом, Vulkan підтримуєкросплатформенністьрозробки, дозволяючи розробникам оптимізувати випуски на платформах ПК і мобільних пристроїв. Проте йогоскладністьможе створювати проблеми, потенційно збільшуючи час розробки.

Для розробників природа Vulkan з відкритим вихідним кодом і крос-платформні можливості роблять його надзвичайно привабливим. Доступно багато навчальних матеріалів, що робить їх доступними для новачків у розробці графіки та ігор. Деякі розробники вважають Vulkan легшим і чистішим у використанні, з кращою документацією порівняно з DirectX. Зрештою, деякі ігри пропонують користувачам обидва API на вибір, що задовольняють різні системні конфігурації та вподобання.

Дійсно, DirectX в основному використовується для ПК з Windows і консолей Xbox, тоді як Vulkan підтримує більш широкий спектр платформ, включаючи Linux, Windows і різні мобільні операційні системи. Vulkan також сумісний із Nintendo Switch, який використовує графічний процесор Nvidia Tegra, здатний запускати Vulkan.

Читайте також:

Що стосується оптимізації та API, ігрові консолі, такі як PlayStation, розроблені спеціально для ігор, що дозволяє розробникам досягти дуже прямої та ефективноїAPIз мінімальними накладними витратами. Ця спеціалізація часто призводить до кращої продуктивності порівняно з ПК, де такі API, як DirectX і Vulkan, повинні обслуговувати ширший діапазон конфігурацій обладнання та програмного середовища.

DirectX проти Vulkan: продуктивність

Розглядаючи DirectX проти Vulkan щодо продуктивності в іграх, вибір може відрізнятися залежно від конкретної гри та налаштувань апаратного забезпечення. Я провів тестування двох популярних ігор, щоб порівняти їхню продуктивність, використовуючи свій ігровий ноутбук Acer Nitro V, оснащений процесором Intel Core i5-13420H, графічним процесором Nvidia GeForce RTX 4050 і 16 ГБ пам’яті DDR5.

Важливо зауважити, що результати продуктивності можуть відрізнятися залежно від компонентів вашого ПК. Деякі ігри можуть працювати краще з DirectX, тоді як інші можуть отримати більше переваг від оптимізації Vulkan. На жаль, я зіткнувся з проблемами під час тестування DirectX 11 проти Vulkan у Baldur's Gate 3, оскільки гра постійно виходила з ладу. Після вирішення я оновлю цей розділ результатами порівняння.

Red Dead Redemption 2: DirectX 12 проти Vulkan

Під час мого тестування з Red Dead Redemption 2, Vulkanпоказав кращий мінімальний FPSі загалом підтримував стабільніший діапазон FPS порівняно з DirectX 12. Vulkan також забезпечував більш плавну роботу з вищим середнім FPS у різних сценах. З іншого боку, DirectX 12 продемонстрував вищий максимальний FPS, але мав проблеми з нижчим мінімальним FPS, що призвело до дещо менш плавної роботи в цілому.

Варто зазначити, що деякі користувачі повідомляли про проблеми з заїканням у Vulkan, тоді як інші стикалися з невідповідною продуктивністю DirectX. Щоб переключитися між Vulkan і DirectX 12 у Red Dead Redemption 2, перейдіть до налаштувань графіки в грі та виберіть розширені налаштування графіки. Звідти ви можете перемикатися між Vulkan і DirectX 12 і запускати тест у грі, щоб порівняти показники FPS. Вибір графічного API, який пропонує кращий середній FPS у вашому налаштуванні, ймовірно, найкращий вибір для оптимальної продуктивності в грі.

Читайте також:

Path of Exile: DirectX 11 проти DirectX 12 проти Vulkan

Під час мого тестування Path of Exile на моєму ігровому ноутбуці Acer RTX 4050 Vulkan виявився оптимальним вибором серед трьох доступних графічних API. Vulkan стабільно забезпечував близько 80 FPS у більшості сценаріїв, пропонуючи плавну продуктивність гри. Незважаючи на те, що DirectX 11 був старішим API (випущений у 2009 році), у деяких випадках він забезпечував кращі показники продуктивності, але не відповідав загальній стабільності та послідовності FPS Vulkan. З іншого боку, DirectX 12 давав незадовільні результати з падінням FPS нижче 60 у певних сценаріях.

Вибір для гравців Path of ExileВулканіз доступних графічних параметрів API, здається, забезпечуєнайкращий баланспродуктивності та стабільності на аналогічних налаштуваннях апаратного забезпечення.

DirectX проти Vulkan: який варіант вибрати?

Залежно від специфікацій вашої системи один із цих двох API може забезпечувати чудову продуктивність. Оптимізація гри також відіграє вирішальну роль. Щоб визначити, чи DirectX чи Vulkan більше підходить для ваших потреб, проведіть тести продуктивності в грі та порівняйте FPS.

Як правило, DirectX забезпечує більшу стабільність, хоча це не завжди так. Vulkan часто хвалять за збалансований підхід із мінімальними витратами. Користувачі GPU AMD можуть отримати особливу вигоду від Vulkan, можливо, через те, що він походить від AMD Mantle.

Зрештою, геймерам слід віддавати пріоритет тому API, який забезпечує кращу продуктивність у їхній системі. Що ви думаєте про DirectX проти Vulkan? Поділіться своїми думками в коментарях нижче!

Related Posts