Android Q+ voi käyttää Vulkan Graphics APIa käyttöliittymän renderöimiseen

Skia, Googlen avoimen lähdekoodin grafiikkamoottori, sisältää Vulkan Graphics API -taustajärjestelmän. Tätä taustaohjelmaa voidaan käyttää käyttöliittymän hahmontamiseen Android Q: ssa tai uudemmassa.

Androidin seuraava suuri versio, Android 9, julkaistaan ​​ensi kuussa useille laitteille. Toisin kuin Android Oreo, jossa tärkeimmät parannukset olivat enimmäkseen konepellin alla, Android P tarjoaa enemmän käyttäjille suunnattuja ominaisuuksia. kuten uudistettu käyttöliittymä, navigointieleet ja digitaalinen hyvinvointi, samalla kun jatkat projektia Diskantti. Kulissien takana Google on kuitenkin uudistanut grafiikan renderöintiä Androidissa. Android Oreossa Google alkoi testata OpenGL-laitteistokiihdytettyä taustajärjestelmää Skia-grafiikkamoottorille, joka valmistui Android P: ssä. Google ei kuitenkaan pysähdy tähän, sillä yritys aikoo ottaa sen käyttöön Vulkan tausta Skia-grafiikkamoottorista, joka laskeutuu Android Q: han tai uudempaan versioon.

Todisteet tästä ovat peräisin a kommentti

Googlen insinöörin lähettämä avoimen lähdekoodin Chromium Gerritissä. Kommentti liittyy virheraporttiin Vulkan Graphics API: n tulevasta käyttöönotosta Androidin Google Chrome -selaimelle. Kommentissa todetaan, että joskus tulevaisuudessa Vulkan API: lle tulee "vaatimus". Android WebView -tuki, kun "[Android]-kehys aloittaa Vulkanin käytön HWUI."


Grafiikan renderöinti Androidissa

Taustatietoa varten Skia on avoimen lähdekoodin 2D-grafiikkamoottori, jota käytetään Google Chromessa, Chrome OS: ssä, Androidissa, Flutterissa ja muissa suurissa projekteissa. Skia on grafiikan renderöintimoottori, jota käytettiin Androidin varhaisissa versioissa renderöimiseen Näytä ja Kangas (luokat, joita käytettiin käyttöliittymän rakentamiseen ja piirtämiseen useimmissa sovelluksissa.) Android 3.0 Honeycomb korvasi Skian osittain HWUI-kirjastolla, joka muuntaa Canvas-komennot laitteistokiihdytettyihin OpenGL-komentoihin, vaikka 2D Skia -grafiikkakirjastoa käytettiin edelleen joillakin alueilla, kuten polku rasterointi. Samaan aikaan Google loi myös OpenGL-taustajärjestelmän Skialle. Tuloksena on, että jotkut grafiikkakutsut tehtäisiin Skia-kirjastoon, kun taas toiset siirtyisivät OpenGL-taustajärjestelmään. Grafiikkaarkkitehtuurin puhdistamiseksi Google päätti, että HWUI keskustelee nyt Skian kanssa, joka itse keskustelee laitteistokiihdytetyn OpenGL-taustajärjestelmän kanssa käyttöliittymän renderöimisestä. Tuloksena on, että käyttöliittymäkehyksen grafiikkakutsut seuraavat yhtä polkua, eivät kahta.

Jotkut teistä saattavat muistaa kehittäjävaihtoehdon nimeltä "Set GPU Renderer" Android 8.0 Oreon varhaisissa kehittäjäesikatseluissa. Tämän kehittäjävaihtoehdon avulla voit pakottaa HWUI: n käyttämään Skiaa ja sen laitteistokiihdytettyä OpenGL-taustaohjelmaa käyttöliittymäkehyksen GPU-renderöijänä. Kehittäjävaihtoehto poistettiin, koska tämä toiminta on nyt oletusasetus.

"Set GPU Renderer" -kehittäjävaihtoehto Android O -kehittäjien esikatseluissa

Googlen seuraava askel grafiikan renderöinnin parantamiseksi on siirtyä OpenGL-laitteistokiihdytetystä taustajärjestelmästä Vulkan-laitteistokiihdytettyyn taustajärjestelmään. Se ei ole ollenkaan odottamaton ja looginen edistysaskel, mutta on mukava nähdä, että töitä tehdään Androidin grafiikan renderöinnin parantamiseksi. Vaikka muutos ei korjaa kaikkia Androidin viivelähteitä, sen pitäisi lyhentää kehysten renderöintiaikoja vähentämällä prosessorin suorittamaa käsittelyä. Koska tämä on pitkälti keskeneräinen työ (se on keskeneräinen Android P: ssä), odotamme sen käynnistyvän Android Q: n tai muun tulevan Android-julkaisun kanssa.


Esikatselu Vulkan Graphics API: n käytöstä käyttöliittymän renderöimiseen

Vulkan-taustaohjelmaa Skialle on todella mahdollista testata Android P: llä nyt. Voit asettaa virheenkorjausparametrin pakottamaan Androidin käyttämään Skia Vulkan -putkea. Käynnistä vain uudelleen, kun olet lisännyt seuraavan rivin tiedostoon /system/build.prop:

debug.hwui.renderer=skiavk

Tämän rivin lisääminen laitteeseen, jossa on Android Oreo, aiheuttaa kaatumisen, joten emme suosittele sitä. Vaikka laitteesi käynnistyy tällä lipulla Android P: ssä, se on tällä hetkellä melko buginen. Google Pixel Launcher ei useimmiten pysty renderöimään taustoja, animoidut videot asetuksissa eivät lataudu, ja tilapalkissa ja ilmoituksissa on useita graafisia häiriöitä. Muuten useimmat sovellukset, jopa YouTube-videot ja pelit, kuten Doodle Jump, näyttävät latautuvan hyvin.

Suuri kiitos XDA Recognized Developerille luca020400 heidän avustaan ​​tämän artikkelin kirjoittamisessa, kuvakaappausten toimittamisesta, jotka näyttävät puretun libhwui.so-koodin, ja virheenkorjauslipun toimittamisesta Vulkan-taustajärjestelmän testaamiseen.


Lähde 1: Talkin’ Treble: Kuinka Android-insinöörit voittivat pirstoutumissodan [ArsTechnica]

Lähde 2: Android Graphics Pipeline: Button to Framebuffer [inovex blogi]

Lähde 3: Skian verkkosivu [Google]

Lähde 4: Kommentit kirjoittaja Romain Guy, Android Graphics & Kotlin @ Google [Reddit]