A DirectX 12 és a Vulkan API nem fogja szeretni a naiv portokat

A Gamescom rendezvénnyel párhuzamosan zajlik a fejlesztőknek szóló GDC Europe is, ahol az egyik legnagyobb figyelmet a DirectX 12 és a Vulkan API-khoz kapcsolódó előadás kapta. Ezt Stephan Hodes, az AMD rendszermérnöke tartotta, és az unalomig ismételt általános előnyök mellett szóba kerültek olyan hasznos információk is, amelyek az átállás nehézségeit taglalják.

Merthogy Stephan Hodes szavait szabadon idézve "a DirectX 12 és a Vulkan nem használ semmiféle mágiát a motorháztető alatt", viszont az eddigiekhez képest másképp működnek, jóval nagyobb kontrollt adva a fejlesztőknek. Az előnyök igazából mindenki számára nyilvánvalóak, hiszen gyakorlatilag minden iparági szereplő erről beszél lassan hónapok óta, de a fejlesztőket leginkább az érdekli, hogy ezeket az előnyöket hogyan lehet realizálni.

A jó hír, hogy a programozhatóság nem lesz jelentősen nehezebb. Gyakorlatilag annyi történik, hogy mostantól a grafikus motor lát el számos olyan feladatott, amelyért korábban a grafikus meghajtó felelt. Ez több programkód beírását vonja majd maga után, aminek nem mindenki örül, de nagy előnye lesz, hogy a fejlesztő látni fogja az adott rendszer szűk keresztmetszeteit, így a hibák és teljesítményproblémák jóval egyszerűbben korrigálhatók majd.

Rossz hír ugyanakkor, hogy pontosan azért, mert a DirectX 12 és a Vulkan nem valami csoda esetenként komoly strukturális változásokat is igényel az adott videojáték-motorban. Egy naiv DirectX 12-es (vagy Vulkan API-ra épülő) port, akár jóval lassabb lehet a DirectX 11-es kódnál, tehát nem elég csupán az úgynevezett render back-endet cserélni, hanem az egész motor struktúráját az új API-khoz kell igazítani. Az átdolgozott struktúrával a DirectX 11 egyébként még ugyanúgy támogatható, és ez akár extra tempót is kínálhat.

Az aktuális videojáték-motorok átdolgozása akár három-hat hónapot is igénybe vehet, függően attól, hogy az eddig alkalmazott struktúra mennyire igazodik az új igényekhez. Öröm az ürömben, hogy a Mantle API-hoz már több mint száz stúdió kapott hozzáférést, így a strukturális átalakítást nagyon sokan már az elmúlt év első felében megkezdték, tehát a DirectX 12 és a Vulkan API-t több fejlesztő is nagyon jó pozícióból várja. A Mantle API-hoz igazított átalakításokkal már csak a render back-endet szükséges cserélni, mivel a DirectX 12 és a Vulkan az alapok tekintetében úgy működik, ahogy az AMD saját API-ja, így ugyanolyan igényei vannak a videojáték-motorra vonatkozóan. Egy alternatív render back-end kiszámítható fix költség, és viszonylag gyorsan megírható az egyes API-khoz, főleg úgy, hogy ezek nagyon hasonlítanak egymásra.

Természetesen számos fejlesztő nem kapott még hozzáférést egyetlen fentebb említett API-hoz sem, így Stephan Hodes előadása is leginkább nekik szólt, de a Microsoft létrehozott egy YouTube csatornát, amelyen belül helyet kapott egy portolást segítő prezentáció, amely elmagyarázza a legfontosabb változásokat. Ezt nem csak a fejlesztőknek érdemes végignézni, mert meglepően jól elmagyarázza alapokat. Koncepciós szempontból nagyjából ugyanez lesz igaz a Vulkan API-ra is, csak más függvénynevekkel és helyenként eltérő formai jellegű működéssel. Ezzel kapcsolatban a Khronos Group még nem adott ki semmit, de a Vulkan iránt érdeklődőknek a Mantle programozóknak szóló kézikönyvét érdemes forgatni az alapok elsajátítása érdekében.

Azóta történt

Előzmények

Hirdetés