JPEG “Progresif”: Mengapa banyak situs web menghindari membuat JPEG seperti itu? Pro kontra?

39

Ketika gambar JPEG digunakan oleh halaman web, mereka biasanya dirender top-down ... tetapi mereka juga dapat dirender menggunakan mode yang disebut JPEG progresif , di mana gambar dimulai ukuran penuh , tetapi buram , dan kemudian menjadi lebih tajam dengan operan beruntun, sampai penuh. Pemuatan progresif mengharuskan gambar disimpan dengan cara itu.

Mengapa tidak lebih banyak situs web menggunakan JPEG progresif? Apa kekurangannya? Apakah itu hanya kurangnya dukungan alat, atau apakah file-file ini entah bagaimana lebih rendah daripada gambar JPEG yang diberikan top-down tradisional?

Chris W. Rea
sumber
2
Apa yang terjadi dengan interlaced gif juga?
7
Mereka adalah pembangun ketegangan besar di sekitar tahun 1990-an film, menunggu gambar untuk memuat, oh itu agak kurang kuning, ok kita hampir bisa melihat wajah para pembunuh ... BAM [potong urutan aksi dramatis]
Mark Henderson
1
Saya suka algoritma zoom-in infinite-boost yang digunakan di Blade Runner.
Chris W. Rea
3
@ Chris, itu tidak seberapa dibandingkan dengan perangkat lunak di Red Dwarf .
Peter Taylor
@PeterTaylor Itu luar biasa :-)
Chris W. Rea

Jawaban:

14

JPEG progresif telah memiliki dukungan scattershot sejak awal. Halaman Wikipedia di JPEG mengatakan:

Namun, JPEG progresif tidak didukung secara luas, [rujukan?] Dan bahkan beberapa perangkat lunak yang mendukungnya (seperti versi Internet Explorer sebelum Windows 7) [12] hanya menampilkan gambar setelah sepenuhnya diunduh.

NB Pernyataan pertama tidak bersumber, dan sumber untuk yang kedua tidak selalu mengatakan bahwa ini hanya didukung di Windows 7.

Saya tidak dapat mengingat kapan saya pertama kali menghindari JPEG Progresif, tetapi masalah terbaru adalah bahwa parser gambar dalam Flash (yang dapat memuat PNG, GIF, dan JPEG) juga tidak dapat memuat JPEG Progresif ( Tautan Diperbarui pada Arsip Internet ) .

artlung
sumber
Tetapi menggunakan Flash itu jahat! ;-)
Marco Demaio
15

Saya biasanya menyimpan gambar sebagai progresif.

Saya tidak pernah mengalami atau mendengar tentang kekurangan atau masalah rendering . Dan bahkan jika beberapa browser yang sangat lama mungkin tidak memberikan efek progresif, mereka akhirnya tetap membuat gambar, jadi itu bukan masalah besar.

Gambar JPEG progresif biasanya berukuran lebih kecil dari gambar yang sama tanpa progresif .

Misalnya, gambar JPG 8K (kualitas maksimal) dapat dengan mudah menjadi 6K (kualitas masih maks) ketika progresif diadopsi dan tanpa kehilangan piksel definisi.

Selain itu, dengan editor gambar seperti Photoshop, menyimpan gambar sebagai JPG progresif tidak memerlukan apa-apa (itu hanya kotak centang di jendela yang muncul saat menggunakan perintah "Simpan Sebagai"), jadi saya biasanya melakukannya.

