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 |