Підручники

▷ Directx 12 vs vulkan: боротьба за найкращий графічний движок?

Зміст:

Anonim

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

Вони мають довгу історію і цілу орду захисників і недоброзичливців. Сьогодні ми побачимо відмінності, ключі кожного з них і спробуємо запропонувати їм трохи світла.

Зміст індексу

Графічний API низького рівня та "Накладні витрати драйвера"

API розшифровується як "інтерфейс програмування прикладних програм" і являє собою набір підпрограм, які може використовуватися розробником, який також включає протоколи зв'язку та утиліти, що полегшують розробку програмного забезпечення. Ми можемо їх знайти майже для всього, і для кожного постачальника послуг є такий тип допомоги, щоб реалізувати свої системи простим та доступним способом.

API низького рівня краще скористаються ресурсами GPU, звільнивши процесор, але також можуть краще скористатися багатоядерними процесорами, які ми маємо сьогодні.

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

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

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

API низького рівня мають прямий вплив на іншу обчислювальну концепцію, яку ми знаємо як "накладні витрати", тобто, коротше кажучи, вторинні ресурси, які нам потрібні для виконання певних видів операцій на комп'ютері. Що стосується графіки, це стосується додаткових ресурсів, необхідних для виконання відеокарти, і це в основному центральний час процесора. Низькі рівні API, які ми опишемо тут, зменшують цю залежність і насправді залежність має тенденцію до 0.

Microsoft DirectX

DirectX виникає як необхідність стандартизації різних мультимедійних підсистем Windows і є заміною WinG для Windows 3.1. Він прийнятий в Windows 95 як додатковий пакет, а його друга версія DirectX 2.0 стає основним компонентом Windows 95 OSR2.

У DirectX ми знаходимо кілька незалежних API, таких як Direct3D, який насправді є питанням, DirectDraw, DirectMusic, DirectPlay та DirectSound. DirectX був способом назвати загальні досягнення в усіх цих під-API. Це API для Windows, але він також використовується для розробки ігор на його консолях Xbox, тому ми можемо вважати його Multiplatform API, але не безкоштовним, як це стосується Vulkan.

Найновіша версія DirectX 12 у нас з 2014 року і не стоїть на місці, і кілька місяців тому вона отримала важливі вдосконалення, такі як підпрограма Direct RayTracing (DXR), яка була включена до 1809 жовтня оновленої версії Windows 10.

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

Вони можуть виконувати різні типи операцій, як правило, "цілі" чи "плаваючі точки", користуючись можливостями сумісної графіки, а також розділяючи складні операції на простіші, обробляючи їх паралельно на цих великих шинах. Хорошим прикладом є те, як AMD або Nvidia тепер можуть обробляти 16-бітові операції на своїх 32-бітних шинах, істотно підвищуючи ефективність своєї графіки.

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

В даний час DirectX 12 доступний, несподівано, для Windows 7 та Windows 10, і хоча він не є безпосередньо сумісним з Xbox One, правда полягає в тому, що практично 90% його функціональності використовується для ПК, відмінності мінімальні і це дозволило розробники швидкі адаптації своїх комп'ютерних ігор для Xbox One і навпаки.

Вулкан Хронос

Vulkan - це еволюція до API низького рівня OpenGL і підтримується корпорацією Khronos. У світі ПК вони мають другорядну роль над DirectX 12, але різні його адаптації до різних платформ, таких як Android, зробили його орієнтиром у графіці для мобільності. Він також сумісний з Linux, що є чудовою альтернативою гри у безкоштовних системах.

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

Історія Вулкана починається через рік після DirectX 12, і компанія «Хронос», яка є некомерційною компанією, підтримує її так само часто або частіше, ніж Microsoft, що має власний API. Він заснований на API Mantle, що AMD розробила для своєї архітектури GCN, і це був ще один API низького рівня для зменшеного «накладного драйвера». AMD пожертвувала свої розробки Хроносу, і це є основою одного з найкращих графічних API на ринку.

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

Vulkan також представляє вдосконалення API низького рівня на Android та інших платформах.

Його остання версія, Vulkan 1.1, представлена ​​наприкінці 2018 року, додає важливих удосконалень, таких як підтримка HLSL, що є альтернативою DirectX 12 для управління операціями шейдера без необхідності попередньої компіляції, кращої сумісності з DirectX 12 (до багатьох її підпрограм крім графіки), явна підтримка систем Multi-GPU незалежно від виробника і, звичайно, підтримка RayTracing.

Сильні та слабкі сторони DirectX 12 проти Vulkan

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

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

Обидва API мають велику підтримку великої графіки, і AMD, і Nvidia прагнуть запропонувати цим API-кодам відповідні драйвери, щоб досягти обох пропонувати своїм користувачам останні вдосконалення та підвищити ефективність та стабільність ігор, які використовують одну або інший API.

"Накладні витрати на водії" обох дуже низькі, насправді, як ви побачите в наших тестах, між ними навряд чи є різниці, що також є ознакою важливої ​​оптимізації драйверів обох виробників.

Ми обмежили частоту кадрів до 120 FPS для демонстрації версії драйверів. У процесорі Dota 2 споживання процесора істотно зменшується за допомогою тих же FPS.

Єдине більш очевидна відмінність полягає в тому, що Vulkan має дещо меншу залежність від процесора, з меншим середнім споживанням і що він також набагато більш відкритий для різних платформ, включаючи Windows та Linux та його гомогенізацію з OpenGL ES, яка є його мобільною версією, вона на шляху подальшого об'єднання платформ, на яких рухається.

DirectX 12 має на користь велике визнання розробниками, які, здається, знаходять в цьому API ідеальну екосистему для зниження своїх витрат, оскільки вона навіть має велику інтеграцію в такі широко поширені рамки, як.NET Framework, де вона інтегрується з тисячею чудес. з невеликими втратами продуктивності.

Відмінності в іграх з подвійним API

Оскільки рух демонструється ходьбою, ми провели деякі тести на ефективність у різних іграх та бенчмарках, які мають можливість використовувати ці два API для виконання.

Накладний тест драйвера 3DMark. Результати в мільйонах запитів, тим краще.

Попіл сингулярності. Результати в FPS, тим краще.

Дивна бригада. Результати в FPS, тим краще.

Ми підсумовуємо найкращі посібники з обладнання, які повинні вас зацікавити:

  • Кращі процесори на ринку Найкращі материнські плати на ринку Найкраща пам'ять оперативної пам’яті на ринку Найкращі відеокарти на ринку Кращі жорсткі накопичувачі на ринку Кращі корпуси шасі або ПК Кращі джерела живлення Кращі радіатори та охолоджувачі рідини

Як бачите, результати рівні, і ми бачимо відмінності між програмами «за» і «проти» однієї та іншої. Це залишає перед нами питання про те, що краще, і відповідь зрозуміла, це залежить від програми та того, як її розробник знає чи хоче скористатися її перевагами. Залишається думати, що в кожній грі розробники використовуватимуть саме той API, який найкращим чином використовує переваги нашої графіки, хоча зрозуміло, що обидва варіанти здаються більш ніж грамотними. Що ви думали з нашою статтею про Directx 12 проти Vulkan ? Ми хочемо дізнатися вашу думку!

Підручники

Вибір редактора

Back to top button