Tăng tiến JPEG JPEG: Tại sao nhiều trang web tránh hiển thị JPEG theo cách đó? Ưu, nhược điểm?


39

Khi hình ảnh JPEG được sử dụng bởi một trang web, chúng thường được hiển thị từ trên xuống ... nhưng chúng cũng có thể được hiển thị bằng chế độ gọi là JPEG lũy tiến , trong đó hình ảnh bắt đầu ở kích thước đầy đủ , nhưng mờ hơn và sau đó sắc nét hơn với liên tiếp vượt qua, cho đến khi nó được tải đầy đủ. Progressive tải đòi hỏi hình ảnh đã được lưu theo cách đó.

Tại sao nhiều trang web không sử dụng JPEG lũy tiến? Nhược điểm là gì? Có phải nó chỉ đơn giản là thiếu sự hỗ trợ của công cụ, hoặc những tệp này bằng cách nào đó kém hơn so với hình ảnh JPEG được hiển thị từ trên xuống truyền thống?


2
Bất cứ điều gì đã xảy ra với gifs xen kẽ quá?

7
Họ là một người xây dựng sự hồi hộp tuyệt vời trong các bộ phim vào khoảng những năm 1990, chờ đợi hình ảnh được tải lên, ồ nó hơi ít, chúng ta gần như có thể thấy những kẻ giết người phải đối mặt ... BAM [cắt theo chuỗi hành động kịch tính]
Mark Henderson

1
Tôi thích thuật toán phóng to thu nhỏ vô hạn được sử dụng trong Blade Runner.
Chris W. Rea

3
@Chris, không có gì so với phần mềm trong Red Dwarf .
Peter Taylor

@PeterTaylor Thật tuyệt vời :-)
Chris W. Rea

Câu trả lời:


14

JPEG lũy tiến đã có hỗ trợ scattershot kể từ khi thành lập. Trang Wikipedia trên JPEG cho biết:

Tuy nhiên, JPEG lũy tiến không được hỗ trợ rộng rãi, [cần dẫn nguồn] và thậm chí một số phần mềm hỗ trợ chúng (như các phiên bản của Internet Explorer trước Windows 7) [12] chỉ hiển thị hình ảnh sau khi được tải xuống hoàn toàn.

NB Câu lệnh đầu tiên không được cung cấp và nguồn cho lần thứ hai không nhất thiết phải nói rằng điều này chỉ được hỗ trợ trong Windows 7.

Tôi không thể nhớ lần đầu tiên tôi tránh JPEG tiến bộ, nhưng vấn đề gần đây nhất là trình phân tích cú pháp hình ảnh trong Flash (có thể tải PNG, GIF và JPEG) cũng không thể tải JPEG lũy tiến ( Lưu trữ liên kết được cập nhật trên Lưu trữ Internet ) .


Nhưng sử dụng Flash là xấu xa! ;-)
Marco Demaio

15

Tôi thường lưu hình ảnh là tiến bộ.

Tôi chưa bao giờ có kinh nghiệm hoặc nghe nói về những hạn chế hoặc vấn đề kết xuất . Và ngay cả khi một số trình duyệt rất cũ có thể không hiển thị hiệu ứng lũy ​​tiến, cuối cùng chúng vẫn hiển thị hình ảnh, vì vậy đó không phải là vấn đề lớn.

Hình ảnh JPEG lũy tiến thường có kích thước nhỏ hơn so với hình ảnh tương tự mà không tiến bộ .

Ví dụ: hình ảnh JPG 8K (chất lượng tối đa) có thể dễ dàng trở thành 6K (vẫn là chất lượng tối đa) khi tiến bộ được chấp nhận và không làm mất pixel định nghĩa.

Hơn nữa, với các trình chỉnh sửa hình ảnh như Photoshop, việc lưu hình ảnh dưới dạng liên tục JPG không mất gì (nó chỉ là một hộp kiểm trong cửa sổ xuất hiện khi sử dụng lệnh "Lưu dưới dạng"), vì vậy tôi thường làm điều đó.


7
Thật vậy, yuiblog.com/blog/2008/12/05/imageopt-4 thấy rằng 94% JPEG lớn hơn 10K nén tốt hơn (nhỏ hơn) khi tăng dần (nó khác với các tệp nhỏ, vì 75% JPEG nhỏ hơn 10K nén tốt hơn mà không cần chế độ tiến bộ). Vì vậy, nói chung nên lưu các JPEG lớn theo tiến bộ.
John Mellor

