--
--
Liste de diffusion sur les performances web : http://groups.google.com/group/performance-web
Plus d'informations : http://performance.survol.fr/
Se déinsinscrire : performance-w...@googlegroups.com
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes performance-web.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse performance-w...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
Salut,
J'avais fait quelques tests à ce sujet, mais sur des images plus grosses (1000px de large redimensionnées en 200px). Ce n'est pas la mémoire qui m'inquiète. J'ai l'impression que les navigateurs s'en sortent plutôt bien sur la consommation mémoire, ils ont l'air d'avoir mis en place des stratégies pour recycler la RAM lorsqu'on scroll dans une page. Par contre, au niveau de la consommation CPU il y avait clairement un problème. Chaque resize d'image coûtait 15ms de traitement (c'est énorme).
Pour mesurer le coût, tu peux utiliser l'outil Timeline de Chrome Developpers Tools qui permet d'analyser les frames.
Le traitement du redimensionnement ne se faisant qu'à l'affichage réel de l'image, sur Chrome, c'est en scrollant que tu observera le plus facilement les temps de calcul (et la page qui rame).
Mets toi en haut de ta page puis recharge la (sinon les images ont déjà été redimensionnées). Lance la mesure et scroll dans la page. En observant le détail des frames, tu verras apparaître le temps de décodage du JPEG ainsi que le temps de resize. Si les temps sont trop importants, le FPS baisse et le scroll devient moins fluide.
J'ai essayé de mesurer le coût pour tes dimensions d'images, j'ai l'impression que le resize prend environ 1,2ms par image (sur ma machine rapide). J'ai l'impression que c'est suffisamment faible pour ne pas s'en soucier, mais peut-être que ça entrera en concurrence avec la décompression de la musique sur les ordinateurs les plus lents. Je ne saurais pas dire.
Pour les smartphones, si l'application n'est pas en responsive alors cela signifie que les images sont déjà redimensionnées, donc pas de surcoût.
Et enfin, attention sous IE. J'ai l'impression que IE8 effectue le calcul de resize au chargement initial, et non au scroll. Si c'est confirmé, avec tes 1000 images cela lui ferait faire 1200ms de calcul lors du chargement des assets, ce qui doit le freezer pas mal.
Pas d'avis sur la meilleur technique pour remplacer le background par défaut. Mais lorsque tu parles de mettre une transition, ça ça risque de bien plus pénaliser les performances que le redimensionnement de l'image !!
Gaël METAIS