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.

Pixel 4a 5G

(Full results with screenshots here.)

Browser Power consumption Speedometer average
Chrome 4.00% 4.02
Firefox 4.22% 4.72

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.

Speaking of…

Pixel 8 Pro

(Full results with screenshots here.)

Browser Power consumption Speedometer average
Chrome 0.38% 8.14
Firefox 1.38% 8.43

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.

Thanks for reading!

  • henfredemars@infosec.pub
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 months ago

    Thank you for this work! I’ve been very interested in the topic but haven’t been bothered to actually test.

    Are you intending to provide this relative power data to browser developers?

    • mbestavros@lemdro.idOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      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.