Хронос виводить вулкан на macOS, iOS, після того, як Apple відмовляється

Хронос виводить вулкан на macOS, iOS, після того, як Apple відмовляється

Яблука любить позиціонувати себе як на передній край досліджень та розробок ОС, але його довготривале підтримка графічних API, які вона не розробляла вдома, була, як правило, жахливою. MacOS все ще обмежується OpenGL 4.1, який був випущений в липні 2010 року. Щоб зробити це приблизно приблизно, уявіть собі, чи Microsoft вийшов із розробки графічних API-інтерфейсів з DirectX 11.0 і все ще очікував, що всі покладаються на нього для ігрових і професійних додатків. Apple запустила свій власний API для iOS і macOS, Metal, але відмовився підтримувати Vulkan, відкрите джерело, низький накладний API, призначений для підключення DirectX 12 у просторі ПК. Підтримуючи такий підхід, група Khronos, яка підтримує Vulkan, оголосила про свої зусилля, щоб підтримати підтримку Vulkan для MacOS та iOS, незалежно від того, чи схвалює її компанія Apple, за допомогою тонкого перекладу.

Хронос співпрацює з Valve, LunarG і Brenwill Workshop, щоб створити SDK та бібліотеки, які дозволяють розробляти Vulkan на MacOS та iOS. Valve також розширив DOTA 2, щоб створити версію, яка працює значно швидше під Vulkan на macOS, ніж вона використовує власний OpenGL Apple, як показано нижче:

Хронос виводить вулкан на macOS, iOS, після того, як Apple відмовляється

Цей образ порівнює Vulkan з власним кодом OGL на трьох окремих платформах: AMD FirePro D500 і Mac Pro (2013), Nvidia GT 650M (MacBook Pro 2012) і Intel Iris Pro MacBook Pro (2014). Не дивно, що дискретне рішення буде корисним найменше, оскільки Vulkan не може чарівно виправити обмежену EDRAM або пропускну здатність пам'яті, але прискорення 1,13x на інтегрованому Intel все ще досить, щоб помітити.

Хронос виводить вулкан на macOS, iOS, після того, як Apple відмовляється

Нижче наведено огляд високого рівня того, як код відображається та перекладається з Vulkan на Metal API. Кінцевим результатом є гра, яка працює, як мінімум теоретично, краще, ніж звичайний варіант OGL.

Хронос відзначає, що потрібно було вилучити лише деякі функції з ініціативи Vulkan Portability, щоб досягти цієї мети, зокрема:

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