PNGOUTOstatnio wprowadziłem dużo zmian na blogu, które być może opiszę później. Zacząłem się zastanawiać co mogę jeszcze w nim ulepszyć.

Postanowiłem zrobić test szybkości mojej strony używając PageSpeed Insights . Jak można domyślna strona nie przeszła wszystkich testów. Zaciekawiła mnie  kompresja plików PNG i o tym jest dzisiejszy wpis.

PageSpeed Insights

Na mojej stronie jest dużo obrazków PNG. Jest ich około trzech tysięcy dlatego pomysł z bezstratną kompresją nie wydawał się zły.

Najpierw skorzystałem z programu PNGOUTWIN, ale się okazało, że nawet wersja trial ma nie tylko ograniczenie dniowe, ale także ilościowe.

PNGOUT WIN

Musi istnieć inne rozwiązanie. No cóż jeśli znasz powershella możesz skompresować pliki łatwo i przyjemnie używając odpowiedniej komendy oraz pliku EXE PNGOUT.

get-childitem . -include *.png -recurse | foreach ($_) { pngout "$_"}

Pamiętaj  o tym, że komenda PNGOUT musi być zatwierdzona by system ja rozumiał w trakcie jej używania. Chyba, że jesteś tak niekumaty jak ja xD.

Powershell

Jeśli jednak nie chcesz się bawić komendy konsole udało mi się znaleźć darmowy program do kompresji plików png. Używa on nie tylko PNGOUT do swoich algorytmów więc wydaje się on narzędziem doskonałym.

http://pnggauntlet.com/

Przeniosłem więc zawartość swojego bloga przez FTP i zacząłem zabawę. Jedna z zalet posiadania bloga nie na blogerze.

Kompresja plików jest długo trwałym procesem. Dlatego proces ten lepiej zostawić na noc.

PNGGauntlet

Pierwszy raz w życiu także widzę, że mój procesor aż musi pocić 100% swojej wydajności.

Procesor CPU

Po trzy godzinnej kompresji 2838 plików zostało tak skompresowanych bez stratnie, że zyskałem 42,2 MB wolnej przestrzeni. Procentowo 40% danych zostało usuniętych bez straty graficznej plików.

Skompresowane pliki

Pytanie jednak brzmi jak ten proces zautomatyzować. Piszę w końcu ten wpis i nie wygodne jest kompresowanie plików na bieżąco. Z drugiej strony ponowne kompresowanie tych samym plików ich nie uszkadza.

image

Strona teraz działa szybciej i zdała ten punkt w Google PageSpeed Insights.

pngOUT_06