Marco Demaio
sumber
7
Memang, yuiblog.com/blog/2008/12/05/imageopt-4 menemukan bahwa 94% dari JPEG lebih besar dari 10K kompres lebih baik (lebih kecil) ketika progresif (meskipun berbeda untuk file kecil, karena 75% dari JPEG lebih kecil dari 10K kompres) lebih baik tanpa mode progresif). Jadi umumnya ide yang baik untuk menyimpan JPEG besar sebagai progresif.
John Mellor
1
Saya setuju dengan John, jika Anda menurunkan kualitas dari kualitas maks ke sangat tinggi (80% -90%) atau lebih rendah, Anda akan melihat bahwa progresif tidak lagi menghasilkan ukuran yang lebih kecil.
joelpittet
1
Anda tidak dapat mengetahui dengan pasti bahwa gambar 6K dan 8K memiliki kualitas yang sama. Ini pengaturan maksimum dan pengurangan tidak akan terlihat. Saya menduga bahwa file yang lebih kecil akan lebih lossy. Tidak mungkin algoritma progresif bisa 25% lebih efisien. Jika ada, itu harus kurang efisien karena menambah lapisan pemisahan pada data terkompresi berkorelasi.
Zdenek
6

Artlung membahas beberapa pertimbangan dukungan, tetapi ada juga fakta bahwa itu tidak menjadi masalah sebagian besar waktu. Bit penting dalam pertanyaan adalah "sampai penuh." Format progresif bukanlah keindahan estetika yang membuat gambar buram, namun fungsional:

Jika sebuah gambar cukup besar (berdasarkan ukuran file) sehingga perlu beberapa saat untuk mengunduh, maka Anda akan melihat perkembangannya.
Bahkan jika setiap JPEG di mana pun disimpan sebagai progresif, pada koneksi umum saat ini mempercepat sebagian besar gambar yang akan Anda temui tidak cukup besar sehingga Anda akan pernah melihat efeknya pada tingkat yang signifikan. Ini adalah ide bagus ketika semua orang menggunakan modem ponsel yang lambat, tetapi semakin menjadi rasa ingin tahu akan aplikasi praktis yang terbatas di luar situs yang benar-benar membutuhkan gambar yang sangat besar seperti fotografer pemilih atau semacamnya.

Hal yang sama berlaku untuk GIF interlaced, karena seseorang menempelkannya di komentar.

Ada faktor pendengar potensial di sini, katakanlah jika Anda mempertimbangkan negara-negara dengan infrastruktur jaringan yang kurang berkembang di mana mereka mungkin mendapatkan kecepatan yang secara signifikan lebih lambat, tetapi saya tidak dapat berbicara tentang itu. Saya dapat melihat mereka mungkin memiliki beberapa aplikasi untuk penjelajahan seluler, tetapi kemudian kami kembali ke dukungan yang rumit untuk fitur tersebut.

Su '
sumber
1
Saya pikir bahwa ponsel sebenarnya merupakan pertimbangan besar di sini - saya menduga bahwa smartphone baru mendukungnya; dan itu akan membuat pengalaman menjelajah di 3G atau kecepatan yang lebih lambat jauh lebih baik - jika Anda melihat gambar yang memuat tidak relevan, Anda dapat pergi sebelum Anda menghabiskan lebih banyak waktu atau uang
Baumr
Peramban seluler dapat memiliki pengaturan untuk hanya menampilkan lintasan pertama atau kedua dari JPEG progresif secara default. Ini akan menghemat data dan memberikan pengalaman menjelajah yang lebih cepat.
Sun
Baumr: Tidak, biaya CPU terlalu tinggi; ponsel saya sebenarnya bahkan tidak menggambar sebagian gambar biasa, ia menunggu muatan penuh bahkan sebelum ditampilkan.
Zdenek
sunk818: Meskipun secara teori memungkinkan, ini akan menjadi peretasan lintas-lapisan. Anda harus mengurai JPEG di bagian TCP dari tumpukan dan menghentikan transfer lebih awal ... Mengerikan. Dan itu akan merusak pipelining juga. Dan sebagian besar pustaka JPEG akan menolak untuk bekerja dengan file seperti itu, jadi Anda harus menggunakan hack homebrew juga! Tidak, tidak.
Zdenek
3

Google menggunakan pemuatan progresif seperti gambar mereka di images.google.com Pada awalnya mereka merentangkan ibu jari untuk melihat pratinjau dimensi dan kemudian mereka memuat gambar asli. Saya pikir itu adalah praktik yang baik. Sama seperti JPEG Progresif

