Apakah gzipping gambar layak untuk pengurangan ukuran kecil tetapi kompresi dan dekompresi overhead?

38

Sebagian besar format gambar sudah dikompresi. Tetapi pada kenyataannya, jika saya mengambil gambar dan mengompresnya (gzipping), dan kemudian saya membandingkan yang terkompresi dengan yang tidak terkompresi, ada perbedaan ukuran, meskipun tidak ada perbedaan dramatis.

Pertanyaannya adalah: apakah itu layak untuk melihat gambar? ukuran konten turun ke browser klien akan lebih kecil, tetapi akan ada beberapa overhead klien ketika de-gzipping.

Stephen Ostermiller
sumber
2
Jika hambatan server Anda lebih dekat pada jaringan daripada pada CPU, tentu saja. Selain itu, mungkin ada buah gantung yang lebih rendah.
Konerak

Jawaban:

31

Google membuat referensi ke file gzip dan gambar / biner pada ukuran Minimalkan payload

Jangan gunakan gzip untuk gambar atau file biner lainnya.

Format file gambar yang didukung oleh web, serta video, PDF, dan format biner lainnya, sudah dikompresi; menggunakan gzip tidak akan memberikan manfaat tambahan, dan benar-benar dapat membuatnya lebih besar. Untuk mengompres gambar, lihat Optimalkan gambar .

John Sampson
sumber
1
favicon.ico adalah pengecualian yang layak disebut. Gambar ICO tidak dikompresi, jadi gzip berkinerja sangat baik pada mereka.
kucing
8

Ini akan tergantung pada apa yang lebih penting, sumber daya dekompresi klien (waktu, daya pemrosesan, memori, dll.) Atau bandwidth jaringan.

Contoh 1) Sistem klien Anda sangat dekat dengan server (katakanlah pada jaringan lokal) atau memiliki koneksi kecepatan tinggi, namun mereka sangat bertenaga rendah (mungkin embedded system dengan sumber daya terbatas). Anda TIDAK akan menginginkan overhead sisi klien (un-gziping) dan dapat dengan mudah membayar overhead transfer (beberapa byte tidak membuat perbedaan di dunia nyata pada jaringan lokal).

Contoh 2) Semua klien Anda adalah sistem bertenaga sangat tinggi (katakanlah, di atas workstation kantor rata-rata) namun ada ribuan dari mereka dan server Anda hanya memiliki alokasi bandwidth yang terbatas. Dalam skenario ini, pengguna akhir dapat dengan mudah membayar overhead dan setiap byte penting ke server. pergi!

Dunia Nyata) Anda mungkin TIDAK lebih baik mencari gambar Anda. Namun sistem modern dapat membayar pemrosesan, jika Anda memiliki harapan dunia nyata seseorang akan menggunakan ponsel atau sistem bertenaga rendah lainnya. Selain itu Anda memaksakan batasan bahwa penerima dapat un-gzip. Seharusnya tidak menjadi masalah sebagian besar waktu, tetapi mengapa membatasi siapa pun? Penghematan ukuran akan sepele dan biaya pemrosesan tidak untuk sistem apa pun. Semakin besar penghematan ukuran, Anda harus mengharapkan overhead prosesor yang lebih besar sehingga setiap kali Anda menghemat transfer dari setiap jenis koneksi normal memiliki peluang untuk hanya dibuat kembali pada saat yang diambil untuk memproses gzip menjadi sesuatu yang dapat digunakan.

IMO terbaik Anda adalah melihat optomisasi yang lebih tinggi dan format gambar alternatif. Tidak semua JPEG dibuat sama. Contoh: menyimpan gambar sebagai jpeg di photoshop, lalu "save for web and devices" sebagai jpeg, ukuran file harus sangat berbeda dengan pengaturan kualitas yang sama. Selain itu, opsi "simpan untuk" menyediakan lebih banyak opsi untuk kualitas penyempurnaan dan ukuran file. Jangan takut format yang lebih "kuno" seperti GIF juga. Jika gambar Anda ditampilkan dengan baik dalam keterbatasan format GIF, kemungkinan gambar itu masih jauh lebih kecil, dan menawarkan manfaat ekstra seperti transparansi ...


sumber
Terima kasih atas tanggapan terperinci Anda. Skenario yang saya bicarakan adalah skenario yang melibatkan jutaan gambar yang ada, sebagian dioptimalkan, di situs web e-commerce. Jadi jelas, bahwa prioritas tertinggi adalah rendering cepat di sisi klien, dan bahwa mesin klien bertenaga rata-rata. Menyimpan dalam format yang berbeda bukanlah pilihan [investasi besar]. Solusi terbaik adalah dalam kasus seperti ini [begitu banyak gambar yang ada], untuk memiliki alat yang dapat mengoptimalkan semua file jpeg dalam folder. Apakah Anda terbiasa dengan alat seperti itu?
Ada utilitas baris perintah gratis bernama jpegtran yang mengoptimalkan JPEG, mungkin dapat mengolah semua gambar dalam folder sehingga mungkin perlu diselidiki.
Air Mancur Tim
7

Tidak, sebenarnya itu bisa memperburuk keadaan. Dari Praktik Terbaik Yahoo untuk Mempercepat Situs Web Anda :

File gambar dan PDF tidak boleh di-gzip karena sudah dikompres. Mencoba gzip tidak hanya memboroskan CPU tetapi juga berpotensi meningkatkan ukuran file.

nthonygreen
sumber