Mindenhova eljuttatja a Vulkan API-t a legújabb Android

A Google minimum követelményként írja elő a Vulkan 1.1 implementációt az Android 10-es eszközöknél.

Nagyjából másfél éve számoltunk be arról, hogy jön a Vulkan 1.1 az Android P-be, és most elértünk oda, hogy a Google bejelentette a kötelező támogatást, ugyanis az Android Q-ről Android 10-re átnevezett operációs rendszer alapértelmezetten előírja a Vulkan 1.1-es implementációt a 64 bites eszközöknél.

Hirdetés

Az Android 10 persze számos más újítást is kínál, jön például a régóta várt sötét téma, az iOS megoldásához hasonló, gesztusokkal történő navigáció, az új adatvédelmi szolgáltatásokról nem is beszélve, továbbá a hajlítható kijelzőkre vonatkozóan is jobb lesz a támogatás. Ezeknél persze fontosabb a Mainline projekt, amely lehetővé teszi a gyártóknak, hogy az adott eszköznek az egyes moduljait a felhasználók tudta nélkül is frissíteni tudják, méghozzá anélkül, hogy teljes szoftvercsomagot adnának ki. Ennek a haszna elsődlegesen a felfedezett biztonsági rések gyorsabb és hatékonyabb javítása lesz.

A legnagyobb változást azonban vitathatatlanul a Vulkan 1.1 jelenti. Ennek lényegesen nagyobb jelentősége van, mint azt sokan gondolnák, ugyanis az való igaz, hogy Androidra nem érkezik igazán sok olyan játék, amely használná a Khronos Group explicit API-ját, és ez nagyrészt annak köszönhető, hogy nem túl kellemes erre fejleszteni, mivel a gyártói implementációk közel sem optimálisak. Egy régóta húzódó problémát azonban megold a Google, ugyanis a Vulkan API-n keresztül bevetik az ANGLE projektet. Ez most még kísérleti fázisban van, de az új operációs rendszer tényleges megjelenéséig elkészül.

A keresőóriás problémája egyébként az, hogy az OpenGL ES rendkívül erős fragmentációt okoz Androidon belül, amit eddig nem tudtak kezelni. A gondok gyökere ott keletkezik, hogy a gyártók specifikus meghajtókat szállítanak, és ezek egyszerűen nem ugyanúgy kezelik a kódokat, annak ellenére sem, hogy az OpenGL ES API különböző verziói szabványnak tekinthetők. A gyártók oldaláról erre biztos nem lesz megoldás, mivel eddig sem mutatkozott hajlandóság a probléma felszámolására, így a Google úgy döntött, hogy saját kézbe veszik a dolgokat. Az Android 10-be beépítettek egy olyan OpenGL ES implementációt, amely a Vulkan API-n fut, így a fejlesztők eldönthetik, hogy az alkalmazás az eszközhöz szállított, gyártóspecifikus OpenGL ES meghajtót használja, vagy a Google Vulkan API-n futó ANGLE rétegét, amely képes futtatni az OpenGL ES API-ra írt szabványos kódokat. Utóbbinak az előnye, hogy minden Android 10 rendszer egységes lesz, vagyis ha az egyiken fut az OpenGL ES API-ra írt program, akkor garantált, hogy mindegyiken fog.

Fontos kiemelni, hogy a felhasználó sosem dönthet majd arról, hogy melyik OpenGL ES implementáción futhat az adott alkalmazás, erről vagy a program tartalmaz egy bejegyzést, ami alapján külön kéri az egyik opciót, vagy az adott eszköz gyártója dönthet erről egy szoftverfrissítésben. Utóbbi nem lesz jellemző, a Google csupán azért építette be ezt a lehetőséget a rendszerbe, hogy ha egy alkalmazással valami gond van, de a fejlesztők nem hajlandók, vagy nem tudják javítani, akkor a gyártók képesek legyen valamit tenni a működés érdekében.

Mindez pokolian nagy előrelépés, mivel az Android máig rendkívül rosszul van felépítve és menedzselve, ha a játékokról van szó, és rengeteg egyedi kódút, illetve trükk kell a fejlesztők részéről, hogy egy alkalmazás egyáltalán elinduljon egy adott eszközön. Ez természetesen nem túl kellemes tényező, hiszen gyakorlatilag az erőforrások egy része a hibák felderítésére, majd azok korrigálására, vagy rosszabb esetben megkerülésére megy el, holott lehetne a programot optimalizálni is. Emiatt nehezen érthetők az egyes gyártók törekvései a gamer telefonok szempontjából, hiszen maga a platform nem igazán alkalmas erre, legalábbis messze nem működik annyira optimálisan, amennyire az Apple saját ökoszisztémája.

Az Android 10-zel viszont ez mind megváltozik. A Google végre talált egy utat arra, hogy megszabaduljon a specifikációk eltérő értelmezéséből eredő, egymással helyenként nem kompatibilis OpenGL ES implementációktól, és a Vulkan 1.1-gyel kialakíthatnak egy közös alapot. Innentől kezdve a keresőóriásnak az a feladata, hogy segítse a partnerek munkáját, méghozzá annak érdekében, hogy minél jobb Vulkan implementációk készüljenek. Ez valószínűleg realitás is, mivel a gyártók elsődlegesen azért nem figyelnek még a Vulkan meghajtók optimalizálására, mert rendkívül kevés programban van haszna, míg az OpenGL ES meghajtók esetében rengeteg problémát kell orvosolni. A humán- és anyagi erőforrások átcsoportosításával a Vulkan implementációk minősége is elkezd majd javulni.

Az Android 10-et egyelőre a Google Pixel 3 és Pixel 3 XL, Pixel 3a és Pixel 3a XL, Pixel 2 és Pixel 2 XL, Pixel és Pixel XL, illetve az Essential Phone kapta meg. A gyártópartnerek természetesen készítik a saját frissítésüket, amely a módosítások függvényében elég sok időt is igénybe vehet. Az ezekre vonatkozó információkról az érintettek külön fognak beszámolni.

Hirdetés

Fotóznál vagy videóznál? Mutatjuk, melyik okostelefon mire való igazán!

PR Vásárlás előtt érdemes megnézni, mit kínálnak az aktuális telefonok, ha igazán ütős képeket vagy profi mozgóképeket szeretnénk készíteni.

Azóta történt

Előzmények