Themetis
sumber
Saya juga melakukannya. Dan solusi saya bahkan lebih baik karena Google memuat gambar penuh yang disembunyikan sementara saya membuatnya semakin menurun di versi berkualitas rendah.
Zdenek
2

Render progresif (gif / jpeg) adalah untuk masa lalu yang baik dari internet di mana server lambat dan transfer data mil akhir dilakukan pada perayapan melalui POTS. Tidak ada yang membuang waktu lagi.

Begitu banyak pemirsa situs web saya menggunakan broadband sehingga tidak ada gunanya selain memudar minimal pada gambar yang sangat besar (meskipun pada kabel 8MB, itu hampir tidak terlihat). Jika audiens Anda masih menggunakan telepon Dial-up, Anda mungkin ingin khawatir tentang hal itu.

Dan seperti yang ditunjukkan dalam komentar di bawah ini, apa yang lama adalah baru dan kecepatan transfer mil akhir baru masih menjadi masalah bagi jaringan telepon seluler dan akses satelit karena masalah kecepatan tautan atau latensi. Jadi perhatikan audiens Anda dan implementasikan kembali untuk pengalaman pengguna yang lebih baik di mana Anda membutuhkannya.

Laboratorium Fiasco
sumber
3
Anda mengabaikan koneksi 3G seluler - itu bisa lambat; itu akan tergantung jika orang-orang mengunjungi situs Anda, tetapi pasar dan penggunaannya benar-benar tumbuh secara umum
Baumr
1
JPEG progresif juga baik untuk negara-negara kepulauan di mana bandwidth terbatas dan latensi tinggi.
Sun
Namun rendering yang progresif tidak harus dihindari.
Bhavesh Gangani
Ya, lebih sedikit wilayah mana di dunia saat ini jika Anda menggunakan 2G atau 3G. Baru saja ada seorang pengguna dari Barundi memuat halaman yang 3-8 detik secara global dari desktop kabel yang selesai dalam 115 detik dari koneksi seluler 2G. Itu masih bisa menjadi dunia yang lambat di ponsel.
ClearCrescendo
60% koneksi Chrome adalah 2G - Chrome Dev Summit 2016.
Thomas McCabe
1

Untuk situs-situs seperti Wikipedia yang benar-benar membuat thumbnail mereka sendiri dengan cepat, ada pertimbangan tambahan: semua algoritma untuk membuat JPEG progresif membutuhkan lebih banyak memori dan siklus CPU. Ketika file asli cukup besar, ini menimbulkan masalah.

trlkly
sumber
0

Banyak perpustakaan tidak menawarkannya sama sekali, atau tidak secara default. Tapi bukan itu alasannya. Saya menjalankan situs web yang menawarkan gambar dan saya benci JPEG progresif. Mengapa? Karena algoritma yang digunakan di dalamnya lebih buruk daripada saya sendiri! Saya menggunakan teknik yang sama seperti Google, ditambah saya benar-benar overlay thumbnail sedang yang kecil. Dengan cara ini, pengguna mendapatkan hampir kualitas penuh secara instan pada koneksi apa pun tidak peduli seberapa besar aslinya. File progresif menjadi sangat kuning, merusak efek ini.

Hamparan thumbnail adalah cara untuk melakukannya.

Zdenek
sumber
0

JPEG Progresif berfungsi di Chrome, Firefox, dan IE 9+. Saya pikir itu mencakup sebagian besar browser yang digunakan saat ini untuk menggunakan web.

JPEG Progresif memberikan pengalaman pengguna yang lebih baik dalam banyak situasi. Saya suka melihat progresif ketika mengunjungi situs yang lambat (negara pulau, efek slashdot, lalu lintas puncak, dll). Saya tidak perlu melihat kualitas sepenuhnya segera. Gagasan awal gambar seringkali cukup baik. Ini lebih mengganggu saya untuk melihat loading atas ke bawah gambar lambat. Itu mengingatkan saya pada 300 baud modem hari mengunduh ASCII art.

Matahari
sumber