Est-ce que gzipping en vaut la peine pour une réduction de taille réduite mais une compression et une décompression en hauteur?

38

La plupart des formats d'image sont déjà compressés. Mais en fait, si je prends une image et la compresse (en la compressant), puis que je compare l’image compressée à l’image non compressée, il existe une différence de taille, même si elle n’est pas aussi dramatique.

La question est: est-ce que cela vaut la peine de compresser des images? la taille du contenu affiché dans le navigateur du client sera plus petite, mais il y aura une surcharge pour le client lors de son extraction.

Stephen Ostermiller
la source
2
Si le goulot d'étranglement de votre serveur est plus proche du réseau que du processeur, c'est certain. Sinon, il pourrait y avoir des fruits plus bas.
Konerak

Réponses:

31

Google fait référence aux fichiers gzip et image / binaires à Réduire la taille de la charge utile

N'utilisez pas gzip pour des images ou d'autres fichiers binaires.

Les formats de fichier image pris en charge par le Web, ainsi que les vidéos, les PDF et d’autres formats binaires, sont déjà compressés; L'utilisation de gzip sur ceux-ci n'apportera aucun avantage supplémentaire et pourra même les agrandir. Pour compresser des images, voir Optimiser des images .

John Sampson
la source
1
favicon.ico est une exception à noter. Les images ICO ne sont pas compressées, gzip est donc très performant.
un chat
8

Cela dépend de ce qui est plus important, les ressources de décompression client (temps, puissance de traitement, mémoire, etc.) ou la bande passante du réseau.

Exemple 1) Vos systèmes clients sont soit très proches du serveur (disons sur un réseau local), soit dotés de connexions à haut débit, mais ils sont de très faible puissance (systèmes embarqués avec des ressources limitées, par exemple). Vous ne voudriez PAS de surcharge du côté client (dépourvu de gzip) et pourriez facilement vous permettre la surcharge du transfert (quelques octets ne font aucune différence dans le monde réel sur un réseau local).

Exemple 2) Vos clients sont tous des systèmes très puissants (par exemple, des stations de travail de bureau au-dessus de la moyenne), mais il en existe des milliers et votre serveur ne dispose que d'une bande passante limitée. Dans ce scénario, les utilisateurs finaux peuvent facilement supporter les frais généraux et chaque octet importe pour le serveur. gzip away!

Monde réel) Vous n'êtes probablement pas mieux de gziper vos images. Les systèmes modernes peuvent bien se permettre le traitement, cependant, si vous avez des attentes réelles, quelqu'un utilisera un téléphone cellulaire ou un autre système de faible puissance. De plus, vous imposez la restriction que le destinataire puisse décompresser. Cela ne devrait pas être un problème la plupart du temps, mais pourquoi limiter quiconque? Les économies de taille seront insignifiantes et les frais généraux de traitement ne concerneront aucun système. Plus la taille des économies réalisées est grande, plus il faut prévoir de temps système, de sorte que chaque transfert de transfert sur un type de connexion normal a une chance d'être simplement recréé après le temps nécessaire pour transformer le gzip en un élément utilisable.

Votre meilleur pari, à l’OMI, est d’examiner l’optomisation supérieure et les formats d’image alternatifs. Tous les fichiers JPEG ne sont pas créés égaux. Exemple: enregistrer une image au format JPEG dans Photoshop, puis "enregistrer pour le Web et les appareils" au format JPEG, la taille du fichier doit être radicalement différente avec les mêmes paramètres de qualité. En outre, l'option "Enregistrer pour" fournit de nombreuses autres options permettant de régler avec précision la qualité et la taille du fichier. Ne craignez pas les formats plus "datés" comme les GIF. Si votre image s'affiche correctement dans les limites du format GIF, elle sera probablement beaucoup plus petite et offrira des avantages supplémentaires tels que la transparence ...


la source
Merci pour votre réponse détaillée. Le scénario dont je parle est un scénario impliquant des millions d’images existantes, partiellement optimisées, sur un site Web de commerce électronique. Il est donc clair que la priorité absolue est rapide rendu du côté client et que les ordinateurs des clients sont alimentés de manière moyenne ou inférieure. Économiser dans un format différent n’est pas une option [investissement énorme]. La meilleure solution serait dans un cas comme celui-ci [autant d'images existantes], de disposer d'un outil capable d'optimiser tous les fichiers JPEG d'un dossier. Êtes-vous familier avec un tel outil?
Il existe un utilitaire gratuit en ligne de commande appelé jpegtran qui optimise les fichiers JPEG. Il peut éventuellement traiter toutes les images d'un dossier par lots, de sorte que cela vaut la peine d'être étudié.
Tim Fountain le
7

Non, en fait, cela pourrait aggraver les choses. Parmi les meilleures pratiques de Yahoo pour accélérer votre site Web :

Les fichiers image et PDF ne doivent pas être compressés car ils sont déjà compressés. Essayer de les gzip non seulement gaspille le processeur, mais peut potentiellement augmenter la taille des fichiers.

nthonygreen
la source