Totuus laitteistokiihdytyksestä Androidissa

Android-laitteistokiihdytys

Kun verrataan suhteellisen avointa Android-alustaa tiukasti hallittuun järjestelmään, kuten iOS, yksi ensimmäisistä eroista, joita ihmiset huomaavat, on iOS-sovellusten ylivoimainen tasaisuus. Tämä on jotain Androidilla kamppaili sen perustamisesta lähtien, mutta monet Androidin graafista järjestelmää koskevista oletuksista ja siitä, miten se liittyy käyttöliittymän tasaisuuteen, ovat väärässä. Google-insinööri Dianne Hackborn selitti äskettäin Androidin laitteistokiihdytyksen yksityiskohtia Google+ -viesti , ja se ei ehkä ole taika luodin, jota kaikki toivovat.



Toisin kuin olemme aina kuulleet, Androidilla on ollut jonkin verran laitteistokiihdytys 2D-käyttöliittymäelementtien piirtämiseen ennen versiota 1.0. Monet Androidissa päivittäin näkemämme animaatiot ovat kiihtyneet koko ajan. Esimerkiksi ponnahdusvalikot, valintaikkunat, ilmoituspalkin liu'uttaminen alaspäin ja toimintojen välillä siirtyminen piirretään GPU: lla.

Kaikki 'ikkunan sommittelu' tehdään GPU-pohjaisella laitteistohahmonnuksella. Voimme ajatella tämän piirtävän uusia elementtejä ruudulle. Kun valikkopainiketta painetaan, GPU hoitaa tuloksena olevan peitteen. Jos kyseinen peite muuttuu, esimerkiksi jos painike korostetaan tai painetaan, muutos suoritetaan ohjelmistossa, ja useimmat puhelimet pystyvät työntämään näitä pikseleitä. Kun koko ikkuna muutetaan, se on GPU-tehtävä.



Joten mikä muuttuu Jäätelö voileipä (ICS)? Hackbornin mukaan Android 4.0: ssa näemme 'täydellisen' laitteistokiihdytyksen. Kaikilla Windowsin käyttöliittymäelementeillä ja kolmannen osapuolen sovelluksilla on pääsy grafiikkasuorittimeen renderointia varten. Android 3.0: lla oli sama järjestelmä, mutta nyt kehittäjät voivat kohdistaa nimenomaan Android 4.0 laitteistokiihdytyksellä. Google kannustaa kehittäjiä päivittämään sovellukset täysin yhteensopiviksi tämän järjestelmän kanssa lisäämällä laitteistokiihdytystunnisteen sovelluksen luetteloon.



Tämä vie todennäköisesti aikaa, kun kehittäjät sertifioivat sovelluksensa ICS: ssä, mutta Google on sisällyttänyt Android-asetuksiin kytkimen pakottaakseen laitteiston renderoinnin. Hackborn varoittaa, että testaamattomissa sovelluksissa tämä voi rikkoa asioita hienovaraisella tai perustavalla tavalla. Tämä on vasta ensimmäinen mahdollinen ongelma laitteistokiihdytyksessä Androidissa.

Android-jäätelövoileipäRenderoimalla kaikki sovelluksen animaatiot ja käyttöliittymä GPU: lla järjestelmä vie osuman muistin käyttöön. OpenGL-ohjainten lataaminen kuhunkin prosessiin vie noin 2 Mt muistia ja lisää sen 8 Mt: iin. Laitteissa, joissa on rajoitettu RAM-muisti, tämä voi olla todellinen ongelma. Kun enemmän RAM-muistia syötetään, järjestelmän on välttämättä suljettava lisää taustatehtäviä muistin säästämiseksi. Jotkut kehittäjät eivät ehkä halua käyttää grafiikkasuoritinta piirtämiseen.

Liitännän laitteistohahmonnuksen tavoitteena on saada sujuvampi toiminta, mutta jos sitä ei käsitellä asianmukaisesti, Android-laitteiden suorituskyky voi olla huonompi. Käyttämällä esimerkkiä Tegra 2: sta, joka voi näyttää kaikki pikselit 1280 × 800 -näytöllä 2,5 kertaa sekunnissa 60 kuvaa sekunnissa, ongelma on selvä. GPU koskettaa kutakin pikseliä kerran taustaa varten, kerran kuvakkeita ja widgettejä varten, vielä kerran tarroja varten, ja sitten on käsiteltäviä animaatioita. Ei ole mitään tapaa saavuttaa 60 kuvaa sekunnissa tehden asioita tällä tavalla.



Android saa laitteistokiihdytyksen toimimaan useilla temppuilla, ja kehittäjien tulisi ottaa huomioon. Ensin erilliset käyttöliittymän ikkunat kopioidaan yhtenäisiksi peitteiksi GPU-käytön tehostamiseksi. Android renderöi taustan myös yhtenä suurena bittikarttana, jota ei tarvitse renderoida uudelleen käyttäjän vierittäessä.

Kehittäjien on oltava varovaisia ​​laitteistokiihdytyksessä. Pelkästään kaiken piirtäminen GPU: lla voi johtaa huonoon suorituskykyyn nykyisissä puhelimissa. Tulevaisuudessa mitä korkeampi laitteen tarkkuus, sitä enemmän GPU: n nopeus tulee olemaan yleinen sileys ja läheisyys 60 FPS -rajaan. Laitteen nopeutta rajoittava tekijä on usein GPU-muistiväylän kaistanleveys eteenpäin.

Copyright © Kaikki Oikeudet Pidätetään | 2007es.com