Qualcuno può spiegare tutte queste opzioni per gli sviluppatori?


15

Qualcuno può spiegare queste opzioni di sviluppo?

  • Forza rendering GPU
  • Disabilita le operazioni clip non rettangolari
  • Force 4X MSAA
  • Disabilita gli overlay HW

Quali sono i possibili effetti che possono essere visti sul mio dispositivo disabilitandoli / abilitandoli? [ Nota: ho trovato altre opzioni su Google ma non queste. ]

Le impostazioni dello sviluppatore influiscono sulla durata della batteria utilizzando velocità di animazione più basse (tutte con precisione 2x) o velocità di animazione più elevate (0,5 volte con precisione) a scapito dell'esperienza dell'utente?

Risposte:


18

Tieni presente che si tratta di opzioni per sviluppatori e potrebbero non essere utili o avere un impatto negativo sulle prestazioni del tuo dispositivo.

Forza rendering GPU

La GPU è l'unità di elaborazione grafica. È molto simile alla CPU, ma invece di sgretolare i numeri e occuparsi dei compiti per il sistema operativo e l'hardware, la GPU rende le informazioni grafiche e le mette sullo schermo per te.

La CPU è in grado di elaborare correttamente le istruzioni grafiche, ma ciò richiede un po 'di tempo dal fare altri calcoli e può causare ritardi durante l'elaborazione delle istruzioni grafiche

In Ice Cream Sandwich in poi, gli sviluppatori (o gli utenti esperti) hanno la possibilità di forzare le app a utilizzare il rendering GPU, indipendentemente dal fatto che quel bit sia attivato o disattivato nel manifest dell'app. Ciò non rende necessariamente l'app più veloce e può causare problemi.


Disabilita le operazioni clip non rettangolari

Questo è troppo tecnico per me da spiegare in dettaglio. Fondamentalmente una "tela" viene utilizzata per il disegno. Il codice sorgente per Android contiene questo:

/**
     * 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";

È possibile disattivarlo per creare aree di tela insolite (non rettangolari). Vedi qui per maggiori dettagli su questo

Secondo @ IanNi-Lewis sottolinea nel suo commento:

Vale probabilmente la pena sottolineare che le "regioni di clip non rettangolari" sono un po 'fuorvianti. Dovrebbero essere "le aree di clip che non sono rettangoli allineati sullo schermo". Se hai una regione di clip rettangolare che viene ruotata di un non multiplo di 90 gradi, allora scende lungo lo stesso percorso lento di una regione di clip a forma di ciambella o di cosa hai. (Il "percorso lento" utilizza il buffer dello stencil e probabilmente non deve essere così lento come è; è una buona area per l'ottimizzazione futura.)


Force 4X MSAA

Force 4x MSAA non richiede un dispositivo rooted. Questa opzione ha lo stesso effetto di qualsiasi filtro di antialiasing nei giochi per PC: uniforma tutta la pixelizzazione e offre un rendering migliore, il che significa una grafica migliore. Gli utenti devono sapere che questa funzione è consigliata solo per i dispositivi con GPU in grado di supportare MSAA nativo.

Da Wikipedia :

Nell'elaborazione del segnale e nelle discipline correlate, l' aliasing è un effetto che fa sì che segnali diversi diventino indistinguibili (o alias l'uno dall'altro) quando vengono campionati. Si riferisce anche alla distorsione o al manufatto che risulta quando il segnale ricostruito dai campioni è diverso dal segnale continuo originale.


Disabilita gli overlay HW

Senza una sovrapposizione hardware, tutte le applicazioni che visualizzano elementi sullo schermo condivideranno la memoria video e dovranno controllare costantemente la collisione e il ritaglio per rendere un'immagine corretta, ciò può costare molta potenza di elaborazione. Con una sovrapposizione hardware ogni applicazione ottiene la propria porzione di memoria video, eliminando la necessità di verificare la collisione e il ritaglio.

Come diceva @DanHulme: Windows in Android sono sempre composte piuttosto che renderizzate nella memoria video condivisa. Normalmente, SurfaceFlingerutilizza la GPU per la composizione, ma utilizzerà una sovrapposizione hardware quando ciò è possibile, che è più veloce e consuma meno batteria. Disabilitare gli overlay significa che utilizzerà sempre il rendering GPU. È utile solo per l'integrazione del sistema di debug o la decodifica video HW: anche gli sviluppatori di app non devono attivare questa opzione


2
4xMSAA potrebbe non essere effettivamente più lento. Su alcune GPU come Mali-400, la differenza di velocità tra 4xMSAA e nessun antialiasing è trascurabile a causa dell'esecuzione degli shader di frammenti. Vale anche la pena ricordare che ciò influisce solo sulle applicazioni GLES e non rende più nitidi testo e icone nelle app normali.
Dan Hulme,

3
Non penso che la tua descrizione degli overlay HW sia corretta. Le finestre in Android sono sempre composte anziché renderizzate nella memoria video condivisa. Normalmente, SurfaceFlingerutilizza la GPU per la composizione, ma utilizzerà una sovrapposizione hardware quando possibile, che è più veloce e consuma meno batteria. Disabilitare gli overlay significa che utilizzerà sempre il rendering GPU. È utile solo per l'integrazione del sistema di debug o la decodifica video HW: anche gli sviluppatori di app non devono attivare questa opzione.
Dan Hulme,

Sono lontano dal mio PC, lo modificherò appena posso, un po 'confuso. Oppure sentiti libero di modificare
RossC,

Bene l'aggiornamento per utilizzare l'elaborazione GPU ha fatto sì che l'app SE non si bloccasse su questa domanda :-)
Canadian Luke

1
@Ross Non penso che abbia un enorme effetto sulla batteria solo un po 'di risparmio della batteria come in Windows in cui disabilitiamo la grafica trasparente (si consiglia di disabilitare il tema Ie Aero per migliorare il tempo della batteria)
user285oo6
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.