1
Tôi đồng ý với John, nếu bạn giảm chất lượng từ chất lượng tối đa xuống rất cao (80% -90%) hoặc thấp hơn, bạn sẽ thấy rằng lũy ​​tiến không còn mang lại kích thước nhỏ hơn.
joelpittet

1
Bạn không thể biết chắc chắn rằng hình ảnh 6K và 8K có cùng chất lượng. Đó là cài đặt tối đa và mức giảm sẽ vô hình. Tôi nghi ngờ rằng các tập tin nhỏ hơn sẽ mất nhiều hơn. Không có cách nào thuật toán lũy tiến có thể hiệu quả hơn 25%. Nếu bất cứ điều gì, nó sẽ kém hiệu quả hơn vì nó thêm một lớp phân tách vào dữ liệu nén tương quan.
Zdenek

6

Artlung bao gồm một số cân nhắc hỗ trợ, nhưng cũng có một thực tế là hầu như không có vấn đề gì trong hầu hết thời gian. Điều quan trọng trong câu hỏi là "cho đến khi nó được tải đầy đủ." Định dạng lũy ​​tiến không phải là một tính thẩm mỹ làm cho hình ảnh mờ đi, đó là chức năng:

Nếu một hình ảnh đủ lớn (bằng kích thước tệp) mà phải mất một lúc để tải xuống, thì bạn sẽ thấy tiến trình.
Ngay cả khi mọi JPEG ở mọi nơi đều được lưu dưới dạng lũy ​​tiến, ở tốc độ kết nối phổ biến hiện tại, phần lớn các hình ảnh bạn sẽ gặp chỉ là không đủ lớn để bạn có thể thấy hiệu ứng ở bất kỳ mức độ đáng kể nào. Đây là một ý tưởng tuyệt vời khi mọi người dùng modem điện thoại chậm, nhưng ngày càng tò mò về ứng dụng thực tế hạn chế ngoài các trang web thực sự đòi hỏi hình ảnh rất lớn như một nhiếp ảnh gia kén chọn hoặc một cái gì đó.

Điều tương tự cũng xảy ra đối với các GIF xen kẽ, vì ai đó đã xử lý chúng trong các bình luận.

Có một yếu tố đối tượng tiềm năng ở đây, giả sử nếu bạn xem xét các quốc gia có cơ sở hạ tầng ròng kém phát triển, nơi họ có thể có tốc độ chậm hơn đáng kể, nhưng tôi không thể nói điều đó. Tôi có thể thấy chúng có thể có một số ứng dụng để duyệt trên thiết bị di động, nhưng sau đó chúng tôi lặp lại để hỗ trợ cho tính năng này.


1
Tôi nghĩ rằng điện thoại di động thực sự là một sự cân nhắc lớn ở đây - tôi đoán rằng điện thoại thông minh mới hỗ trợ nó; và nó sẽ giúp trải nghiệm duyệt web trên 3G hoặc tốc độ chậm tốt hơn nhiều - nếu bạn thấy hình ảnh tải không liên quan, bạn có thể rời đi trước khi bạn lãng phí nhiều thời gian hoặc tiền bạc hơn
Baumr

Một trình duyệt di động có thể có một cài đặt để chỉ hiển thị lần đầu tiên hoặc lần thứ hai của JPEG tiến bộ theo mặc định. Điều này sẽ tiết kiệm dữ liệu và cung cấp trải nghiệm duyệt nhanh hơn.
CN

Baumr: Không, chi phí CPU quá cao; Điện thoại của tôi thực sự thậm chí không vẽ một phần hình ảnh thông thường, nó chờ tải đầy đủ trước khi hiển thị.
Zdenek

sunk818: Mặc dù về mặt lý thuyết là có thể, nó sẽ là một bản hack nhiều lớp. Bạn sẽ phải phân tích cú pháp JPEG trong phần TCP của ngăn xếp và làm gián đoạn quá trình chuyển sớm ... Thật khủng khiếp. Và nó sẽ phá vỡ đường ống quá. Và hầu hết các thư viện JPEG sẽ từ chối làm việc với tệp như vậy, vì vậy bạn cũng phải sử dụng hack homebrew! Không.
Zdenek

3

Google sử dụng tải hình ảnh giống như lũy tiến của họ trong images.google.com Đầu tiên họ kéo dài ngón tay cái để xem trước kích thước và sau đó họ tải hình ảnh gốc. Tôi nghĩ rằng đó là một thực hành tốt. Giống như JPEG lũy tiến


