Zdaj vemo, da bo Android Q podpiral zaledje Vulkan za ANGLE, da bo razvoj 2D iger lažji. Preberite, če želite izvedeti več o tem, kaj to pomeni.
Vulkan API podpora za Android je bila napovedana z Android Nougat nazaj na Google I/O 2016. Za osvežitev misli, ta API pomaga razvijalcem pridobiti večji nadzor nad strojno opremo nizke ravni. Ta vrsta dostopa jim pomaga bolje izkoristiti procesorsko in grafično moč ustreznih enot ter optimizirati igre za čim bolj gladko delovanje. Ni presenetljivo, da sta pravilna dodelitev pomnilnika in upravljanje niti pomembna pri vseh vrstah nalog, ki zahtevajo veliko energije, kot je igranje igre. To je tisto, kar priljubljene konzole, kot sta Xbox One in PlayStation 4, že dolgo počnejo - razvijalcem omogočajo nizek nadzor nad strojno opremo v napravah.
Zanimivo je tudi to, da je Vulkan večplatformni odprti standard, ki cilja na grafične aplikacije na različnih platformah. V začetku tega leta, našli smo namig da lahko Android Q upodablja elemente uporabniškega vmesnika prek API-ja Vulkan. To bo korak za nadaljnje izboljšanje gladkosti sistema. Zdaj smo prejeli informacijo, da bo Android Q zagotovo podpiral ANGLE za lažji razvoj 2D iger.
Kaj je ANGLE?
ANGLE je okrajšava in pomeni "Almost Native Graphics Layer Engine". Zaradi vzpona WebGL je bila potrebna standardizirana rešitev za podporo upodabljalniku. Gonilniki OpenGL že dolgo niso zelo stabilni na platformi Windows. Tako je ANGLE ponesel vse na povsem novo raven s prevajanjem kode OpenGL v Direct3D, API, ki je izvorno podprt v sistemu Windows. Glavni cilj ANGLE je narediti OpenGL prenosljiv in dostopen vsem s prevajanjem vsebine WebGL in OpenGL ES v API, ki ga podpira strojna oprema in je na voljo na platformi. Z uporabo istega principa bo ANGLE prevedel kodo OpenGL v kodo Vulkan na Androidu, saj je prva uradno podprt strojni API v operacijskem sistemu. ANGLE verjetno uporabljate vsak dan, ne da bi se tega sploh zavedali. ANGLE je vgrajen v spletna brskalnika Google Chrome in Mozilla Firefox za namizne računalnike. Uporablja se za upodabljanje kakršne koli grafične vsebine znotraj teh brskalnikov v sistemu Windows.
OpenGL ES proti Vulkanu
Skupina Khronos si močno prizadeva, da bi ANGLE postal glavni upodabljalnik OpenGL na Vulkanu. Mnogi od vas morda ne vidite potrebe, da bi se znebili OpenGL v korist Vulkana, vendar vsekakor obstaja prostor za izboljšave. Na tej točki OpenGL API velja za staro tehnologijo. Prvotno je bil izdan leta 1992, kar je pred 26 leti. Morda nekaterim od vas 26 let ne pomeni veliko, vendar je to astronomska številka, ko gre za tehnološki razvoj. Leta 2016 je bil svetu predstavljen Vulkan - grafični API naslednje stopnje. Toda novejše ne pomeni samodejno boljše, kajne? Naj pojasnim, zakaj je Vulkan veliko boljši od OpenGL/OpenGL ES.
Če ste kdaj imeli opravka z OpenGL ES, bi vedeli, da je ogromno. API ima več kot 300 razširitev in sploh ni enostaven za uporabo. Vulkan dvigne vse na povsem novo raven, saj ponuja veliko manjši API in neposreden nadzor nad grafiko. Je tudi lažja za izvedbo. Čeprav Vulkan deluje na nižji ravni kot OpenGL ES, to pomeni več moči za nadzor. Pri Vulkanu je upravljanje niti in pomnilnika popolnoma prepuščeno razvijalcu igre, tako da lahko vire ustrezno uporabite. Prav tako obstaja zelo majhna razlika med mobilno in namizno različico Vulkana, zaradi česar je prenos iger veliko lažji. Na kratko, Vulkan je gonilnik nizke ravni, ki vam omogoča sprostitev celotnega potenciala grafične kartice, ki je prisotna v določeni napravi.
Zakaj ANGLE?
Prva prednost ANGLE je, da je odprta standardna platforma. K projektu lahko prispevate na ogromno načinov. Lahko preizkusite gonilnik na svojih napravah, prijavite hrošče, popravite hrošče, pomagate razvijalcem pri pripravi rešitev, pošljete predloge, donirate nekaj denarja za razvoj itd. Vse to bo pospešilo razvoj. Naslednji velik plus v primerjavi z OpenGL ES je prenosljivost in podpora za več platform. Narava ANGLE olajša delo razvijalcem platforme in iger. Vzdrževanje in izvajanje ANGLE je veliko lažje kot prejšnje izvedbe. OpenGL je tako razdrobljen, da je iskanje napak in njihovo odpravljanje na različnih napravah težava za razvijalce. Centralizacija vseh zahtevanih gonilnikov v ANGLE pomeni, da jih bodo razvijalci lažje implementirali. Razvijalec ANGLE, Jamie Madill, nam je potrdil, da bo ANGLE na platformi Android prejemal redne posodobitve prek trgovine Google Play. Posodabljanje gonilnikov prek vgrajene lastne tržnice je dobra ideja, saj uporabniku ne bo treba posodabljati celotnega sistema vsakič, ko se gonilnik posodobi. Prav tako razvijalcem ne bi bilo treba poigravati s kodo vsakič, ko ANGLE nekaj spremeni. Tukaj je video o tem, kako lahko ANGLE koristi razvoju iger za Android.
Kot lahko vidite, ima ANGLE številne izboljšave v primerjavi z zastarelim OpenGL ES. Prva predogledna izdaja Androida Q za razvijalce ni tako daleč, zato lahko počakamo in vidimo, kako ANGLE deluje v praksi. Po navedbah ta zaveza, bodo lahko uporabniki iz možnosti za razvijalce prisilili vse aplikacije, da delajo z ANGLE. Podpora za upodabljalnik je že združeno v podružnico Android Pie, da ga proizvajalci originalne opreme preizkusijo. Razvoj ANGLE lahko spremljate na spletnem mestu in v repozitoriju GitHub spodaj.
Hvala starejšemu članu XDA XxPixX za napitnino!
Spletna stran ANGLERepozitorij GitHub