VULKAN API TÁMOGATÁSHOZ JUT AZ APPLE MACOS ÉS AZ IOS

Mivel az Apple az OpenGL ES-nek és az OpenGL-nek hátat fordítva egy saját API-t fejlesztett ki, a Khronos Group egy trükkel oldotta meg a Vulkan API támogatását.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
2018. márc. 1. 8:01
Vulkan API támogatáshoz jut az Apple macOS és az IOS

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.

Hírlevél feliratkozás
A feliratkozással elfogadom a Felhasználási feltételeket és az Adatvédelmi nyilatkozatot.

5 hozzászólás

A komment írásához előbb jelentkezz be!
pepeno1
pepeno1
2018. márc. 1. 15:02
#2

Hát azt már az Apple is elmondta, hogy a Mac OSX nevében az OS azt jelenti, hogy open source.

De ezt itt le is ellenőrizhetitek.

zsenifernagyneki
zsenifernagyneki
2018. márc. 1. 13:04
#1

Ébresztő: Na valójában ez az Apple!

Mindent le akarnak kódolni, és újat csinálni amely még véletlenül sem kompatibilis a másik készülékkel, programmal. Ezt szereti sok ember amikor az Apple -re szavaz. Utálatos banda.

fofoka
fofoka
2018. márc. 1. 20:06

OK, akkor most olvasd el még egyszer a cikket, meg az első hozzászólást és egy pillanatra tegyél úgy, mintha megértetted volna.

Vissza az oldal tetejére