Istina o hardverskom ubrzanju na Androidu

Androidsko hardversko ubrzanje

Kada se relativno otvorena Android platforma usporedi sa strogo kontroliranim sustavom poput iOS-a, jedna od prvih razlika koju ljudi primjećuju je vrhunska glatkoća aplikacija na iOS-u. Ovo je nešto što Android ima borio se s od svog nastanka, ali mnoge pretpostavke o grafičkom sustavu Androida i kako se to odnosi na glatkost sučelja nisu u redu. Googleova inženjerica Dianne Hackborn nedavno je objasnila detalje hardverskog ubrzanja Androida Google+ post, a to možda nije čarobni metak kojem su se svi nadali.

Suprotno onome što smo oduvijek čuli, Android je imao neki hardversko ubrzanje za crtanje 2D UI elemenata od prije 1.0. Mnoge animacije koje svakodnevno gledamo na Androidu cijelo su vrijeme hardverski ubrzane. Na primjer, iskačući izbornici, dijaloški okviri, klizanje niz traku obavijesti i prijelaz između aktivnosti crtaju se pomoću GPU-a.

Sve 'sastavljanje prozora' vrši se pomoću hardverskog prikazivanja temeljenog na GPU-u. To možemo smatrati crtanjem bilo kojih novih elemenata na ekranu. Kada se pritisne gumb izbornika, rezultirajućim prekrivanjem obrađuje GPU. Ako se taj sloj promijeni, na primjer ako se gumb označi ili pritisne, ta se promjena prikazuje u softveru, a većina telefona više nego može pritisnuti te piksele. Kad se promijeni cijeli prozor, to je GPU zadatak.



Dakle, ono što se mijenja Sendvič od sladoleda (ICS)? Prema Hackbornu, ono što ćemo vidjeti u Androidu 4.0 je 'potpuno' hardversko ubrzanje. Svi elementi korisničkog sučelja u prozorima i aplikacije nezavisnih proizvođača imat će pristup GPU-u za prikazivanje. Android 3.0 imao je isti sustav, ali sada će programeri moći posebno ciljati Android 4.0 s hardverskim ubrzanjem. Google potiče programere da ažuriraju aplikacije kako bi bile u potpunosti kompatibilne s ovim sustavom dodavanjem oznake hardverskog ubrzanja u manifest aplikacije.

To će vjerojatno trebati vremena jer programeri certificiraju svoje aplikacije na ICS-u, ali Google je u postavke Androida uključio prekidač kako bi prisilio hardversko prikazivanje. Hackborn upozorava da u neprovjerenim aplikacijama ovo može razbiti stvari na suptilan ili temeljni način. Ovo je samo prvi mogući problem s hardverskim ubrzanjem na Androidu.

Android sladoledni sendvičRenderiranjem svih animacija i korisničkog sučelja aplikacije s GPU-om, sustav pogađa upotrebu memorije. Učitavanje OpenGL upravljačkih programa za svaki postupak zauzima približno 2 MB memorije i povećava je na 8 MB. Na uređajima s ograničenom RAM-om to može biti pravi problem. Kad se pojede više RAM-a, sustav će nužno morati zatvoriti više pozadinskih zadataka kako bi uštedio memoriju. Neki programeri možda ne bi željeli koristiti GPU za crtanje kao rezultat.

Cilj je hardverskog prikazivanja za sučelje postići uglađeniji rad, ali ako se njime ne rukuje na odgovarajući način, Android uređaji zapravo mogu raditi lošije. Na primjeru Tegre 2, koja može prikazati sve piksele na 1280 × 800 zaslonu 2,5 puta u sekundi pri 60 fps, problem je jasan. GPU dodirne svaki piksel jednom za pozadinu, jednom za ikone i widgete, još jednom za naljepnice, a zatim postoje i animacije s kojima se treba pozabaviti. Ne postoji način da se dosegne 60 fps u vremenu radeći stvari na takav način.

Android hardversko ubrzanje radi s brojnim trikovima, a programeri bi to trebali uzeti na znanje. Prvo se zasebni prozori na sučelju kopiraju u objedinjene slojeve radi učinkovitijeg pristupa GPU-u. Android također prikazuje pozadinu kao jednu veliku bitmapu koju nije potrebno ponovno prikazivati ​​dok se korisnik pomiče.

Programeri će morati biti oprezni u načinu na koji se upravlja hardverskim ubrzanjem. Jednostavno crtanje svega s GPU-om moglo bi rezultirati lošim performansama na postojećim telefonima. U budućnosti, što je razlučivost uređaja veća, to će brzina GPU-a biti povezana s ukupnom glatkoćom i blizinom praga od 60 fps. Ograničavajući faktor brzine uređaja često će biti propusnost sabirnice GPU memorije.

Copyright © Sva Prava Pridržana | 2007es.com