AdBlock Plus to kula u nogi Firefoksa. Blokowanie reklam potrafi zabrać więcej pamięci niż same reklamy

Na zużycie pamięci przez Firefoksa w ostatnich czasach nie maspecjalnie co narzekać. Naszetesty potwierdziły zresztą upowszechniającą się wśródinternautów opinię – to już nie Mozilla produkuje najbardziejzasobożerną przeglądarkę, lecz Opera Software. Jeśli jednakwciąż Waszym zdaniem Firefox wymaga za dużo, to wiedzcie, żeprzyczyna może leżeć wcale nie w Firefoksie, lecz w popularnymAdBlock Plusie.

15.05.2014 | aktual.: 15.05.2014 16:26

Takie są przynajmniej wyniki analiz zużycia pamięci dla kilkuwersji Firefoksa, opublikowane na łamach blogaNicholasa Nethercote z Mozilli. Deweloper Mozilli na wstępieprzyznaje, że korzystanie ze współczesnej Sieci bez narzędzia doblokowania reklam graniczy z niemożliwością – gdy zdarza mu sięskorzystać czasem z przeglądarki pozbawionej blokad, jestprzerażony liczbą reklam emitowanych na stronach WWW.

Obraz

Cena za blokowanie jest jednak niemała. Wystarczy jedynie włączyćAdBlocka Plus, by zużycie pamięci przez przeglądarkę Mozilliwzrosło o nawet 70 MB – większość z tego idzie na JavaScript.Widać było to dobrze w naszym teście: z jedną otwartą kartą,Firefox (kompilacja dla Windows) zabierał 128 MB. Z włączonym ABPzużycie pamięci wzrastało do 212 MB. Przy 10 otwartych kartachFirefox potrzebował 376 MB, z ABP już 550 MB. Otwarte podczas testustrony nie były szczególnie wymagające – w niektórych wypadkachsytuacja może wyglądać znacznie gorzej. Głównym winowajcą sątu pływające ramki (iframe).

Każda umieszczona w layoucie strony pływająca ramka zwiększazużycie pamięci przez Firefoksa z włączonym ABP o 4 MB. Niby tonie jest wiele, ale dla witryn korzystających z wielu elementówiframe szybko dochodzi do eskalacji zużycia pamięci, nad którąprzeglądarka po prostu traci kontrolę. Nethercote znalazłdrastyczny przykład, stronęz testem schematu kolorów edytora vim. 400 pływających ramekoznacza, że bez ABP Firefox zużyje 370 MB na jej otwarcie inarysowanie. Wystarczy włączyć ABP i zużycie pamięci wzrasta doniemal 2 gigabajtów.

Czy to tak miało być? W końcu blokujący reklamy użytkownicyrobią to nie tylko po to, by wydawców stron internetowych wpędzićw nędzę, jednym z argumentów jest agresywny charakter reklam,zużywających zbyt wiele zasobów komputera. Tymczasem terapiaokazuje się być gorsza od choroby. Czy można coś w tej sprawiezrobić?

Na Bugzilli został już zgłoszony błądzwiązany z ekstremalnym zużyciem pamięci przez AdBlock Plusa.Udało się zlokalizować winowajcę: to kwestia obsługi arkuszystylów (CSS). Rozszerzenie dla każdej pływającej ramki ładujeswój arkusz, zwykle o całkiem pokaźnych rozmiarach. Abonenci listz filtrami, takich jak Easylist, ładują więc ogromne ilości wsumie zbędnego kodu (który musi być nie tylko załadowany, ale izinterpretowany), przynajmniej w porównaniu do użytkownikówczystych instalacji Firefoksa.

Autor AdBlock Plusa, Władimir Palant, przyznał że niewiele wtej sprawie może zrobić. Rozpoczęto co prawda prace nadprojektami, które docelowo mają zmniejszyć liczbę filtrów, aleto wszystko w kwestii CSS. Nieco więcej można zrobić w kwestiizużycia pamięciprzez obiekty JavaScriptu. Nie będą to jednak jakieś przełomowerozwiązania.

W dyskusji pojawiły się też inne pomysły, takie jakprzerzucenie ciężaru filtrowania na plik hosts, czy ręczneoczyszczanie plików z filtrami dla ABP, ale każde z nich ma swojewady. Zdaniem autora tego newsa, w warunkach domowych (i wszędzietam, gdzie panujemy nad routerem i możemy korzystać z sensownegofirmware, np. OpenWRT) najlepiej jest do blokowania reklamskorzystać z serwera web proxy Squid.Nie jest to oczywiście rozwiązanie uniwersalne, ale w wypadku osób,które gros swojego czasu na WWW spędzają w domu, może okazać sięnajlepsze. Ma też tą dodatkową zaletę, że rozwiązuje problemdla wszystkich domowych urządzeń łączących się z Siecią (a jakwiadomo, blokery reklam dla urządzeń mobilnych nie są takskuteczne, jak ich wersje desktopowe).

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (149)