Most már tudjuk, hogy az Android Q támogatja a Vulkan-backendet az ANGLE-hez, hogy megkönnyítse a 2D-s játékfejlesztést. Olvasson tovább, ha többet szeretne megtudni arról, hogy ez mit jelent.
Vulkan API Az Android Nougat segítségével bejelentették az Android támogatását vissza a Google I/O 2016-on. Az elméd felfrissítése érdekében ez az API segít a fejlesztőknek nagyobb irányítást szerezni az alacsony szintű hardver felett. Ez a fajta hozzáférés segít nekik jobban kihasználni az adott egységek feldolgozási és grafikus teljesítményét, és optimalizálni a játékokat, hogy a lehető legzökkenőmentesebben fussanak. Nem meglepő, hogy a helyes memóriafoglalás és a szálkezelés minden energiaigényes feladatnál fontos, mint például a játék futtatása. Ez az, amit az olyan népszerű konzolok, mint az Xbox One és a PlayStation 4 már régóta csinálnak – így a fejlesztők alacsony szintű irányítást biztosítanak az eszközökön belüli hardver felett.
Az is érdekes, hogy a Vulkan egy platformokon átívelő nyílt szabvány, amely több platformon megcélozza a grafikus alkalmazásokat. Korábban ebben az évben,
találtunk egy nyomot hogy az Android Q a Vulkan API-n keresztül renderelheti a felhasználói felület elemeit. Ez egy lépés lesz a rendszer zökkenőmentességének további javítása érdekében. Most olyan információt kaptunk, hogy az Android Q minden bizonnyal támogatni fogja az ANGLE-t, hogy megkönnyítse a 2D-s játékfejlesztést.Mi az ANGLE?
Az ANGLE egy rövidítés, és az "Almost Native Graphics Layer Engine" rövidítése. A WebGL térnyerése szükségessé tette a renderer támogatásának szabványosított megoldását. Az OpenGL illesztőprogramok már régóta nem stabilak a Windows platformon. Tehát az ANGLE mindent egy teljesen új szintre emelt az OpenGL-kód Direct3D-re történő lefordításával, amely egy, a Windows rendszeren natívan támogatott API. Az ANGLE fő célja, hogy az OpenGL-t hordozhatóvá és mindenki számára elérhetővé tegye azáltal, hogy a WebGL és az OpenGL ES tartalmat a platformon elérhető hardver által támogatott API-ra fordítja. Ugyanezen elv alapján az ANGLE az OpenGL kódot Vulkan kódra fordítja Androidon, mivel az előbbi egy hivatalosan támogatott hardver API az operációs rendszeren. Valószínűleg minden nap használod az ANGLE-t anélkül, hogy észrevennéd. Az ANGLE be van építve a Google Chrome és a Mozilla Firefox webböngészőibe asztali számítógépekhez. Bármilyen grafikus tartalom megjelenítésére szolgál ezeken a böngészőkön belül Windows rendszeren.
OpenGL ES vs Vulkan
A Khronos Group keményen dolgozik azon, hogy az ANGLE-t az OpenGL fő renderelőjévé tegye a Vulkanon. Sokan talán nem látják szükségét az OpenGL-től való megszabadulásnak a Vulkan javára, de határozottan van hova fejlődni. Ezen a ponton az OpenGL API antik technológiának számít. Eredetileg 1992-ben adták ki, vagyis 26 éve. A 26 év talán nem jelent sokat közületek, de csillagászati szám, ami a technológiai fejlődést illeti. 2016-ban a világ bemutatkozott a Vulkannal – a következő szintű grafikus API-val. De az újabb nem jelent automatikusan jobbat, igaz? Hadd magyarázzam el, hogy a Vulkan miért sokkal jobb, mint az OpenGL/OpenGL ES.
Ha valaha is foglalkozott az OpenGL ES-vel, akkor tudja, hogy az hatalmas. Az API-nak több mint 300 bővítménye van, és egyáltalán nem könnyű használni. A Vulkan mindent teljesen új szintre emel, sokkal kisebb API-t és a grafika közvetlen vezérlését kínálja. Könnyebb a megvalósítás is. Bár a Vulkan alacsonyabb szinten működik, mint az OpenGL ES, ez nagyobb vezérlési képességet jelent. A Vulkan esetében a szál- és memóriakezelés teljes mértékben a játék fejlesztőjére van bízva, így megfelelően használhatod az erőforrásokat. Ezenkívül nagyon kicsi a különbség a Vulkan mobil és asztali verziója között, így sokkal könnyebbé válik a játékok hordozása. Röviden: a Vulkan egy alacsony szintű meghajtó, amely lehetővé teszi az adott eszközön lévő grafikus kártya teljes potenciáljának kiaknázását.
Miért ANGLE?
Az ANGLE első előnye, hogy nyílt szabványú platform. Rengeteg módon lehet hozzájárulni a projekthez. Tesztelheti az illesztőprogramot az eszközein, jelenthet hibákat, javíthat hibákat, segíthet a fejlesztőknek megoldásokat találni, javaslatokat küldhet, pénzt adományozhat a fejlesztésre stb. Mindez felgyorsítja a fejlődést. A következő nagy előny az OpenGL ES-hez képest a hordozhatóság és a platformok közötti támogatás. Az ANGLE természete megkönnyíti a platform- és játékfejlesztők munkáját. Az ANGLE karbantartása és megvalósítása sokkal könnyebb, mint a korábbi implementációk. Az OpenGL annyira töredezett, hogy a hibák felkutatása és különböző eszközökön történő kijavítása fájdalmas a fejlesztők számára. Az összes szükséges illesztőprogram ANGLE-be való központosítása azt jelenti, hogy a fejlesztők könnyebben implementálhatják azokat. Az ANGLE fejlesztője, Jamie Madill megerősítette velünk, hogy az Android platformon az ANGLE rendszeres frissítéseket fog kapni a Google Play Áruházon keresztül. Az illesztőprogramok frissítése a beépített belső piactéren keresztül jó ötlet, mert a felhasználónak nem kell minden alkalommal frissítenie az egész rendszert, amikor az illesztőprogram frissül. Ezenkívül a fejlesztőknek nem kell minden alkalommal trükközniük a kóddal, amikor az ANGLE valamit megváltoztat. Íme egy videó arról, hogy az ANGLE milyen előnyökkel járhat az Android játékfejlesztésben.
Amint láthatja, az ANGLE számos fejlesztést tartalmaz a kelt OpenGL ES-hez képest. Az Android Q első fejlesztői előzetes verziója még nincs olyan messze, így várhatunk és meglátjuk, hogyan működik az ANGLE a gyakorlatban. Alapján ezt a kötelezettséget, a felhasználók a fejlesztői lehetőségek közül az összes alkalmazást rákényszeríthetik az ANGLE-vel való együttműködésre. A renderer támogatása az már összeolvadt az Android Pie ágba, ahol az OEM-ek tesztelhetik. Az ANGLE fejlődését nyomon követheti az alábbi webhelyről és a GitHub tárhelyről.
Köszönet az XDA Senior Tagnak XxPixX a tippért!
ANGLE weboldalGitHub adattár