GIF i PNG – porównanie kompresji – prosty przykład

business 2082639 1280 GIF i PNG - porównanie kompresji - prosty przykład
3.7/5 - (3 votes)

Bardzo krótki artykuł przedstawiający trzy przykłady różnic w skuteczności kompresji obrazków za pomocą GIF i PNG.

Autor: blackcat

Zajmiemy się ocena który format jest lepszy: GIF czy PNG, wykluczając to, że GIF może być animowany. Chciałbym zaprezentować w jakich przypadkach, który format jest lepszy. Obydwa formaty zdawały by się być podobne a jednak tkwi w nich różnica. W celu udowodnienia, który format jest lepszy zrobimy pewne testy.

Próba zapisu obrazka z czarnymi liniami:

GIF - rozmiar pliku 2,75kB

GIF - rozmiar pliku 2,75kB

PNG - rozmiar pliku 2,85kB

PNG - rozmiar pliku 2,85kB

To doświadczenie miało pokazać jakość algorytmu kompresującego każdego z formatów. Zauważamy, że chociaż rozmiar pliku niewiele się różni to dla takiego położenia kolorów algorytm GIF’a jest bardziej doskonały, a algorytm PNG zostaje w tyle.

Teraz spróbujmy zapisać te same czarne linie obrócone o 90°:

GIF - rozmiar pliku 4,59kB

GIF - rozmiar pliku 4,59kB

PNG - rozmiar pliku 2,35kB

PNG - rozmiar pliku 2,35kB

I mamy niespodziankę. Po poprzedniej przegranej PNG jest teraz lepszy o prawie połowę rozmiaru pliku. Tak, linie pionowe to słabe miejsce formatu GIF, natomiast algorytm PNG w tym przypadku jest niezawodny.

Jeszcze jedna próba na liniach. Teraz obrócimy je pod katem 45°:

GIF - rozmiar pliku 7,20kB

GIF - rozmiar pliku 7,20kB

PNG - rozmiar pliku 13,6kB

PNG - rozmiar pliku 13,6kB

Jak widać tutaj PNG jest sporo w tyle (większy rozmiar pliku), a wydawało by się, że powinien być lepszy od rywala. Algorytm jednak jest algorytmem. Trudno jest odpowiedzieć, który format jest lepszy. Wybór formatu należy do użytkownika. Wybierze ten który jest dla niego lepszy. Może projektanci kiedyś udoskonala format PNG i będzie on znacznie lepszy od innych. Jak na razie będzie trzeba czekać, miejmy nadzieje, że nie długo.

Autor: blackcat

4 komentarze

  1. Bardzo pobierzne porównanie

    Witam
    Chciałbym w zasadzie napisać, że należałoby dodać porównanie funkcjonalne, skomplikować obrazki, porównać kompresje z dużą ilością kolorów.
    Oba formaty powinny być używane wspólnie, ponieważ są lepsze do różnych zastosowań. PNG ma zaimplementowany kanał alfa, więc jest doskonały wszędzie tam gdzie jest potrzebna półprzezroczystość. GIF ma tylko pełną przezroczystość lub wcale. Obrazek w PNG może zawierać pełną skalę kolorów, GIF tylko 256, przejścia między kolorami dla których zabrakło skali w pliku są emulowane ditheringiem, co nie zawsze ładnie wygląda.
    W dzisiejszych czasach rozmiar ma mniejsze znaczenie niż za czasów modemów, ale wcale nie twierdzę, że nie trzeba się nim przejmować. Po prostu czasami dobry wygląd i kanał alfa ma priorytet.
    Pozdrawiam.
    Jarek

  2. TwojaReklama

    Zgadzam się w 100 % z Jarkiem !

  3. Rafał Płatek

    To stary artykuł i potraktowany dość pobieżnie. Postaram się wkrótce przygotować coś bardziej pożytecznego.

  4. Kamil

    Nie zgodzę się że rozmiar ma małe znaczenie. Wąskim gardłem komputerów dzisiaj są właśnie dyski. No chyba że masz SSD to wtedy rzeczywiście nie ma się czym przejmować.

Skomentujesz?

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Administratorem Twoich danych osobowych będzie Rafał Płatek, prowadzący działalność gospodarczą pod firmą CREAM.SOFTWARE RAFAŁ PŁATEK, wpisaną do rejestru ewidencji gospodarczej CEiDG pod numerem NIP 681-112-89-55. Szczegóły związane z przetwarzaniem danych osobowych znajdziesz w polityce prywatności.