Commentaires sur : Dégradez les PNG, faites des compromis https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/ Quelques mots pour des sites web rapides Tue, 19 Aug 2008 05:16:42 +0000 hourly 1 https://wordpress.org/?v=5.2.3 Par : Felipe https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-280 Tue, 19 Aug 2008 05:16:42 +0000 http://performance.survol.fr/?p=55#comment-280 Un PNG-24 peut être plus petit qu’un PNG-8 et c’est souvent ce que produit OptiPNG sur de petits pictogrammes: dans un PNG-8 il faut en effet embarquer la palette de couleurs et ces jusqu’à 3×256 octets de différence peuvent faire perdre le gain de poids dû à un PNG-8.
Et c’est sans perte d’information, contrairement à pngnq (pas de passage de 24bits à 8bits); pour vérifier si les PNG de départ et d’arrivée sont strictement identiques il y a pngcomp fourni avec pngnq.

Perso je sauvegarde en PNG-24 pour pouvoir retravailler l’image plus tard à moins qu’il n’y ait besoin de 8 bits de transparence (là c’est dans Fireworks que ça se passe, le seul capable de rouvrir le fichier), j’essaie pngnq et garde le résultat s’il n’y a pas trop de dégradation, puis lance « optipng -o7 *.png » sur le répertoire entier

]]>
Par : Louis https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-279 Mon, 11 Aug 2008 17:34:47 +0000 http://performance.survol.fr/?p=55#comment-279 D’accord, je crois que j’ai enfin compris. Je pense que l’outil de compression que je passe sur mes PNG réduit le nombre de couleurs des PNG-24. Ca expliquerait pourquoi mes PNG-24 sont parfois plus petit que mes PNG-8 après compression : ils ont autant de couleurs, mais sont en plus allégés des meta données et compagnie.

]]>
Par : Éric https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-278 Mon, 11 Aug 2008 15:22:53 +0000 http://performance.survol.fr/?p=55#comment-278 @Louis: tu dois avoir un problème quelque part je pense. PNG8 c’est simplement moins de couleurs. Tu ne devrais pas pouvoir avoir un poids plus gros simplement en réduisant le nombre de couleurs.
Ou alors c’est moi qui ai raté quelque chose.

]]>
Par : Louis https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-277 Mon, 11 Aug 2008 13:48:50 +0000 http://performance.survol.fr/?p=55#comment-277 Je dois avouer que sur Photoshop CS3, je sauvegarde souvent en PNG-24 car celui-ci s’avère plus léger que le PNG-8, surtout en prenant en compte l’outil d’optimisation (optiPNG et compagnie).

Est-ce que j’ai raté quelque chose ou bien d’autres personne font aussi ce constat ?

]]>
Par : Éric https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-276 Tue, 05 Aug 2008 18:03:31 +0000 http://performance.survol.fr/?p=55#comment-276 C’est effectivement un problème d’outils : Fireworks sait gérer les couches alpha sur le PNG8

]]>
Par : EmmanuelC https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-275 Tue, 05 Aug 2008 14:40:49 +0000 http://performance.survol.fr/?p=55#comment-275 > Pour le PNG8, contrairement à la croyance commune, il s’avère qu’il est possible d’avoir une opacité variable. Chaque couleur de la palette a sa propre opacité.

Comment fait-tu pour jouer avec cette opacité variable en PNG8 ? J’ai beau chercher dans Photoshop et Gimp, je n’arrive pas à la manipuler autrement qu’en PNG24. Peut-être avec d’autres softs ?

]]>
Par : Éric https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-274 Sun, 03 Aug 2008 10:19:45 +0000 http://performance.survol.fr/?p=55#comment-274 J’ai dit 100 octets, j’aurai pu dire 200 ou 300. Ca m’apprendra à ne pas être précis dans les commentaires. Disons que la différence de taille ne sera en faveur de GIF que sur des images toutes petites, et que sur ces images la taille gagnée quand avec GIF est franchement négligeable.

J’ai http://performance.survol.fr/wp-content/uploads/2008/08/flagsdw3.png en 211 octets. Il n’est pas exact au pixel près, mais je doute que cela se voit autrement qu’en comparant exprès les deux images côte à côte. Pour être honnête les mêmes compromis adaptés au GIF donnent 191 octets. On a donc 20 octets de différence. C’est moins que le cout d’une entête IP ! Autant dire plus que négligeable, même pour une connexion WAP.

