Рекомендуємо, 2024

Вибір Редакції

Вулкан API: все, що потрібно знати

Якщо ви любите зберігати вкладку на останніх технологіях, ви, мабуть, чули про Вулкана. API Vulkan - це найостанніший і найяскравіший графічний інтерфейс, оголошений компанією Khronos Group, яка стоїть за теперішнім промисловим стандартом OpenGL. Назва проекту Vulkan була офіційно оголошена на Конференції розробників ігор 2015 року, а перша версія API була запущена в лютому 2016 року. Новий API спрямований на те, щоб приймати ігрову графіку на наступний рівень, так що якщо вас цікавить деталі, ми тут, щоб дати вам її.

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

Що таке Vulkan API?

Кілька років тому AMD демонстрував Mantle, використовуючи API, який був орієнтований на 3D-ігри, і в той час як він показав обіцянку бути швидким рішенням для графічної візуалізації, AMD знищив проект. Потім AMD надала компонентам Mantle API для Khronos Group розробку стандартного API для рендеринга. Ну, результат - новий Vulcan API.

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

Будучи завзятим геймером і самим ентузіастом гри, ми вирішили поглянути на майбутнє того, як ігри будуть розроблені найближчим часом і як (якщо взагалі) це поліпшить наш ігровий досвід.

Особливості

API Vulkan має досить багато функцій, які роблять його іншим і кращим, ніж його попередник OpenGL:

1. Вулкан API намагається збалансувати обробку навантажень однаково між кожним ядром в багатоядерній середовищі. Це означає, що кожне ядро ​​в процесорі ставиться до використання, отже, максимізує ефективність .

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

2. Vulcan API надасть прямий доступ до GPU, що дозволить уникнути зайвих накладних витрат при доступі до GPU для викликів розіграшу та інших засобів GPU.

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

3. API також розроблений, щоб бути повністю перехресною платформою .

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

4. У той час як OpenGL зберігав приховані пам'ять і синхронізацію GPU, Vulkan розкриває це і надає розробникам ще кращий контроль над GPU і тим, як він використовується.

  • Vulkan дозволяє розробникам керувати форматуванням текстур GPU, керувати пам'яттю та виконувати синхронізацію.
  • Тим не менш, він як і раніше приховує достатньо інформації для підтримки сумісності між платформами .

5. Вулкан використовує проміжну мову SPIR-V для паралельних обчислень і графіки. SPIR-V, як і його попередники, SPIR1.2 і SPIR2.0, був розроблений компанією Khronos Group, з тією різницею, що SPIR-V не використовує LLVM. SPIR-V дозволяє Vulkan мати загальний компілятор на кожній платформі. Розробникам також не потрібно відправляти ядро, шейдерний код, а спрощення реалізації драйвера.

Як Вулкан може допомогти нам як кінцевим користувачам

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

1. Оскільки більшість мобільних SoC в ці дні також є багатоядерними, Vulkan буде використовувати процесори в максимально можливій мірі, роблячи ігри більш гладкими (вище FPS).

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

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

4. Ігри також зможуть забезпечити більш плавну роботу, гарантуючи, що GPU приділяє більше уваги (читай: виділяє більше пам'яті і надає перевагу) речам, які відразу видно користувачеві, роблячи гру більш захищеною від лагів і крапель кадру. .

Параметри для розробників

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

1. Використовуйте безпосередньо Vulkan API

  • Це забезпечить найнижчий рівень доступу до апаратних засобів, і, очевидно, не буде вибором для всіх. Однак цей рівень може бути використаний для створення інструментів порівняльного аналізу для інших програм, розроблених з використанням Vulkan.

2. Використовуйте бібліотеки

  • Можливо, найбільш прийнятним варіантом для розробників, які переходять з OpenGL до Vulkan.
  • Більшість бібліотек будуть з відкритим вихідним кодом, тому розробники, які мають досвід розробки з використанням OpenGL, можуть спробувати відносно легко портувати свої програми OpenGL до API Vulkan, а не робити повний ремонт або починати з нуля.

3. Використовуйте Ігрові двигуни, оптимізовані з Vulkan

  • Ми впевнені, що саме тут будуть входити більшість розробників. Двигуни розробляються і розвиваються добре відомими, досвідченими, промисловими важкоатлетами і можуть легко використовуватися розробниками (як досвідченими, так і початківцями) для створення ігор, які використовують переваги пропонує Vulkan API.
  • Такі розробники, як Epic Games (Unreal Engine) і Unity (Unity Engine), вже оголосили про підтримку Vulkan у своїх майбутніх двигунах, і багато інших оголосили про плани.

ДИВІТЬСЯ ТАКОЖ: Розуміння APFS: нова файлова система від Apple

Збудьтеся!

У випадку, якщо ця стаття не переконає вас ... схвилюйтеся! Тепер! Vulkan обіцяє бути новинним розвитком графічних API, що покращить життя наших ігор. Існує вже відео з порівняннями між Vulkan і OpenGL, а результати - просто - дивовижні. Якщо ці відео є будь-якими ознаками, будьте готові відчувати дивовижну якість графіки скрізь, включаючи ваші мобільні телефони, все завдяки приходу API Vulcan!

Отже, що ви думаєте про Вулкана? Чи вважаєте Ви, що це буде значне поліпшення в порівнянні з діючим стандартом OpenGL? Дайте нам знати в розділі коментарів нижче.

Top