Nagy fába vágta a fejszéjét az egyik blog szerkesztője, átvizsgálta a top ezer, illetve top száz legnépszerűbb Chrome-bővítmény hatását a böngésző teljesítményére. Egy-egy reklámblokkoló például bár a hirdetéseket kiszűri, így éppen gyorsíthatná is a böngészést, cserébe annyira leterheli a rendszert, hogy végül rosszabbul jön ki az ember, mint ha nem is használná.
A Chrome böngésző közkedveltségének egyik magyarázata, hogy különféle feladatokat ellátó bővítményeket lehet letölteni hozzá, így ki-ki testre szabhatja a böngésző tudását. Azonban ezek a bővítmények hatással vannak a böngésző teljesítményére, és általában nem pozitív értelemben. A DebugBear blog szerkesztője arra volt kíváncsi, hogy mennyiben befolyásolják a teljesítményt a legnépszerűbb bővítmények. Nem marginális kérdésről van szó, amit jól jelez, hogy a legnépszerűbb 100 bővítmény mindegyikét már több mint kétmilliószor letöltötték.
A tesztelő legelőször azt vizsgálta, miként változik a processzoridő, azaz mennyivel dolgoztatják meg jobban a bővítmények. Amennyiben nincsenek bővítmények a Chrome mellett, akkor például az example.com betöltése 40 ms-nyi processzoridőt igényel, viszont ha valaki letölti az amúgy igen népszerű Evernote vagy Grammarly bővítményt, ez az idő több mint a tízszeresére, 500 ms-ra nő.
Ezek a bővítmények egyfajta kódot adnak minden oldalhoz, amit a felhasználó megnyit. A már említett, több mint négymillió felhasználót számláló Evernote például 2,9 MB-nyi scriptet ad minden oldalhoz, és csupán a kód elemzése és fordítása 140 ms-nyi plusz időt igényel, a kód értékelése pedig újabb 300 ms-ot. A kód amúgy beállít egy eseményfigyelőt, ami viszont csak akkor jut szerephez, ha a felhasználó az Evernote ikonjára kattint, de mindehhez nem lenne szükség a teljes JavaScript-csomag betöltésére, ami viszont megtörténik. Ez a felesleges nagy mennyiségű kódbetöltés más Chrome-bővítményeknél is tetten érhető.
Persze szükségük van a bővítményeknek kódokra, hogy ellenőrizhessék a működésükhöz szükséges feltételeket, azonban a teljesítmény érdekében jobb lenne, ha a fejlesztők elválasztanák az ellenőrző kódokat a bővítmény elsődleges funkciójától, és a kód nagy részét csak akkor töltenék be, amikor az valóban fontos.
A bővítmények az oldalmegjelenítésre is hatással vannak, azonban a legtöbb közülük nem vagy csak csekély mértékű megjelenítési késleltetéssel jár. Az alábbi grafikonon azok a bővítmények láthatók, amelyek a leginkább vannak negatív hatással a kezdeti tartalom megjelenítésére: az FCP (First Contentful Paint) megadja a vizuális megjelenés válaszidejét, azaz hogy mikor kezd a böngésző szöveget vagy képet megjeleníteni.
A Chrome-bővítmények meghatározhatnak szkripteket és stíluslapokat, amelyeket be kell illeszteni az oldalba. Alapértelmezés szerint ezeket akkor adják hozzá az oldalhoz, amikor az tétlen. A bővítmények fejlesztői azonban dönthetnek úgy, hogy ezeket az erőforrásokat azonnal betöltik, amint az oldal betöltődik. Jó példa erre a Dark Reader bővítmény, amelyik sötét témára változtatja a weboldal tartalmát. Furcsa is volna, ha az oldalakat először világos témában jelenítené meg, majd hirtelen átmenne sötétbe. Itt valóban van értelme futtatni a kódot, mielőtt az oldal megjelenne. Ennek a kódnak lehetőség szerint minél kisebbnek kell lennie.
Nem árt tudni, hogy a böngészőbővítmények a háttérben is ügyködnek, ténykedésük bizonyos mozzanatai a felhasználó számára láthatatlanul történnek. A legtöbb Chrome-bővítménynek van egy úgynevezett háttéroldala is, amely lehetővé teszi például a hálózati kérelmek meghallgatását vagy a kiterjesztés ikonjának frissítését. A mérések szerint az Avira Browser Safety csaknem három másodpercig futó kódot tölt a háttéroldalra, míg az összes többi bővítmény 200 ms-nál kevesebbet.
A bővítmények a memóriát is érintik: növelik a memóriafelhasználást, mind a felhasználó megnyitott oldalain, mind a kiterjesztés háttéroldalán. Az Avira Browser Safety ismét a lista tetején található, 218 MB-os növekedést jelent a memóriafelhasználásban. Összességében elmondható, hogy egy háttéroldallal rendelkező bővítmény legalább 10 MB-tal növeli a memóriafelhasználást. Ha nincs háttéroldal, csupán egy kis szkript, akkor a bővítmény memóriahatása minimális lehet.
Érdekesen alakulnak a fenti értékek a hirdetésblokkolók és a biztonsági bővítmények használatánál – tesztelőnk ezeket is vizsgálta. 20 ilyen bővítmény került terítékre, méghozzá egy amerikai hírállomás cikkének betöltése során. Meglepő eredmények születtek: a DuckDuckGo Privacy Essentials például a hír oldalának CPU-idejét 31 másodpercről 1,6 másodpercre csökkentette, de a többi bővítmény esetében is jelentős volt a csökkenés.
A legtöbb hirdetésblokkoló blokkolja az oldal által kezdeményezett hálózati kérelmeket, a DDG például 95 százalékkal csökkenti ezek számát. Az is kiderült viszont, hogy míg a hirdetésblokkolók CPU-időt/használatot takarítanak meg a főoldalon, addig a háttérben némelyik kissé, valamelyik nagyon megnöveli azt.
A memóriahasználatot illetően a hirdetésblokkolók háttéroldalának futtatása memóriát igényel (142 MB-ot az AdBlocker esetében), azonban ezt bőven ellensúlyozza a főoldal memóriahasználatának csökkentése (az említett esetben ez akár 640 MB is lehet), ugyanis a hirdetések izolálva vannak a főoldal tartalmától. Összességében elmondható, hogy a böngésző memóriahasználata extrém esetben akár 80 százalékkal is csökkenhet, ha hirdetésblokkolót is használnak.
Ha máskor is tudni szeretne hasonló dolgokról, lájkolja a HVG Tech rovatának Facebook-oldalát.