JPEG «progressif»: pourquoi de nombreux sites Web évitent-ils de rendre les JPEG de cette façon? Avantages, inconvénients?

39

Lorsque les images JPEG sont utilisées par une page Web, elles sont généralement rendues de haut en bas ... mais elles peuvent également être rendues à l'aide d'un mode appelé JPEG progressif , dans lequel l'image commence par être agrandie , mais floue , puis devient plus nette avec passes successives, jusqu'à ce qu'il soit complètement chargé. Le chargement progressif nécessite que l'image ait été enregistrée de cette façon.

Pourquoi davantage de sites Web n'utilisent-ils le JPEG progressif? Quels sont les inconvénients? S'agit-il simplement d'un manque de prise en charge des outils, ou bien ces fichiers sont-ils d'une qualité inférieure aux images JPEG au rendu descendant traditionnel?

Chris W. Rea
la source
2
Qu'est-il arrivé aux gifs entrelacés aussi?
7
Ils ont été un grand constructeur de suspense dans les films de 1990 environ, attendant que l'image soit chargée, oh c'est un peu moins encombrant, ok on peut presque voir le visage du tueur ... BAM [coupé en séquence d'action dramatique]
Mark Henderson
1
J'aime l'algorithme d'agrandissement infini utilisé dans Blade Runner.
Chris W. Rea
3
@ Chris, ce n'est rien comparé au logiciel de Red Dwarf .
Peter Taylor
@PeterTaylor C'est génial :-)
Chris W. Rea

Réponses:

14

Le format JPEG progressif est pris en charge par la diffusion aléatoire depuis sa création. La page Wikipedia sur JPEG dit:

Cependant, les JPEG progressifs ne sont pas aussi largement pris en charge, [citation requise] et même certains logiciels qui les prennent en charge (telles que les versions d'Internet Explorer antérieures à Windows 7) [12] affichent uniquement l'image après son téléchargement complet.

NB: La première déclaration n’est pas sourcée et la source de la seconde n’indique pas nécessairement qu’elle est uniquement prise en charge par Windows 7.

Je ne me souviens pas de la première fois que j'ai évité le format JPEG progressif, mais le problème le plus récent est que les analyseurs d'image Flash (qui peuvent charger des fichiers PNG, GIF et JPEG) ne peuvent pas non plus charger de fichier JPEG progressif ( lien mis à jour sur Internet Archive ) .

artlung
la source
Mais utiliser Flash est diabolique! ;-)
Marco Demaio le
15

Je sauvegarde généralement les images en progressif.

Je n'ai jamais connu ou entendu parler d'inconvénients ou de problèmes de rendu . Et même si certains très vieux navigateurs ne peuvent pas restituer l’effet progressif, ils restituent enfin l’image, ce n’est donc pas un gros problème.

Les images JPEG progressives sont généralement de taille plus petite que la même image sans image progressive .

Par exemple, une image JPG de 8K (qualité maximale) pourrait facilement devenir une image de 6K (qualité maximale) lorsque l’adoption progressive est adoptée et sans perdre un pixel de définition.

De plus, avec des éditeurs d'image tels que Photoshop, l'enregistrement d'une image au format JPG progressif ne prend rien (c'est simplement une case à cocher dans la fenêtre qui apparaît lorsque vous utilisez la commande "Enregistrer sous"), donc je le fais habituellement.

