Prohlížeče | Chrome | Baterie

Chrome 86 vydrží na baterii až o několik hodin déle. Testuje techniku, kterou používá Safari

Inženýři Chromu testují další techniku, jak přinutit webový prohlížeč, aby spaloval co nejméně energie. Tentokrát se zaměřili na weby, které jsou otevřené v panelech na pozadí. Na jednu stranu by měly být okamžitě k dispozici, jakmile se k nim vrátíte, ale zároveň by ve skryté podobě neměly zbytečně vytěžovat procesor.

Jednou z cest by mohlo být výrazné zpomalení méně důležitých časovačů. K čemu jsou vlastně dobré? Webové aplikace mohou skrze Javascript reagovat na hromadu událostí – třeba na změnu rozměru okna, posunutí stránky, změnu textu ve formulářovém prvku, stisk tlačítka atp.

Skriptům změny těchto událostí posílá sám prohlížeč, přičemž musí periodicky kontrolovat svůj stav. Dělá to právě pomocí časovačů.

Časovače stále probouzejí procesor

Zatímco některé klíčové časovače musí běžet i na pozadí a neměnnou rychlostí, je tu i hromada takových, které dávají smysl jen tehdy, když je webová stránka vidět.

Mohou to být zrovna časovače, které se starají o události spojené s podobou samotné stránky. Pokud stránka není vidět, není tak důležité, aby její podobu a strukturu (DOM) kontrolovaly stále dokola a každou kontrolou na pozadí zbytečně zatěžovaly procesor.

Ukázka kódu níže čeká na informaci o změně posuvníku bloku s textem. Časovač prohlížeče tedy musí stále kontrolovat stav a v případě změny zavolat náš kód.

Zpomalovač hodin

Testovací verze Chrome Canary 86 má proto v pokročilé konfiguraci na interní adrese chrome://flags nový přepínač Throttle Javascript timers in background. Po jeho aktivaci prohlížeč uspí časovače DOM u stránek, které jsou alespoň pět minut skryté na pozadí, na jedno probuzení za minutu.

b920680f-510d-455c-8bca-e39047421974
V testovací verzi Chrome 86 je nový pokročilý přepínač, který zpomalí čas

To znamená, že časovače nebudou kontrolovat stav stránky v reálném čase, ale jen jednou za 60 sekund. Google si techniku otestoval na vzorku hromady webových stránek a nemělo by to ničemu vadit – tedy ledaže by se na webu nacházel nějaký velmi specifický kód, který by opravdu očekával probouzení podobného časovače každých pár milisekund.

Až dvě hodiny k dobru

Podstatné je to, že tato drobná optimalizace dokáže zejména při velkém množství otevřených panelů na pozadí (desítky) výrazně ušetřit šťávu v baterii. Výdrž laptopu pak může poskočit i o další dvě hodiny.

4ff0584a-73b4-46fa-9ad0-bc3a33b185d0
Testy inženýrů Googlu s 36 panely na pozadí a prázdným panelem v popředí. Safari je na tom stále lépe, aktivace throttlingu k němu Chrome ale výrazně přiblížila.

Nejedná se přitom o žádnou novou techniku, to samé totiž už dnes používá třeba Safari od Applu. Díky tomu by nemusela změna od Googlu způsobit vývojářům žádné větší komplikace, s technikou už totiž musí počítat u návštěvníků z jablečných operačních systémů.

Stabilní verze Chromu má nyní hodnotu 83. Verze 84 vyjde příští týden a 85 na sklonku letních prázdnin. Verze 86 by pak mohla být hotová zkraje podzimu. Do té doby si inženýři s novinkou ještě pohrají, odladí ji a poté by nám mohla pomalu začít šetřit baterii.

Diskuze (6) Další článek: Záhada gelovité substance, kterou na Měsíci loni objevil čínský rover, byla rozluštěna

Témata článku: , , , , , , , , , , , , , , , , , , , , , , ,