Il ne faut pas oublier qu’entre les entêtes du navigateur et celle du serveur, c’est 1ko de qui sont échangés avant même de faire passer l’image. Ensuite on ajoute le temps nécessaire à la latence, le coût de la connexion elle-même … les 20 octets on va vite les oublier.

]]>
Par : koqless https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-273 Sat, 02 Aug 2008 22:04:32 +0000 http://performance.survol.fr/?p=55#comment-273 Tu es sûr que pour des images de plus de 100 octets, le png est plus petit ?
Parceque j’ai un gif de 336 octets et je n’arrive pas à faire mieux en png avec meta.
Si tu veux tester, voici mon gif : http://img393.imageshack.us/img393/6403/flagsdw2.gif

]]>
Par : Éric https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-272 Sat, 02 Aug 2008 15:25:44 +0000 http://performance.survol.fr/?p=55#comment-272 Je ne sais pas, et franchement quel intérêt ?
Sauf pour des images de moins de 100 octets, le PNG sera toujours plus petit, toujours. Il offrira aussi toujours plus de possibilités.

Pour optimiser les GIF, passez les en PNG, tout simplement. Vous n’avez rien à perdre et tout à gagner.

]]>
Par : koqless https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-271 Sat, 02 Aug 2008 13:14:44 +0000 http://performance.survol.fr/?p=55#comment-271 Concernant les GIF, est il possible d’optimiser des Gif comme les PNG avec un tool du genre OptiPng ?
J’ai trouvé juste un tool « Gif optimizer » qui est vraiment pas terrible :/
Si quelqu’un connait un tool performant 😉

]]>
Par : mat https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-270 Wed, 30 Jul 2008 02:40:54 +0000 http://performance.survol.fr/?p=55#comment-270 Le dernier problème dont tu parles est d’ailleurs pas du tout spécifique aux web agency…

]]>
Par : STPo https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-269 Tue, 29 Jul 2008 09:22:59 +0000 http://performance.survol.fr/?p=55#comment-269 Pour en revenir à l’idée de compromis, j’ai abandonné la belle utopie que ça pouvait fonctionner en webagency… Pour plein de raisons propres aux webagencies elles-mêmes d’après moi :

– Le turnover effréné : on accueille tous les mois de nouveaux graphistes peu ou pas formés pour le web, et dès qu’ils sont à peu près au point ils partent vers d’autres boîtes qui paient mieux.

– le temps consacré aux projets : calculé ric-rac, on coupe généralement au plus court dès qu’il y a conflit entre corps de métiers ; c’est-à-dire que c’est le dernier intervenant qui décide, donc souvent l’intégrateur ou le développeur mais très rarement le DA, qui bosse déjà sur de nouveaux appels d’offre.

– la non-implication des techniciens en amont : sur les appels d’offre, graphistes et DA only. Ils vendent du rêve au client parce que les concurrents font pareil, et une fois qu’on se rend compte en prod que c’est mal pensé ou coûteux en perf, impossible de reculer parce que « le client a vu les PSD et qu’il veut exactement ça sur son IE ».

A part en changeant de boite, je ne vois pas trop ce que je pourrais faire contre ça !

]]>
Par : mat https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-268 Mon, 28 Jul 2008 21:43:34 +0000 http://performance.survol.fr/?p=55#comment-268 Certains sont comme St Thomas, tu pourras toujours lui dire que même les autres trouvent que 100ms c’est important, ils ne te croiront pas 🙂

J’avais entendu parler des PNG 8 avec transparence alpha, mais il ya 2 problèmes: 1. ils nécessitent toujours un hack pour IE6 2. ils sont chiants à produire avec les outils habituels (photoshop, gimp). Toutefefois, les tests que j’ai fait avec pngquant et pngnq (2 outils en ligne de commande) sont concluants, je pense que j’en mettrais. Comme je disais, c’est essentiellement des petits détails, les fichiers ne sont déjà pas énormes à la base, ca sera pas flagrant mais c’est déjà pas mal.