Marco Demaio
la source
7
En effet, yuiblog.com/blog/2008/12/05/imageopt-4 a révélé que 94% des JPEG supérieurs à 10 Ko compressaient mieux (plus petit) quand ils étaient progressifs (c'est différent pour les petits fichiers, 75% des JPEG inférieurs à 10 Ko compressant). mieux sans mode progressif). Il est donc généralement judicieux de sauvegarder les gros fichiers JPEG en tant que fichiers progressifs.
John Mellor
1
Je suis d'accord avec John, si vous passez de qualité maximale à très élevée (80% -90%) ou inférieure, vous constaterez que progressif ne donne plus une taille plus petite.
joelpittet
1
Vous ne pouvez pas savoir avec certitude que les images 6K et 8K sont de la même qualité. C'est le réglage maximum et la réduction sera invisible. Je soupçonne que le plus petit fichier sera plus pénalisant. Il n’ya aucun moyen que l’algorithme progressif soit 25% plus efficace. Au contraire, il devrait être moins efficace car il ajoute une couche de séparation aux données compressées corrélées.
Zdenek
6

Artlung a abordé quelques considérations de support, mais il y a aussi le fait que cela ne va tout simplement pas avoir d'importance la plupart du temps. Le point important dans la question est "jusqu'à ce qu'il soit complètement chargé". Le format progressif n'est pas une finesse esthétique qui rend l'image floue, il est fonctionnel:

Si une image est assez grande (par la taille du fichier) pour que le téléchargement prenne un certain temps, alors vous verrez la progression.
Même si tous les fichiers JPEG ont été enregistrés en progressif, la majorité des images que vous allez rencontrer ne sont tout simplement pas assez grandes pour que vous puissiez en voir l’effet de manière significative. C’était une bonne idée lorsque tout le monde utilisait un modem téléphonique lent, mais c’est de plus en plus une curiosité pour une application pratique limitée au-delà des sites qui nécessitent réellement de très grandes images comme un photographe difficile ou quelque chose du genre.

Il en va de même pour les GIF entrelacés, car quelqu'un les a ajoutés dans les commentaires.

Il y a un facteur d'audience potentiel ici, par exemple, si vous considérez les pays avec une infrastructure réseau moins développée où ils peuvent avoir des vitesses beaucoup plus lentes, mais je ne peux pas en dire autant. Je pourrais les voir comme ayant éventuellement une application pour la navigation mobile, mais nous revenons ensuite au support incomplet de la fonctionnalité.

Su '
la source
1
Je pense que le mobile est en fait un facteur important ici. Je suppose que le nouveau smartphone le prend en charge; et vous améliorerez considérablement l'expérience de navigation en 3G ou à des vitesses plus lentes - si vous voyez des images sans chargement, vous pouvez partir avant de perdre plus de temps ou d'argent.
Baumr 12/0213
Un navigateur mobile peut disposer d’un paramètre permettant d’afficher uniquement le premier ou le deuxième passage d’un fichier JPEG progressif par défaut. Cela permettra d'économiser sur les données et fournir une expérience de navigation plus rapide.
Dim
Baumr: Non, le coût du processeur est trop élevé. En fait, mon téléphone ne dessine même pas partiellement une image normale, il attend la charge complète avant même de l'afficher.
Zdenek
sunk818: Bien que théoriquement possible, ce serait un hack cross-layer. Vous devriez analyser le JPEG dans la partie TCP de la pile et interrompre le transfert plus tôt que prévu ... Terrible. Et cela briserait aussi le pipeline. Et la plupart des bibliothèques JPEG refuseraient de travailler avec un tel fichier, vous devriez donc aussi utiliser un hack homebrew! Tout simplement pas.
Zdenek
3

Google utilise le chargement progressif de leurs images dans images.google.com. Tout d'abord, ils étirent leur pouce pour prévisualiser les dimensions, puis ils chargent l'image d'origine. Je pense que c'est une bonne pratique. Tout comme le JPEG progressif

Thémis
la source
Je fais ça aussi. Et ma solution est encore meilleure car Google charge la totalité de l’image cachée pendant que je la laisse passer progressivement dans la version de mauvaise qualité.
Zdenek
2

Le rendu progressif (gif / jpeg) était pour le bon vieux temps de l'Internet où les serveurs étaient lents et le dernier transfert de données se faisait de façon analytique via POTS. Personne ne perd plus de temps là-dessus.

Une grande partie de mon audience sur le site Web est sur le haut débit, ce qui ne sert à rien, mais à un fondu minimal sur une très grande image (bien que sur un câble de 8 Mo, il est à peine perceptible). Si votre public est toujours en ligne téléphonique, vous voudrez peut-être vous en préoccuper.

Et comme il est souligné dans les commentaires ci-dessous, l'ancien est nouveau et la nouvelle vitesse de transfert du dernier kilomètre reste un problème pour le réseau de téléphonie mobile et l'accès par satellite en raison de problèmes de vitesse de liaison ou de latence. Faites donc attention à votre public et réinstallez-le pour une meilleure expérience utilisateur là où vous en avez besoin.

Fiasco Labs
la source
3
Vous négligez les connexions 3G mobiles - celles-ci peuvent être lentes; cela dépendra si les
visiteurs
1
Le format JPEG progressif convient également aux pays insulaires où la bande passante est limitée et le temps de latence élevé.
Dim
Mais le rendu progressif ne devrait pas être évité.
Bhavesh Gangani
Oui, moins de régions du monde ces jours-ci que de passer de la 2G à la 3G. Un utilisateur de Barundi vient de charger une page 3-8 sur le monde à partir d’un ordinateur de bureau câblé complet en 115 à partir d’une connexion mobile 2G. Il peut encore être un monde lent sur mobile.
ClearCrescendo
60% des connexions Chrome sont 2G - Chrome Dev Summit 2016.
Thomas McCabe
1

Pour les sites tels que Wikipedia qui affichent eux-mêmes leurs vignettes à la volée, il convient également de prendre en compte le fait que tous les algorithmes de création de fichiers JPEG progressifs nécessitent davantage de cycles de mémoire et de temps CPU. Lorsque les fichiers d'origine sont suffisamment volumineux, cela crée des problèmes.

vraiment
la source
0

Beaucoup de bibliothèques ne l'offrent pas du tout, ou pas par défaut. Mais ce n'est pas la raison. Je gère un site web proposant des images et je déteste les JPEG progressifs. Pourquoi? Parce que l'algorithme utilisé en eux est pire que le mien! J'utilise la même technique que Google, en plus de superposer une vignette de taille moyenne sur la petite. De cette manière, l'utilisateur obtient presque toute la qualité instantanément sur n'importe quelle connexion, quelle que soit la taille de l'original. Les fichiers progressifs deviennent très volumineux, ruinant cet effet.

La superposition de vignettes est le moyen de le faire.

Zdenek
la source
0

Le JPEG progressif fonctionne avec Chrome, Firefox et IE 9+. Je pense que cela couvre la plupart des navigateurs utilisés aujourd'hui pour utiliser le Web.

Le JPEG progressif offre une meilleure expérience utilisateur dans de nombreuses situations. J'aime voir progressif lorsque je visite un site lent (pays insulaire, effet slashdot, pointe du trafic, etc.). Je n'ai pas besoin de voir tout de suite la qualité. Une première idée de l'image suffit souvent. Cela me gêne davantage de voir un chargement lent image de haut en bas. Cela me rappelle les jours modernes du téléchargement de l’art ASCII à 300 bauds.

Soleil
la source