+38 (093)  990-30-70

Новости

Королевский бал у Вас дома

Вийшла перша версія Vulkan API

У розробці 3D-додатків, відеоігор і систем віртуальної реальності настає новий етап. Спільними зусиллями розробники зробили важливий крок на шляху до уніфікації коду і більш ефективному використанню апаратних ресурсів. Консорціум Khronos Group, що нараховує більше ста компаній, офіційно представив першу версію відкритого кроссплатформенного API під назвою Vulkan (раніше - GLNext). Він забезпечує безпосередній контроль над ДП і ЦП, усуваючи «вузькі місця» і підвищуючи загальну продуктивність.

представив

На форумах часто можна побачити однотипні питання про те, чи розкриє процесор X відеокарту Y і яка конфігурація при однаковому бюджеті буде продуктивніше в конкретних додатках. Він виникає через те, що сучасні ДП мають більшу продуктивність, ніж ЦП того ж рівня і покоління. В іграх та інших 3D-додатках часом виникають ситуації, коли на ЦП припадає велике навантаження, а ДП простоює. Наприклад, процесор обраховує взаємодія гравців і об'єктів, а відеокарта чекає від нього дані, щоб отрисовать наступний кадр. Через незбалансованість навантаження виникають затримки, а динамічна гра може перетворитися в покадровое слайд-шоу навіть з потужною відеокартою.

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

При створенні ігор для настільки різношерстої платформи пріоритетом стає універсальність коду, що негативно позначається на швидкості його виконання

Порівняння Vulkan API і OpenGL (зображення: Khronos Group).

Розробники операційних систем по-різному намагаються вирішити проблему низької ефективності коду сторонніх додатків. Microsoft почала шукати шляхи оптимізації графічних обчислень давно, проте реальна підтримка низькорівневих операцій з'явилася тільки в DirectX 12. Цей API доступний лише в одній ОС - Windows 10. У свою чергу, положення Apple виявилося ближче до такого у виробників ігрових консолей. Коли одна і та ж компанія випускає мобільні процесори і софт, його узгодженої роботи домогтися куди легше. Проте, шляхи оптимізації самої розробки ігор і додатків у Apple далеко не вичерпані. В iOS 8 з'явився Metal API, також орієнтований на використання низькорівневих операцій.

Інші великі компанії воліють діяти спільно і в рамках відкритих стандартів. З'явився 16 років тому консорціум Khronos Group об'єднав понад сто виробників, включаючи таких кровних друзів, як AMD, Nvidia і Intel. Свого часу консорціум явив на світ відкриті стандарти OpenGL, OpenCL, OpenCV і багато інших.

Свого часу консорціум явив на світ відкриті стандарти OpenGL, OpenCL, OpenCV і багато інших

Khronos Group налічує понад сто учасників.

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

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

Vulkan розробляється з середини 2014 року. В його основу лягли графічні бібліотеки іншого низькорівневого API - AMD Mantle. Компанія AMD також виступала в ролі редактора офіційних вказівок. Крім них Khronos group опублікувала ряд тестів, що демонструють перевагу нового API. Всі вони доступні на порталі GitHub.

«У Vulkan є величезний потенціал, - говорить Дін Секулік (Dean Sekulic), програміст Croteam. - Якщо сказати про нього в одному реченні, то з появою Vulkan завершилося давнє протистояння між борцями за продуктивність і переносимість коду. Зараз ми портіруем на нього The Talos Principle на підтвердження нової концепції розробки ».

Компанія Valve спонсорує створення відкритого SDK LunarG з підтримкою API Vulkan. Однак незважаючи на відкриті специфікації, доступні інструменти розробки, можливість глибокої оптимізації коду і інші переваги, Vulkan ще якийсь час буде рідко використовуваних API. Більшість ігроробів залишаться вірні DirectX 11/12 і OpenGL. Куди простіше підвищити системні вимоги або знизити якість графіки, ніж освоювати нові способи розробки. Розуміючи це, консорціум Khronos Group прагнути забезпечити підтримку Vulkan не тільки в нових ОС і графічних рішеннях, але і на морально застарілих системах.

Зараз Vulkan підтримується в середовищі Windows (починаючи з сьомої версії), Linux, SteamOS і Android. Найближчим часом очікується додавання підтримки ОС Tizen від Samsung. Бета-версії драйверів з підтримкою API Vulkan вже випустили AMD і Nvidia . На черзі Intel, Qualcomm, ARM і інші виробники, що входять в консорціум Khronos Group. Демонстрацію Vulkan на графічному чіпі ARM Mali можна побачити в ролику нижче.

В даний час Vulkan можна протестувати на відкритих з графічними чіпами Nvidia GeForce GT 630 і вище, AMD Radeon HD 7700 і новіше. Також API Vulkan підтримує гібридні процесори AMD з графічним ядром Radeon HD 8500 - 8900 і R2 - R9. Вбудована графіка десктопних і мобільних процесорів Intel підтримується Vulkan починаючи з сімейства Core п'ятого покоління.

Повною мірою можливості нового API розкриються перспективними графічними процесорами Nvidia серії Pascal і AMD з архітектурою GCN четвертого покоління. Відповідні відеокарти імовірно увійдуть в серію GTX 1xxx і Radeon Rx 400. За неофіційними даними початок їх продажів планується на другий квартал 2016 року.