Tôi cũng làm vậy. Và giải pháp của tôi thậm chí còn tốt hơn bởi vì Google tải hình ảnh đầy đủ ẩn trong khi tôi dần dần thả nó xuống phiên bản chất lượng thấp.
Zdenek

2

Kết xuất tiến bộ (gif / jpeg) là cho những ngày tốt đẹp của Internet nơi các máy chủ hoạt động chậm và việc truyền dữ liệu dặm cuối cùng được thực hiện khi thu thập thông tin qua POTS. Không ai lãng phí thời gian cho nó nữa.

Vì vậy, nhiều khán giả trang web của tôi sử dụng băng thông rộng mà nó không phục vụ mục đích nào ngoài hiệu ứng làm mờ tối thiểu trên một hình ảnh rất lớn (mặc dù trên cáp 8 MB, nó hầu như không đáng chú ý). Nếu đối tượng của bạn vẫn ở trên điện thoại Quay số, bạn có thể muốn lo lắng về điều đó.

Và như được chỉ ra trong các ý kiến ​​dưới đây, những gì cũ là mới và tốc độ truyền dặm cuối cùng mới vẫn là một vấn đề đối với mạng điện thoại di động và truy cập vệ tinh do các vấn đề về tốc độ liên kết hoặc độ trễ. Vì vậy, hãy chú ý đến khán giả của bạn và triển khai lại để có trải nghiệm người dùng tốt hơn ở nơi bạn cần.


3
Bạn đang bỏ qua các kết nối 3G di động - những kết nối này có thể chậm; nó sẽ phụ thuộc nếu mọi người trên những người truy cập trang web của bạn, nhưng thị trường và việc sử dụng đang thực sự phát triển nói chung
Baumr

1
JPEG lũy tiến cũng tốt cho các quốc đảo nơi băng thông bị hạn chế và độ trễ cao.
CN

Nhưng kết xuất vẫn không nên tránh.
Bhavesh Gangani

Vâng, ngày nay khu vực nào trên thế giới sẽ ít hơn nếu bạn sử dụng 2G hoặc 3G. Chỉ cần một người dùng từ Barundi tải một trang dài 3-8 giây trên toàn cầu từ máy tính để bàn có dây hoàn thành trong 115 giây từ kết nối di động 2G. Nó vẫn có thể là một thế giới chậm trên điện thoại di động.
ClearCrescendo

60% kết nối Chrome là 2G - Chrome Dev Summit 2016.
Thomas McCabe

1

Đối với các trang web như Wikipedia thực sự hiển thị hình thu nhỏ của riêng họ một cách nhanh chóng, có một sự cân nhắc bổ sung: tất cả các thuật toán để tạo JPEG tiến bộ cần nhiều bộ nhớ và chu kỳ CPU hơn. Khi các tệp gốc đủ lớn, điều này tạo ra vấn đề.


0

Nhiều thư viện không cung cấp nó, hoặc không theo mặc định. Nhưng đó không phải là lý do. Tôi điều hành một trang web cung cấp hình ảnh và tôi ghét các JPEG tiến bộ. Tại sao? Bởi vì thuật toán được sử dụng trong chúng còn tệ hơn cả thuật toán của tôi! Tôi sử dụng kỹ thuật tương tự như Google, cộng với tôi thực sự phủ một hình thu nhỏ vừa phải trên hình nhỏ. Bằng cách này, người dùng nhận được gần như toàn bộ chất lượng ngay lập tức trên bất kỳ kết nối nào cho dù bản gốc có lớn đến mức nào. Các tập tin tiến bộ nhận được rất nhiều khối, làm hỏng hiệu ứng này.

Lớp phủ hình thu nhỏ là cách để làm điều đó.


0

JPEG lũy tiến hoạt động trong Chrome, Firefox và IE 9+. Tôi nghĩ rằng bao gồm hầu hết các trình duyệt đang được sử dụng ngày nay để sử dụng web.

JPEG lũy tiến cung cấp trải nghiệm người dùng tốt hơn trong nhiều tình huống. Tôi muốn thấy sự tiến bộ khi truy cập vào một trang web chậm (quốc đảo, hiệu ứng slashdot, lưu lượng truy cập cao điểm, v.v.). Tôi không cần phải xem chất lượng đầy đủ ngay lập tức. Một ý tưởng ban đầu của hình ảnh thường là đủ tốt. Nó làm tôi khó chịu hơn khi thấy một hình ảnh tải chậm từ trên xuống dưới. Nó làm tôi nhớ đến 300 ngày modem tải về nghệ thuật ASCII.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.