バッテリー消費を考えて多くの人がディスプレイの表示方法や画面の明るさを変えますが、それよりも効果を発揮する可能性があるのが「ブラウザを変える」という方法。「バッテリー消費の観点から見て、ベストなブラウザはどれか?」ということで、AnandTechはGoogle ChromeやSafari、Internet Explorer、Firefoxなどのテストを行いました。

AnandTech | Browser Face-Off: Battery Life Explored 2014 - Print View

http://www.anandtech.com/print/8327/browser-faceoff-battery-life-explored-2014

コンピューター・システムを動かすのに使われるのがタイマー割り込みとポーリングという手法。タイマー割り込みは決まった時間ごとに割り込みを発生させて定期的に同じ処理を呼び出すのですが、ポーリングに比べて時間がかかるという欠点があります。この原因の1つは常に監視を行うポーリングとイベントごとにチェックを行うタイマー割り込みの仕組み自体にあるのですが、もう1つ原因として挙げられるのがタイマーコアレッシング。

Microsoftが省電力を実現するためにWindowsで行っているタイマーコアレッシングは、アイドル時間を増やすことでCPUの消費電力を減らすという処理なのですが、これによって1ミリ秒で指定されている処理に15.6ミリ秒もかかってしまうという自体が生じます。



by Joe Hart

しかし、「速いことは素晴らしい」ということで、Google Chromeは精度の高い1ミリ秒間隔のタイマーを使用。Windowsに対して1ミリ秒間でリクエストを送ることでレンダリングの速度向上を実現している代わりに、バッテリーの消費が激しいと言われてきました。

Google Chromeのバッテリー消費は果たしてウワサ通りなのか?ということで、AnandTechはテストを敢行。今回のベンチマークテストで使ったツールは、ブラウザを開いたり閉じたりし、ウェブサイトを読み込み、長い記事をスクロールするなど、あたかもユーザーがPCの前に座って操作しているかのように動作するとのこと。ウェブサイトのコンテンツはテスト中に変えられず、ブラウザは全てプライベートブラウジングモードに設定されました。

テストされたブラウザは以下の通り。

IE11 Desktop Mode v11.0.9600.17207 (Update versions: 11.0.10 KB2962872)

IE11 Modern (Metro) Mode

Firefox 31.0

Safari 5.1.7

Chrome 36.0.1985.125 m

Chrome 37.0.2062.68 beta-m (64-bit)

Chrome 37は正式版がまだリリースされていませんが、32ビットから64ビットに、GDIレンダリングからDirectWriteレンダリングに変わり、大きな変更が見られたのでベータ版をテストしてみたそうです。

テストはハイエンドモデルであるDell XPS 15 (9530)にWindows 8.1を走らせた状態で敢行。マシンの詳細スペックは以下から確認できます。



ということで、実際にベンチマークテストを行った結果がコレ。



バッテリーが残り7%になるまでに何分時間がかかったのか?ということを見てみると、Chrome 36が452分、Modern IE11が419分、Desktop IE11が403分、Firefox 31が357分、Chrome 37が355分と、バッテリー消費が激しいはずのChrome 36が最も長い間使用できたという結果に。一方でベータ版であるGoogle Chrome 37に関しては、ブラウザの中で最もバッテリー効率が悪くFirefox 31とほぼ同じであるという結果になりました。今回のテストでChrome 36とSafariだけがHiDPIをサポートしていなかったのが大きな違いを生み出した、とAnandTechは語っています。

なお、Safariが結果に入っていないのはプロセスの最中にエラーを出してテストできなかったためです。SafariはMac OS Xで起動していたのですが、この問題の解決法をAppleは公開しておらず、Safariを再インストールしても問題が解決することはありませんでした。Windows用のSafariでテストをすることも考えられたのですが、最後のアップデートが2年前となっており、意味がないだろうという結論に達して今回Safariでのテストは断念したとのこと。



予想外の結果に「Google Chromeは本当に1ミリ秒タイマーを使っているのか?」と疑問に思ったAnandTechがPOWERCFGコマンドのオプション「ENERGY」を実行してみたところ、確かにGoogle Chromeは精度の高いタイマーを使用していました。



テスト中に開いたウェブサイトにはFlashの広告も含まれていたため、これがFirefoxやIE 11に影響したのでは?ということで、これもPOWERCFGコマンドで調べてみたところ、いずれのブラウザも処理時間に変化は見られませんでした。



ということで、実験の結果わかったのは、バッテリーを消費するはずのGoogle Chrome 36が最もバッテリー効率がよいということ。そしてMicrosoftも比較的バッテリー効率がよく、Modern UI版のIEはChrome 36の結果に続く形となりました。Chromeの利点はGoogleがChrome 37をHiDPI対応にすることで失われてしまう可能性もありますが、今後の開発によってFirefoxやInternet Explorerのバッテリー効率を超えることも考えられます。

もちろんバッテリー効率だけがブラウザ選びの重要な点ではありませんが、AnandTechはこの記事がソフトウェア開発を行う人々に刺激を与えられることを願っている、と語りました。