I made a tool to measure the battery impact of different Android web browsers - here's what I learned!
Howdy, Android nerds!
A little while ago I wrote a simple power consumption benchmark for Android web browsers, called browser-power-hour. I've since used it to test Chrome against Firefox on two different devices, and I'm here to share the results!
Why is this useful? It's pretty common to see battery drain brought up as a reason to use (or avoid) certain web browsers, often without evidence. But browsers are complex and constantly evolving pieces of software... maybe those perceptions are out of date? Maybe they're still valid! Unlike raw performance, there are few, if any, good ways to reliably measure battery impact for an individual app, especially on Android, so it's hard to tell what's actually true. Hence, this project! My goal is to be able to provide objective metrics on browser power efficiency to demystify the battery impact question.
I wrote a blog post about the benchmark if you're interested in more detail about how it all works, but I suspect most are primarily curious about the results. Let's focus on that!
A few caveats to keep in mind
Most importantly: the actual consumption percentages mean very little on their own. A web browser's relative power consumption next to its competition is the only useful statistic this benchmark provides.
Adding onto the above: these results, and the benchmark as a whole, are NOT meant to be general-purpose device battery tests. Under the hood, the benchmark tests a static set of websites sequentially. Great for testing an individual app, not great for testing a device that will be subject to far more variable conditions.
The results for one device/SoC may not be relevant for other devices with wildly different system configurations.
Finally: I am far from a technical Android expert. It's possible there are far better ways to do what I'm doing, and it's possible there are significant improvements to be made to my benchmark. If you believe there are, the benchmark is open source, and I encourage you to contribute!
Let's get started!
I'm a Pixel guy, so I tested this on both my old 4a 5G (powered by Qualcomm's Snapdragon 765G) and my new Pixel 8 Pro (powered by Google's Tensor G3). As I mentioned up top, I chose to focus on Chrome and Firefox - lots of alternative Android web browsers are Chromium-based and (from additional tests I've run) appear to have similar speed and battery performance to stock Chrome, so there's no need to analyze more than just one Chromium-based browser for this initial comparison. Firefox, on the other hand, is Gecko-based, and might potentially perform meaningfully different!
We do know one big thing going into this: Firefox has traditionally lagged behind Chrome on speed benchmarks, so a lower benchmark score isn't surprising. What I'm hoping to see is that, despite the lower performance, Firefox is still competitive with Chrome on power efficiency.
This is a little shocking - Firefox is outright competitive with Chrome! Firefox is on average ~17% faster in Speedometer benchmarks while maintaining similar power consumption. That's great news if you're on a 4a 5G or another device that runs the Snapdragon 765G - you can base your choice on the browser's feature set instead of performance. That said, the Pixel 4a 5G is out of support, and it's possible that this trend won't hold with newer devices.
This is also surprising! Firefox performs similarly to Chrome... while consuming 3.6x the power in active use. That's... pretty bad.
It's unclear on the surface why there's such a large discrepancy here, but (baseless speculation alert) my best guess would be that Firefox just isn't well optimized for Tensor G3, or Chrome is VERY well optimized. Either way, the end result for Pixel 8/Pro users is that Chromium-based browsers are the obviously better choice.
What about [insert device here]?
This is where I need your help! That's right, YOU!
I don't have a wide variety of phones to test on, just my two Pixels. Notably, that means I haven't tested a single flagship Qualcomm chip. But you might be able to! The benchmark is open source, and I've tried to make it as easy as possible to run it yourself. If you do run the benchmark, please share! I've created a Github discussion where people can post their results.
very interesting, I wonder if the difference is due to the Pixel 8 Pro having a variable refresh rate screen, maybe also because it has a higher resolution screen and different graphic drivers
but with Chrome being about 10x more efficient on P8P than P4a, I'm guessing the variable refresh rate is a big factor there that Firefox isn't using as optimally
Actually, refresh rate isn't a factor! I tested with smooth display off on the 8 Pro and the power consumption was roughly the same.
It's worth noting that the numbers I got from Battery Historian are the app's power consumption alone. It tracks display/system power consumption separately.
I've been running these tests on and off for months with different browsers. On my Pixel 8 Pro, the different Firefox variants are all more or less the same (which is to say tremendous battery hogs). I also tried with Ublock Origin enabled and it didn't make an appreciable difference.
I have phone for every Snapdragon 800 Series until the 865, Every Kirin from the 930 to the 980 and all the 64 bit flagship Exynos until the S10 (9820) so could definitly provide some of these numbers in the next couple of days.
Also do you get any meaningful difference in the browser engine family? Like between Chromium, Brave and Vivaldi for example?
Tests on however many devices you're comfortable with would be super appreciated!!
do you get any meaningful difference in the browser engine family? Like between Chromium, Brave and Vivaldi for example?
All those examples are Chromium derived, and all have more or less identical battery characteristics. Some may score slightly higher on benchmarks than others, but they all consume roughly the same amount of power.
I'm curious to know the impact of ad-blockers - I didn't see you it mention in your post or blog, so I'm assuming you tested with stock browsers. Also, did you clear history and data from your Android install since it sounds like you'd normally use that?
I'm assuming that ad-blockers would be a net benefit to both battery and performance, given that in a way it's an optimisation. The boost from removing data and computation (that the user doesn't want anyway) must be far higher than the overhead of the plugin, right?
did you clear history and data from your Android install since it sounds like you'd normally use that?
I didn't for the Chrome/Firefox comparison I did in my post, but I rarely use either browser as a default, so I doubt it would have a huge impact.
I'm curious to know the impact of ad-blockers
I've tested a ton of Chromium derivatives with built-in adblocking (e.g. Brave, Vivaldi, Cromite), and all of them were substantially the same as Chrome. Firefox with uBlock Origin seemed to be mostly the same, but I admit that impression is anecdotal - I haven't done a direct comparison.
Either way, I don't think adblocking is bad, so if you want to block ads go for it.
Now compare Chrome with Firefox with a bunch of privacy and adblock extensions ;)
I have! IIRC, Firefox doesn't see a particularly large impact (for better or worse) with uBlock Origin installed, though I haven't run a direct comparison in a while. Adblocking is great, but I wouldn't hold up better battery life as a guaranteed benefit.
try it on a device with an up-to-date chip that actually has some processing power and see that there would be no long term difference.
First of all: thanks to some fantastic community testers, we do know now that Firefox runs far better on Qualcomm chips. It's still a little worse on battery relative to Chrome, but compared to Tensor it's night and day.
Second: I think this attitude is too dismissive. Firefox running best on the latest Qualcomm flagship doesn't change the fact that it runs atrociously on Pixels. I'm a big fan of Firefox, and I want it to run well for the largest set of users possible - including Pixel users! Hopefully, shining a light on areas where Firefox falls behind can help the engineering team close the gap not just on Pixels but on all devices.
I actually did manage to pass it along to Firefox's CTO as part of their recent Reddit AMA! They indicated they're investigating power consumption in general, so I hope my work is useful to them.