Google Chrome tests throttling background JavaScript timers to improve battery life

Google Chrome tests throttling background JavaScript timers to improve battery life

In a bid to reduce Google Chrome’s impact on laptop battery life, Google is working on a tweak that could significantly reduce the browser’s battery usage. According to a recent report from TheWindowsClub, the company has started testing an experimental feature with Chrome 86 that limits JavaScript timer wakeups in background webpages and can potentially extend battery life by up to two hours.

The report cites a technical document from Google which details the new feature, along with a couple of experiments that highlight the expected battery savings. The document reveals that a new Chrome flag will limit the JavaScript timer wakeups to just 1 per minute, much like Apple’s Safari browser, and help extend the battery life without breaking the user experience. However, the throttling will only target webpages that don’t stop timers on visibilitychange events and those that haven’t switched to modern APIs like MutationObserver, IntersectionObserver, or requestAnimationFrame.


Throttling Javascript timers experiment results Google Chrome 86


In a test using a 2018 MacBook Pro 15-inch, Google Chrome developers observed that the laptop discharged in 6.4 hours while browsing in Chrome without the flag enabled. The same laptop discharged in 9.3 hours while using Safari. However, once the flag was enabled, the developers found that the laptop lasted a total of 8.2 hours using Chrome. In all cases, the developers had a single blank tab open in the foreground with 36 tabs open in the background.

In another experiment, the developers replaced the blank tab with a YouTube video played in fullscreen and the laptop lasted 4.6 hours in Chrome’s current state. With the JavaScript throttling flag enabled, the same laptop lasted 5.3 hours.

The experimental flag, called “Throttle Javascript timers in background,” is already available in Google Chrome Canary 86 and can be enabled on Chrome for Windows, Mac, Linux, Android, and Chrome OS. According to BleepingComputer, the feature is scheduled to roll out with the stable version of Google Chrome 86 in the near future and it will be enabled by default. Chrome Enterprise users, however, will get the option to disable the feature once it becomes default behavior.

About author

Pranob Mehrotra
Pranob Mehrotra

A Literature and Linguistics graduate with a keen interest in everything Android. When not writing about tech, Pranob spends most of his time either playing League of Legends or lurking on Reddit.

We are reader supported. External links may earn us a commission.