This May, Opera became the first major browser to ship a dedicated battery saving feature. This feature optimizes our Chromium/Blink based browser engine and user interface in order to give users more time to browse their favorite websites. Our tests showed that the feature increased the battery life by as much as 50% when compared to other browsers, such as Google Chrome.

One browser we didn’t pay attention to was Microsoft Edge. Mostly because Edge is only available on Windows 10. This Monday, however, Microsoft released a video, similar to the one we made, showing Microsoft Edge winning in their test. Following the video was an extensive blog post and obviously a huge PR effort, and it was argued that the test showed that Edge beats Firefox, Chrome and Opera.

Like most other engineering teams, we love it when someone picks a fight. If we get beaten in a test like this, we consider it a bug.

So our first step was to see if it actually is the case that “Edge gives longer battery time than Opera”? As Microsoft hasn’t revealed its full methodology, we were unable to run the same tests. The methodology we applied instead was exactly the same as we provided before: browsing a set of popular websites where the automation simulates interaction with the website, making it close to what we expect normal browsing would be on such page.

Our test (which you can replicate) show:

Opera Developer (39.0.2248.0) with native ad blocker and power saver enabled is able to run 22% longer than Microsoft Edge (25.10586.0.0) on a laptop running Windows 10, 64-bit, and 35% longer than the latest version of Google Chrome (51.0.2704.103).

The detailed methodology is described below.

Tests will never perfectly reflect the way real people browse, but there are ways to make some tests more reliable than others. For example, you can use a variety of different websites (video, news etc,) to imitate the way users browse. You can also use a special algorithm that scrolls these websites similar way real users do. This is what we did in previous tests, and this is what we did when comparing Opera to Edge.

How Opera’s battery saver feature works:

We achieved these results with the magic of several under-the-hood optimizations:

Reducing activity in background tabs



Waking CPU less often due to optimal scheduling of JavaScript timers



Automatically pausing unused plug-ins



Reducing frame rate to 30 frames per second



Tuning video-playback parameters and forcing usage of hardware accelerated video codecs



Pausing animations in browser themes



Including ad blocker – when enabled, it provides even more battery savings

Watch

The browser is by far the most used application on both laptops and desktop computers, and for users it is undoubtedly beneficial that browsers are improving and competing. However, if Microsoft really wants to prove that its browser performs better than others (in any regard), the company should be transparent about its methodology so that others can replicate it.

Better luck next time, Microsoft!

How Opera’s test was done

We used a Lenovo Yoga 500, 14″, i3-5005U, 4GB, 500GB HDD, Win 10 using the balanced power profile. The backlight was set to 100% all the time, Wi-Fi was running in 802.11n mode with RSSI -53 dBm. There was no other software running in the foreground; indexing and background services were stopped. Laptops were placed on a wooden surface for similar heat exchange.

The browser was automated using WinAPI event injection. For battery status information, IOCTL_BATTERY_QUERY_STATUS was used (https://msdn.microsoft.com/en-us/library/windows/desktop/aa372699(v=vs.85).aspx).



Battery remaining capacity was measured once per minute.

In each configuration, the test was run for two hours.

Battery time was estimated in following way:





The tests were done in four steps:



Step 1: Configure the system.

Charge the battery to 100%.



Step 2: Load chicagotribune.com, elitedaily.com, faz.net, latimes.com, mashable.com, mlive.com, nj.com, nydailynews.com and youtube.com/watch?v=tnsQ8DjD6YE – in separate tabs.



Step 3: In a loop, scrolling activity was simulated in one of the tabs:



For 30 seconds, pressing of Arrow Down was simulated every 100ms

5 seconds of idle time

For 30 seconds, pressing of Arrow Up was simulated every 100ms

15 seconds of idle time

Step 4: Each minute, the present battery capacity was recorded.