ほとんどの画像形式はすでに圧縮されています。しかし、実際には、画像を取得して圧縮(圧縮)し、圧縮された画像と圧縮されていない画像を比較すると、それほど劇的な違いはありませんが、サイズに違いがあります。
問題は、画像をgzip圧縮する価値があるかどうかです。クライアントのブラウザにフラッシュされるコンテンツサイズは小さくなりますが、解凍するとクライアントのオーバーヘッドが発生します。
お知らせ下さい。
Googleは ペイロードサイズの最小化 でgzipおよびイメージ/バイナリファイルを参照します
画像やその他のバイナリファイルにgzipを使用しないでください。
Webでサポートされている画像ファイル形式、およびビデオ、PDF、その他のバイナリ形式はすでに圧縮されています。それらでgzipを使用しても追加の利点は提供されず、実際に大きくすることができます。画像を圧縮するには、 画像の最適化 をご覧ください。
これは、より重要なもの、クライアントの解凍リソース(時間、処理能力、メモリなど)またはネットワーク帯域幅に依存します。
例1)クライアントシステムはサーバーに非常に近い(ローカルネットワーク上など)か、高速接続を使用しますが、非常に低電力です(おそらくリソースが限られている組み込みシステム)。クライアント側のオーバーヘッド(gzip解除)は不要であり、転送のオーバーヘッドは簡単に余裕があります(ローカルネットワークの実世界では数バイトの違いはありません)。
例2)クライアントはすべて非常に強力なシステム(平均的なオフィスワークステーションなど)ですが、数千台あり、サーバーの帯域幅割り当ては限られています。このシナリオでは、エンドユーザーは簡単にオーバーヘッドを支払うことができ、すべてのバイトがサーバーにとって重要です。 gzipで!
現実世界)画像をgzip圧縮することはお勧めできません。しかし、現実の世界で誰かが携帯電話または他の低電力システムを使用することを期待している場合、最新のシステムは処理に十分な余裕があります。さらに、受信者がgzipを解凍できるという制限を課しています。ほとんどの場合問題になりませんが、なぜ誰かを制限するのですか?サイズの節約は簡単で、処理のオーバーヘッドはどのシステムでも発生しません。サイズの節約が大きくなると、プロセッサのオーバーヘッドがさらに大きくなるため、通常の種類の接続で転送を保存すると、gzipを使用可能なものに処理するのにかかる時間までに再作成できる可能性があります。
IMOの最善の策は、より高度な最適化と代替の画像形式を調べることです。すべてのJPEGが同等に作成されるわけではありません。例:Photoshopで画像をjpegとして保存し、jpegとして「Webおよびデバイス用に保存」すると、同じ品質設定でもファイルサイズが大幅に異なるはずです。さらに、「保存」オプションには、品質とファイルサイズを微調整するためのより多くのオプションがあります。 GIFのようなより「日付の古い」形式も恐れる必要はありません。画像がGIF形式の制限内できれいに表示される場合、それはまだはるかに小さい可能性が高く、透明度などの追加の利点を提供します...
いいえ、実際には事態を悪化させる可能性があります。 Yahooから Webサイトを高速化するためのベストプラクティス :
画像およびPDFファイルは、すでに圧縮されているため、gzip圧縮しないでください。それらをgzipしようとすると、CPUが無駄になるだけでなく、ファイルサイズが大きくなる可能性があります。
Trimage は、画像を最適化するために得られるものとほぼ同じです(覚えている場合、OptiPNG
、pngcrush
、およびjpegoptim
に依存します)。私はよくpngcrush
をデプロイメントの一部として直接使用します。
$ for i in *.png; do pngcrush -rem allb -brute -reduce $i crushed/$i; done;