Archive pour juillet 2008

Dégradez les PNG, faites des compromis

Lundi 28 juillet 2008

 

Je continue avec l’excellente présentation de Stoyan Stefanov et je prend la suite de la discussion en commentaire d’il y a quinze jours.

Passez en 256 couleurs

Un PNG24 c’est 16 millions de couleurs. En pratique les PNG on souvent moins de 1000 couleurs. Si vous avez besoin des 16 millions ce que vous avez est probablement une photo, qui devrait être compressée en JPEG. En fait l’oeil humain n’est pas si sensible. Passez de 1000 couleurs à 256 couleurs indexées. Si l’index est bien fait vous ne verrez pas la différence et pour le même prix vous résolvez les problèmes de transparence. (Lire la suite…)

Interpréteur JSON natif pour webkit

Vendredi 25 juillet 2008

Je vous en parlais il y a presque deux mois, JSON c’est lent à interpréter si on le fait bien. C’est même globalement plus lent que XML parce que le code est en javascript, côté utilisateur, alors que XML est géré nativement par les navigateurs.

La solution c’est l’arrivée de moteurs JSON natifs dans les navigateurs. Mozilla Firefox l’a prévu (actuellement dans les plans pour la version 3.1). Anthony Ricaud m’a comme a son habitude fait passé des liens WebKit alors voilà : Adam Barth y travaille pour WebKit.

Nul doute qu’Opera suivra les deux premiers s’ils implémentent l’API de la même façon. Il restera Microsoft Internet Explorer, mais pouvoir utiliser l’API native et basculer sur le chargement d’une bibliothèque javascript uniquement si elle n’est pas présente, c’est déjà un gros pas en avant.

Analyse d’une requête HTTP – serveur et réseau

Mercredi 23 juillet 2008

On parle de temps, de performance, mais finalement que mesure t-on ? La question n’est pas inutile puisque pour une même requête il y a bien trois étape visibles du point de vue du visiteur, cinq du point de vue du navigateur et autant pour le serveur. Alors, que mesure t-on ?

(Lire la suite…)

Pensez aux favicon

Lundi 21 juillet 2008

Le favicon je pense que vous voyez ce que c’est : cette petite icône bête et méchante qu’on voit à côté de l’URL dans la barre d’adresse du navigateur. Là où c’est moins intuitif c’est que ce favicon peut avoir un impact important dans les performances de votre site.

(Lire la suite…)

Ne pas filtrer les PNGs

Vendredi 18 juillet 2008

Utiliser les filtres CSS d’Internet Explorer n’est pas une bonne idée. Déjà ils sont inutiles la plupart du temps, quand vous pouvez vous contenter d’un PNG8 avec une transparence binaire (c’est à dire la plupart du temps si vous avez suivi le début de la phrase), mais en plus ils sont lents.

Quand vous faites un filter:AlphaImageLoader dans vos CSS, Internet Explorer l’exécute à chaque apparition de l’image dans votre page. Oubliez l’idée qu’il met en cache le résultat ou même qu’il n’exécute le filtre qu’une seule fois par image. Si vous l’utilisez pour une petite icône de présentation qui apparaît vingt fois dans votre page, c’est vingt exécutions du filtres qui sont faites.

À chaque exécution du filtre le rendu est bloqué, en attente. Sur Yahoo! Search en retirant AlphaImageLoader de la feuille CSS c’est jusqu’à 100ms qu’ils ont gagné (information donnée par Stoyan Stefanov sur sa dernière présentation).

Faites un compromis avec vous-même et laissez une simple transparence binaire sur un PNG8. Mais si vous n’y êtes pas prêts, faites au moins en sorte que Internet Explorer 7 et plus n’utilisent pas le filtre, car eux savent nativement lire les couches alpha des images PNG. Transformer filter: en _filter: devrait suffire.