Sur la dégradation, c’est moins d’un quart, et ca dépend des cas. Ya des cas ou on mettra un filter (tant pis pour leurs perfs) d’autres ou on coupera (tant pis pour les fonctionalités ou la beauté du truc) et d’autres ou on trouvera une solution alternative.

]]>
Par : Éric https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-267 Mon, 28 Jul 2008 20:58:34 +0000 http://performance.survol.fr/?p=55#comment-267 Pour le PNG8, conctrairement à la croyance commune, il s’avère qu’il est possible d’avoir une opacité variable. Chaque couleur de la palette a sa propre opacité. Bref, même si tu veux de la semi-transparence, le PNG24 n’est pas nécessaire.

Pour IE6 je suis étonné que vous acceptiez d’avoir un service dégradé pour un petit quart de vos visiteurs (et si c’est acceptable pour un quart est-ce nécessaire pour les trois autres quarts ?) mais tant que tu utilises une dégradation légère et pas un filtre CSS, ça n’impacte pas les performances donc du point de vue de ce blog je n’ai rien à y redire.

Pour l’argumentation auprès du graphiste oui, c’est aussi son métier. C’est pour ça que je parle d’imposer un compromis (qui passera par fois par accepter le PNG24 même si vous le trouvez inutile pour pouvoir mieux faire passer en PNG8 la grosse image bien lourde) et pas d’imposer votre point de vue. Maintenant si le chef au dessus ne s’intéresse qu’à la demi-seconde, un tour sur http://performance.survol.fr/2008/06/a-quoi-ca-sert/ est indispensable.

Certes 100ms ne feront pas dire à quelqu’un consciemment « c’est lent », mais c’est quand même quelque chose qui va intervenir inconsciemment pour la fidélisation et la monétisation des visiteurs. Ce n’est pas moi qui le dit, c’est Google, Yahoo!, Amazon …

]]>
Par : mat https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-266 Mon, 28 Jul 2008 20:34:33 +0000 http://performance.survol.fr/?p=55#comment-266 PS: Note que, par contre, vu les stats actuelles de IE6 sur les sites dont je m’occupe, je n’ai aucun scrupule à utiliser dans de plus en plus de cas des « vrais » PNG 24 sans hack – juste une couleur de fond mise pour éviter que ca soit gris – et tant pis pour IE6.

]]>
Par : mat https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-265 Mon, 28 Jul 2008 20:32:49 +0000 http://performance.survol.fr/?p=55#comment-265 Bah, je suis toujours pas d’accord 🙂

Pour commencer, il ya plein de fois ou je suis parfaitement d’accord avec le graphiste pour dire, oui, ya besoin de PNG 24 avec transparence alpha ici. La plupart du temps, ce n’est pas dans le design en lui même, mais dans les détails: un logo, des icônes, des smileys… Bah oui, si on fait toujours des trucs sur la même couleur de fond, pas de problèmes, mais quand on a affaire à du contenu géré par l’utilisateur, ou pire, des scripts de pubs re-habillant une page de pied en cap dynamiquement, on a pas vraiment le choix: même avec un excellent détourage, ca sera généralement moche en transparence binaire.

Enfin, tu peux toujours argumenter auprès du graphiste que c’est ton job, mais c’est aussi le sien et celui de ceux au-dessus de lui. Tu peux toujours dire que c’est meilleur pour les perfs, mais bien souvent, les perfs seront sacrifiées pour avoir un truc plus joli, surtout si ca ne se compte que en dizaines de millisecondes (d’expérience, en dessous d’une demie-seconde, il n’y a guère que des développeurs pour s’y intéresser…)

]]>
Par : giz404 https://performance.survol.fr/2008/07/degradez-les-png-faites-des-compromis/#comment-264 Mon, 28 Jul 2008 12:21:42 +0000 http://performance.survol.fr/?p=55#comment-264 Pour moi ça fonctionne comme ça : un PNG-8 pour remplacer les gif (à tester, selon les images, le poids peut varier en faveur d’un format ou de l’autre)
Pour les photos, du jpeg. Le PNG n’y est pas adapté…
Et dans quelques cas plus rares, le PNG-32 (pour la transparence sur8 bit) avec tout ce que ça peut entrainer comme gestions côté compatibilité…

]]>