Poate cineva să explice toate aceste opțiuni pentru dezvoltatori? (Android, Grafică, Opțiuni Pentru Dezvoltatori)

MANI a intrebat.

Poate cineva să explice aceste opțiuni pentru dezvoltatori?

  • Forțați redarea GPU
  • Dezactivați operațiile de clipuri non-rectangulare
  • Forțați 4X MSAA
  • Dezactivarea suprapunerilor HW

Care sunt posibilele efecte care pot fi observate în dispozitivul meu prin dezactivarea/activarea acestora? [Notă: Am găsit și alte opțiuni căutând pe Google, dar nu și acestea.]

Setările dezvoltatorului afectează durata de viață a bateriei prin utilizarea viteze de animație mai mici (toate la 2x mai exact) sau viteze de animație mai mari (de 0,5 ori mai precis) în detrimentul experienței utilizatorului?

1 răspunsuri
RossC

Vă rugăm să rețineți că acestea sunt Dezvoltator și este posibil să nu fie utile sau să aibă un impact negativ asupra performanței dispozitivului dvs.

Forțați redarea pe GPU

GPU este unitatea de procesare grafică. Seamănă foarte mult cu procesorul, dar în loc să calculeze numere și să se ocupe de sarcini pentru sistemul de operare și hardware, GPU redă informațiile grafice și le pune pe ecran pentru dumneavoastră.

Procesorul poate procesa instrucțiunile grafice foarte bine, dar acest lucru ia timp pentru a nu mai efectua alte calcule și poate duce la întârzieri în timp ce instrucțiunile grafice sunt procesate.

Începând cu Ice Cream Sandwich, dezvoltatorii (sau utilizatorii experimentați) au opțiunea de a forța aplicațiile să utilizeze redarea prin GPU, indiferent dacă acest bit este activat sau dezactivat în manifestul aplicației. Acest lucru nu face neapărat ca aplicația să fie mai rapidă și poate cauza probleme.


Dezactivați operațiile de clipare non-rectangulare

Acest lucru este prea tehnic pentru mine ca să explic în detaliu. Practic, o „pânză” este utilizată pentru desen. Codul sursă pentru Android conține acest lucru:

/**
     * Turn on to **debug non-rectangular clip operations**.
     *
     * Possible values:
     * "hide", to disable this debug mode
     * "highlight", highlight drawing commands tested against a non-rectangular clip
     * "stencil", renders the clip region on screen when set
     *
     * @hide
     */
    public static final String DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY =
            "debug.hwui.show_non_rect_clip";

Ați putea să îl dezactivați pentru a crea zone neobișnuite (non-rectangulare) ale pânzei. Consultați aici pentru mai multe detalii în acest sens

După cum subliniază @IanNi-Lewis în comentariul său:

Probabil că merită să subliniem că „regiuni de clip non-rectangulare” este puțin înșelătoare. Ar trebui să fie „regiuni de clip care nu sunt dreptunghiuri aliniate la ecran”. Dacă aveți o regiune de clip dreptunghiulară care este rotită cu o nonmulțime de 90 de grade, atunci aceasta urmează aceeași cale lentă ca și o regiune de clip în formă de gogoașă sau ce-o fi. („Calea lentă” utilizează bufferul de șablon și probabil că nu trebuie să fie atât de lentă cum este; este o zonă bună pentru optimizare viitoare).


Forțați 4X MSAA

Force 4x MSAA nu necesită un dispozitiv înrădăcinat. Această opțiune face același lucru ca orice filtru Anti Aliasing din jocurile pentru PC – netezește toată pixelizarea și oferă o redare mai bună, ceea ce înseamnă o grafică mai frumoasă. Utilizatorii trebuie să știe că această funcție este recomandată doar pentru dispozitivele care au GPU capabile să suporte MSAA nativ.

De la Wikipedia:

În procesarea semnalelor și disciplinele conexe, aliasing este un efect care face ca diferite semnale să devină nediferențiate (sau aliasuri unul altuia) atunci când sunt eșantionate. Se referă, de asemenea, la distorsiunea sau artefactul care rezultă atunci când semnalul reconstruit din eșantioane este diferit de semnalul continuu original.


Dezactivarea suprapunerilor HW

Fără o suprapunere hardware, fiecare aplicație care afișează lucruri pe ecran va împărți memoria video și va trebui să verifice în mod constant dacă există coliziuni și decupări pentru a reda o imagine corespunzătoare, ceea ce poate costa foarte multă putere de procesare. Cu o suprapunere hardware, fiecare aplicație primește propria porțiune de memorie video, eliminând astfel necesitatea de a verifica dacă există coliziuni sau decupări.

După cum a spus @DanHulme: În Android, ferestrele sunt întotdeauna compuse, mai degrabă decât redate în memoria video partajată. În mod normal, SurfaceFlinger utilizează GPU pentru compoziție, dar va folosi o suprapunere hardware atunci când acest lucru este posibil, care este mai rapidă și consumă mai puțină baterie. Dezactivarea suprapunerilor înseamnă că va folosi întotdeauna redarea pe GPU. Este utilă doar pentru depanarea integrării sistemului sau pentru decodarea video HW: nici măcar dezvoltatorii de aplicații nu trebuie să activeze această opțiune

Comentarii

  • S-ar putea ca 4xMSAA să nu fie de fapt mai lent. Pe anumite GPU-uri, cum ar fi Mali-400, diferența de viteză între 4xMSAA și fără anti-aliasing este neglijabilă din cauza modului în care se execută fragment shaders. De asemenea, merită menționat faptul că acest lucru afectează doar aplicațiile GLES și nu va face ca textul și pictogramele din aplicațiile normale să fie mai clare. –  > Por Dan Hulme.
  • Nu cred că descrierea ta a suprapunerilor HW este corectă. În Android, ferestrele sunt întotdeauna compuse mai degrabă decât redate în memoria video partajată. În mod normal, SurfaceFlinger folosește GPU pentru compoziție, dar va folosi o suprapunere hardware atunci când acest lucru este posibil, care este mai rapidă și consumă mai puțină baterie. Dezactivarea suprapunerilor înseamnă că va folosi întotdeauna redarea pe GPU. Este utilă doar pentru depanarea integrării sistemului sau a decodificării video HW: nici măcar dezvoltatorii de aplicații nu trebuie să activeze această opțiune. –  > Por Dan Hulme.
  • Sunt departe de PC-ul meu, voi edita cât de repede pot, m-am încurcat puțin. Sau nu ezitați să editați –  > Por RossC.
  • Ei bine, actualizarea pentru a utiliza procesarea gpu a făcut ca aplicația se să nu se blocheze la această întrebare 🙂 –  > Por Canadian Luke.
  • @Ross Nu cred că are un efect uriaș asupra bateriei, doar o anumită economie de baterie ca în Windows, unde dezactivăm grafica transparentă (adică tema Aero este sugerată pentru a dezactiva pentru a îmbunătăți timpul de baterie) –  > Por utilizator285oo6.