Réduire l'overdraw
Identifiants
Catégories
Cycle de vie |
Tiers |
Responsable |
3. Réalisation (fabrication / développement) |
Utilisateur/Terminal |
Architecte Logiciel/Développeur |
Indications
Degré de priorité |
Mise en oeuvre |
Impact écologique |
4 |
4 |
4 |
Ressources Economisées |
Processeur |
Description
Un pixel a l'écran peut être dessiné ("Draw") plusieurs fois durant le processus chargé d'afficher l'interface exacte à l'écran. Le fait de redessiner plusieurs fois un pixel est appelé "Overdraw". Pour réduire le nombre de Redraw et ainsi soulager le processeur, il convient d'appliquer ce genre de pratique :
- Ne pas ajouter un fond a un layout via la propriété
background
si celui-ci est ensuite recouvert complétement par ses enfants.
- Réduire l'imbrication de layout. Par exemple utiliser un
ConstraintLayout
plutôt que plusieurs LinearLayout
imbriqués permet d'éviter ce genre de situation.
- Réduire le nombre de composants utilisant la transparence (propriété
alpha
). En effet, pour afficher un pixel en appliquant une valeur d'alpha, le processeur dessine d'abord le pixel sans alpha, avant de redessiner le pixel en appliquant le bon calcul pour la couleur.
Exemple
- Pour afficher un texte en gris, plutôt que de définir la couleur du composant
TextView
en noir, et de lui appliquer un niveau de transparence via le paramètre alpha
, définir plutôt la couleur du texte en gris directement.
Pour aller plus loin :
Overdraw - Documentation
Principe de validation
Le nombre ... |
est inférieur ou égal à |
de modifications n'affectant pas le layout et occasionnant un repaint (ex: color, background, visibility) |
1 |