Tajemniczy sposób Safari obsługuje obrazy iPada Retina
Dziwny błąd w Mobile Safari oznacza, że Twój iPad może odmówić wyświetlania obrazów w wysokiej rozdzielczości na Twojej nowej siatkówce Retina Wyświetlacz, zamiast tego zmniejsza je i sprawia, że wyglądają tak samo źle, jak gdyby były w niskiej rozdzielczości, aby zaczynać się. Co dziwne, ten problem dotyczy tylko plików JPG, a następnie tylko niektórych plików JPG. Co się dzieje?
Fotograf Duncan Davidson dobierał siatkówkę do niektórych zdjęć i zdał sobie sprawę, że wyglądają gorzej niż mniejsze zdjęcia. Będąc maniakiem, zaczął kopać, aby dowiedzieć się dlaczego, i wymyślił to wyjaśnienie:
Obrazy większe niż 1775 pikseli szerokości (lub 1180 pikseli wysokości) są próbkowane w dół przez Webkit. Do tej liczby i wszystko w porządku. Uderz jednak w 1776, a twoje zdjęcia zostaną zmniejszone. PNG są w porządku, podobnie jak – co dziwne – są to obrazy w formacie siatkówki na stronie Apple.
Okazuje się, że rozwiązaniem jest użycie progresywnych JPG. Pamiętasz, kiedy ich używaliśmy? Progresywny JPG pobiera kolejno obrazy o wyższej rozdzielczości i wyświetla je. W ten sposób otrzymujesz blokowy, ale kompletny obraz, który jest następnie wypełniany w miarę odbierania większej ilości danych. Użyj progresywnego JPG, a Webkit nie będzie miał problemu z jego wyświetleniem.
Jest to zaskakująco sprytne rozwiązanie problemu serwowania obrazów dla wyświetlaczy o różnych rozmiarach, ale mam pytanie: czy ktoś wie, czy te progresywne JPG mogą się zatrzymać w połowie? To znaczy, czy zwykły iPad może załadować tylko tyle szczegółów, ile jest w stanie wyświetlić?
Przeczytaj więcej z szczegóły techniczne, tak dobrze jak wyniki eksperymentu na blogu Duncana.