Știm acum că Android Q va suporta backend-ul Vulkan pentru ANGLE pentru a facilita dezvoltarea jocurilor 2D. Citiți mai departe pentru a afla mai multe despre ce înseamnă acest lucru.
Vulkan API suportul pentru Android a fost anunțat cu Android Nougat înapoi la Google I/O 2016. Pentru a vă împrospăta mintea, acest API îi ajută pe dezvoltatori să obțină mai mult control asupra hardware-ului de nivel scăzut. Acest tip de acces îi ajută să profite mai bine de puterea de procesare și grafică a unităților respective și să optimizeze jocurile pentru a rula cât mai bine posibil. Nu este surprinzător faptul că alocarea corectă a memoriei și gestionarea firelor de execuție sunt importante în orice fel de sarcini care consumă energie, cum ar fi rularea unui joc. Aceasta este ceea ce au făcut de mult timp console populare precum Xbox One și PlayStation 4 - oferind dezvoltatorilor control la nivel scăzut asupra hardware-ului din interiorul dispozitivelor.
Ceea ce este, de asemenea, interesant este că Vulkan este un standard deschis multiplatform, care vizează aplicațiile grafice pe platforme. Mai devreme anul asta,
am găsit un indiciu că Android Q poate reda elementele interfeței cu utilizatorul prin API-ul Vulkan. Acesta va fi un pas făcut pentru a îmbunătăți în continuare netezimea sistemului. Acum, am primit informații că Android Q va accepta cu siguranță ANGLE pentru a ușura dezvoltarea jocurilor 2D.Ce este ANGLE?
ANGLE este o abreviere și înseamnă „Almost Native Graphics Layer Engine”. Creșterea WebGL a făcut necesitatea unei soluții standardizate de susținere a rendererului. Driverele OpenGL nu au fost foarte stabile pe platforma Windows de destul de mult timp. Așadar, ANGLE a dus totul la un nivel cu totul nou cu traducerea codului OpenGL în Direct3D, un API acceptat nativ pe Windows. Scopul principal al ANGLE este de a face OpenGL portabil și accesibil pentru toți prin traducerea conținutului WebGL și OpenGL ES într-un API suportat de hardware disponibil pe platformă. Folosind același principiu, ANGLE va traduce codul OpenGL în cod Vulkan pe Android, deoarece primul este un API hardware acceptat oficial pe sistemul de operare. Probabil că folosești ANGLE în fiecare zi fără să-ți dai seama. ANGLE este încorporat în browserele web Google Chrome și Mozilla Firefox pentru desktop. Este folosit pentru a reda orice conținut grafic în interiorul acestor browsere pe Windows.
OpenGL ES vs Vulkan
Grupul Khronos lucrează din greu pentru a face din ANGLE principala redare a OpenGL pe Vulkan. Mulți dintre voi s-ar putea să nu văd nevoia de a scăpa de OpenGL în favoarea Vulkan, dar cu siguranță este loc de îmbunătățire. În acest moment, OpenGL API este considerată o tehnologie antică. A fost lansat inițial în 1992, adică acum 26 de ani. 26 de ani poate să nu însemne mare lucru pentru unii dintre voi, dar este un număr astronomic când vine vorba de dezvoltarea tehnologiei. În 2016, lumea a fost introdusă în Vulkan - API-ul grafic de nivel următor. Dar, mai nou nu înseamnă automat mai bun, nu? Permiteți-mi să vă explic de ce Vulkan este mult mai bun decât OpenGL/OpenGL ES.
Dacă ați avut vreodată de-a face cu OpenGL ES, ați ști că este imens. API-ul are peste 300 de extensii și nu este deloc ușor de utilizat. Vulkan duce totul la un nivel cu totul nou, oferind un API mult mai mic și control direct al graficii. De asemenea, este mai ușor de implementat. Deși Vulkan funcționează la un nivel mai scăzut decât OpenGL ES, asta înseamnă mai multă putere de control. Cu Vulkan, gestionarea firelor și a memoriei este lăsată în totalitate în seama dezvoltatorului jocului, astfel încât să puteți utiliza resursele în mod adecvat. De asemenea, există o diferență foarte mică între versiunile pentru mobil și desktop ale Vulkan, astfel încât portarea jocurilor este mult mai ușoară. Pe scurt, Vulkan este un driver de nivel scăzut care vă permite să eliberați întregul potențial al plăcii grafice prezente pe dispozitivul respectiv.
De ce ANGLE?
Primul avantaj al ANGLE este că este o platformă standard deschisă. Există o mulțime de moduri de a contribui la proiect. Puteți testa driverul pe dispozitivele dvs., raportați erori, remediați erori, ajutați dezvoltatorii să vină cu soluții, trimiteți sugestii, donați niște bani pentru dezvoltare etc. Toate acestea vor crește viteza de dezvoltare. Următorul mare plus în comparație cu OpenGL ES este portabilitatea și suportul multiplatform. Natura ANGLE face munca mai ușoară atât pentru dezvoltatorii de platforme, cât și pentru dezvoltatorii de jocuri. Menținerea și implementarea ANGLE este mult mai ușoară decât implementările anterioare. OpenGL este atât de fragmentat încât urmărirea erorilor și remedierea lor pe diferite dispozitive este o durere pentru dezvoltatori. Centralizarea tuturor driverelor necesare în ANGLE înseamnă că dezvoltatorii le vor implementa mai ușor. Dezvoltatorul ANGLE, Jamie Madill, a confirmat împreună cu noi că pe platforma Android, ANGLE va primi actualizări regulate prin Magazinul Google Play. Actualizarea driverelor prin intermediul pieței integrate este o idee bună, deoarece utilizatorul nu va trebui să actualizeze întregul sistem de fiecare dată când se actualizează driverul. De asemenea, dezvoltatorii nu ar trebui să schimbe codul de fiecare dată când ANGLE schimbă ceva. Iată un videoclip despre modul în care ANGLE poate beneficia de dezvoltarea jocurilor Android.
După cum puteți vedea, ANGLE are numeroase îmbunătățiri față de OpenGL ES datat. Prima versiune de previzualizare pentru dezvoltatori a Android Q nu este atât de departe, așa că putem aștepta și vedem cum funcționează ANGLE în practică. Conform acest angajament, utilizatorii vor putea forța toate aplicațiile să lucreze cu ANGLE din opțiunile pentru dezvoltatori. Suportul pentru redare este deja comasate în filiala Android Pie pentru ca OEM-urile să-l testeze. Puteți urmări dezvoltarea ANGLE de pe site-ul web și din depozitul GitHub de mai jos.
Mulțumim membrului senior XDA XxPixX pentru pont!
Site-ul web ANGLEDepozitul GitHub