Az Apple eddig nem igazán mutatott érdeklődést az olyan keresztplatformos grafikus alkalmazás-programozási interfészek iránt, mint amilyen a Vulkan, ugyanis a vállalat egy saját API-t fejlesztett. Ez nem más, mint a Metal, ami mind az OpenGL – és az utódjaként érkező Vulkan –, mind pedig az OpenGL ES 3.0-s kiadása után érkező változatok helyét átvette. A Metal API nem csak iOS, hanem macOS alatt is használatban van, ám a nem is oly távoli jövőben a Vulkan API is teret hódíthat magának az almás rendszereken, hála a MoltenVK 1.0-s kiadásának, ami egy nyílt forráskódú, Apache 2.0 licenc alatt futó megoldás. A MoltenVK korábban kereskedelmi licenc keretén belül működött, mostantól azonban nyílt formában is elérhető, hála a Khronos Group munkatársainak, illetve a partnerek közreműködésének – utóbbiak között a Valve, a LunarG és a The Brenwill Workshop is jelen van. A MoltenVK 1.0 egyébként a nyílt forráskódú SPIRV-Cross keresztfordítót használja, ami korábbról már szintén ismerős lehet.
A MoltenVK gyakorlatilag annyit tesz, hogy nyílt forráskódú könyvtárként lefordítja a Vulkan API hívásait Metal 1 és Metal 2 hívásokra, vagyis egyfajta köztes réteg módjára áll helyt. A The Brenwil Workshop által készített, iOS és macOS alatt egyaránt működő 1.0-s MoltenVK futtatókörnyezet mellett a LunarG új, macOS alá készített Vulkan API szoftverfejlesztő környezete is elérhetővé vált, ami segíti a keresztplatformos Vulkan API terjedését. A Khronos Group biztatja is a fejlesztőket, fejlesszenek Vulkan API-ra, ugyanis egyre szélesebb rétegeket érhetnek el rajta keresztül.
Az eszközök elérhetőségében sokat segítettek a Valve munkatársai, hiszen nem csak a munkából vették ki a részüket, de a nyílt forráskódúvá váláshoz szükséges anyagi fedezet biztosításában is segédkeztek. A Valve egyébként már át is ültette a Dota 2 című játékot Vulkan API-ra, az új kiadás pedig macOS alatt is futtatható, hála a friss eszközöknek. A belsős mérések alapján a Dota 2 Vulkan API-ra portolt kiadása jelentősen gyorsult az OpenGL drivert használó változathoz képest, ahogy az az alábbi ábrán is látható.
A három különböző konfiguráció teljesítménye érezhetően javult, még az Intel Iris Pro Graphics iGPU-t használó 2014-es MacBook Pro is nyert 5,5 FPS-t az OpenGL alatt elért eredményhez képest. A Khronos Group szakemberei persze hozzátették, a jelenlegi fejlesztőeszközöket nem kimondottan játékok futtatására, sokkal inkább webböngészőkhöz és egyéb alkalmazásokhoz optimalizálták, az eredmény azonban így is elég jó.
A Khronos Group munkatársai szerint a teljesítményt csak minimálisan befolyásolja a Vulkan API és a Metal API között húzódó köztes réteg, hiszen mindkettő alacsonyszintű API, a hívásokat pedig közvetlenül térképezik egyik alacsonyszintű API-ról a másikra, vagyis az overhead mértéke elég csekély. A Khronos éppen ezért arra is biztatja a fejlesztőket, hogy a rendelkezésre álló eszközökkel a jövőben DirectX 12-es címeiket is portolják Vulkan API-ra.
A Metal API és a DirectX 12-es API egyébként szinte az összes Vulkan API funkciót támogatja, de van néhány kivétel is – ez 5 általános elemet, vagyis nagyjából 20 funkcióhívást érint. A helyzet persze a későbbiekben, ahogy a többi API is fejlődik, természetesen javulhat, így újabb Vulkan API funkciók bevetésére is mód nyílhat.
A fordító bevezetése tulajdonképpen a GDC 2017 alkalmával bemutatott 3D Portability Initiative névre keresztelt kezdeményezéshez kapcsolódik, ami tavaly nyár óta a Vulkan Portability Initiative név alatt fut. A Khronos Group célja, hogy egy olyan keresztplatformos környezetet hozzon létre a piacon, amelynek fordítórétegén keresztül Metal API-ra és a DirectX 12-re is lehet Vulkan alapú tartalmakat ültetni, méghozzá minimális teljesítményvesztés mellett. Ebben a Vulkan API univerzálisan hordozható részhalmaza, valamint a bevetését segítő fejlesztőeszközök nyújtanak segítséget.
Az érdeklődők a GitHubon keresztül már elérhetik a MoltenVK 1.0-s nyílt forráskódú változatát, valamit a fentebb említett ingyenes macOS SDK-t is beszerezhetik – előbbi innen, utóbbi pedig innen tölthető le. A többi hasznos eszközt a Khronos erre a célra létrehozott weboldalán lehet elérni.


































