特別企画

Windows 10の新ブラウザMicrosoft Edgeの性能は?

 Windows 10のアップグレード版が提供されてから約1カ月がたち、Windows 10関連の動きも落ち着いてきた感がある。アップグレード版が公開された直後はTechnical Preview参加者を中心に配信されていたが、最近では、アップグレードの登録を行えば数時間で配信されるようになってきている。

 Windows 10において企業ユーザーが気になるのは、標準のWebブラウザがInternet Explorer(IE)からMicrosoft Edge(以下、Edge)に変わったことだろう。

 そこで今回は、Windows 10上での各ブラウザ(Edge、Chrome、Firefox)などのHTML5互換性、JavaScriptのパフォーマンス、WebGLのパフォーマンスなどを比較してみた。

 今後、企業においても、Webアプリケーションの使い勝手の向上をしていくためには、JavaScriptを多用していくことになるだろう。そのためブラウザにおけるJavaScriptのパフォーマンス向上は、将来的なWebアプリケーションの使い勝手を左右する。

 また、WebスタンダードがHTML5になったことで、企業にとっても、IEが持つMicrosoft独自規格からHTML5への移行が重要になってくる。ただしHTML5といっても、各ブラウザでサポートされているレベルが異なる。

 WebGLに関しては、Webベースの3Dグラフィック表示機能ということで企業においては、それほど多用されていかないと思われる。しかし、Webアプリケーションが高度化していくことを考えれば、中にはWebGLを利用したビジネスアプリケーションも出てくるだろう。将来的には、WebGLのパフォーマンスもブラウザの重要な要素になっていくのではないか。

 なおEdgeはIE独自のHTMLではなく、W3CなどのWebスタンダードを積極的に取り込んでいる。逆にいえば、IEが持っていた独自HTML規格はEdgeではサポートされていない。このためWindows 10では、Edgeとは別に、後方互換性を保つためにIE11が搭載されている。そこで、3つのブラウザだけでなくIE11でも可能なものについてはベンチマークを行っている。

 検証環境は以下の通りだ。

Webブラウザ

Edge 20.10240.16384.0
Chrome 44.0.2403.155.m
Firefox 40.0.2
IE 11.0.10240.16431

テスト環境
マザーボード:ASRock N3150
CPU:Intel Celeron N3150 1.6GHz
ディスク:Sandisk Extreme PRO 550GB SSD
メモリ:DDR3-1600 16GB
GPU:内蔵GPU
OS:Windows 10 Pro x64版

EdgeのHTML5サポートはいまひとつ

 今回、HTML5のテストとしては、HTML5Test、WebXPRTの2つで行ってみた。HTML5Testでは、Chromeがトップスコアとなっている。Chromeでも、HTML5Testで17個のテストがパスしなかったが、Edgeは60個のテストにパスしなかった。特にForms項目では、1/3のテストにパスしなかったし、Web Application項目もほとんどのテストにパスしなかった。WebRTC(Peer to Peer)も、現状のEdgeではサポートされていない。

HTML5の互換テストでは、Chromeが頭一つ高いスコアを出している。Firefoxもそれに次ぐスコアとなっている。Edgeは、400を切るスコアになった
EdgeブラウザにおけるHTML5Testの結果画面。パスできていない項目が結構ある
Forms項目でパスできていない項目が多い

 一方、もう1つのツールであるWebXPRTでは、Edge、Chrome、Firefoxの3つのブラウザでは、スコアに大きな違いはなかった。ただIE11は、3つのブラウザよりも低いスコアになっている。

WebXPRTでは、Firefoxがトップスコアとなっている。ChromeとEdgeは、ほぼ変わらない状況だ。各ベンチマークによってくせがあるため、どの部分を評価するかで、トップがかわる。大幅にスコアが離されていなければ、大きな違いがあるとは考えていない
WebXPRTのEdgeの結果画面

 このように、現状のEdgeは、HTML5をフルサポートしたブラウザとは言えないだろう。W3Cにおいては、すべての規格がスタンダード化されるには時間がかかるため、GoogleやFirefoxなどではドラフト段階で採用したり、積極的にW3Cに規格を提案したりしている。

 Microsoftでもオープンソースやオープンスタンダードに対する取り組みを180度変えて、積極的に関与していこうとしている。Edgeでは、現状、HTML5に対する互換性は低いが、段階を追ってレベルを上げていくと明言している。

 実際、Edgeの開発状態を公開しているMicrosoft Edge Devでは、Edgeでサポートすべき機能をユーザーが投票できるようになっており、Microsoftでは、賛成票が多い機能からEdgeにインプリメントしていくと公表している。

Microsoftでは、Edgeの各種機能の開発状況と開発順位をWeb上で公開している

 このような状況を見ていると、今後Edgeは、徐々にHTML5のサポートを強化していくことになるだろう。さすがにEdgeの新機能が毎月リリースされるとは思えないが、3カ月ぐらいをめどに大幅なアップデートが行われることになるのではないか。アップデートが行われるごとに、HTML5のさまざまな機能をサポートしていくことになる(セキュリティパッチは、必要であれば毎月リリースされるだろう)。

 ただ、HTML5の機能をすべてサポートすればEdgeのアップデートが終わるということはなく、今後出てくるさまざまなスタンダードに対応していく必要あるため、アップデートが終わることはないだろう。

 なおWindows 10では、ユーザーが明示的に「アップデートの延期」を設定しない限り、常に最新機能へのアップデートが行われる。「アップデートの延期」を行っても、数カ月(3~4カ月をめど)にはアップデートが行われる。

 EdgeもChromeやFirefoxと同じように、バージョン番号を気にするのではなく、常に最新版のEdgeを利用していくことになるだろう(一般ユーザーや企業ユーザーなどでは、アップデートを適応するタイミングは異なる)。

asm.jsをオンにすればEdgeが高い性能を示す

 JavaScriptのベンチマークは、JetStream、Octane、SunSpiderでテストしてみた。SunSpiderに関しては、最近はベンチマークとしては更新されていないため、参考程度に見てほしい。

 JetStreamにおいては、EdgeはChromeと同じぐらいの性能を示している。IE11でも採用されていたJavaScriptエンジン「Chakra」をベースに、大幅に性能アップが行われた効果だろう。

 IE11でも同じChakraを使用しているが、IEの後方互換性をサポートするために、Chakra自体も複雑なプログラムになっている。EdgeのChakraでは、IEが必要とする後方互換性などを省いてシンプルにしているため、これだけ性能がアップしているのだろう。また、マルチコア環境において、JavaScriptをマルチスレッド化して動かすことができるようになり、その面でも性能向上を果たしている。

 注目すべきは、現状のEdgeでは試験サポートとなっているasm.jsを使用すると、Chromeを超える性能を実現している点だ。

 asm.jsは、JavaScriptをコンパイルできるようなサブセットとして定義されている。asm.jsに従ってコーディングされたJavaScriptコードなら、ブラウザが事前にコンパイルするため、実行時にはネイティブプログラムと同じようなパフォーマンスを得ることができる。

 現状のEdgeでは試験サポートだが、次回のアップデートでは正式サポートになるだろう。

JetStreamでの比較。Edge、Chrome、Firefoxはあまりスコアが変わらない。ただし、asm.jsをオンにしたEdgeは、頭一つ抜け出している
EdgeにおけるJetStreamベンチマークの結果画面
IE11におけるJetStreamベンチマークの結果画面。IEでは、総合評価が中央に表示されていない。HTMLエンジンの違いがこのような見た目の違いに出てきている

 JetStreamでは高い性能を出しているEdgeのasm.jsだが、Octaneではasm.jsがオン/オフでもほとんどパフォーマンスが変わらない。このあたりは、ベンチマークがasm.jsにマッチしているかどうかということも関係する。

Googleが作ったJavaScriptのベンチマークOctaneは、Chromeがトップスコアになっている。ただOctane 2.0は2013年末にリリースされているため、少し古いベンチマークだ

 ちなみにSunSpiderでは、Chromeが最も高い性能を示している。

SunSpiderの最新版がリリースされたのが2013年のため、現在ではJetStreamが推奨されている。このベンチマークでは、Chromeがトップスコアになっている

 Edgeでは、今後ECMAScriptを積極的にサポートしていく。JavaScriptは、各ブラウザにより互換性が低いため、ECMA International(欧州の標準化団体)で標準化されたJavaScript(=ECMAScript)がスタンダードになっていくだろう。

 Edgeは、一部ECMAScript 2015の機能を取り込んでいるが、ドラフト案の段階で機能を先取りしたため、最終案では一部機能が異なっている。このため、現在はECMAScript 2015をサポートするように開発が継続して行われている。「2015年末までには、ECMAScript 2015をフルサポートしたEdgeブラウザにしたい」とMicrosoftでは語っている。

 その後は、ECMAScriptのスタンダード化に従い、ECMAScript 2016、2017などのサポートも予定されている。

WebGLはベンチマークによってばらつきが

 WebGLのベンチマークとしては、オンラインゲームソフトのOortが提供しているベンチマーク「OortOnline」と、3DゲームエンジンのUnityが開発したWebGLのベンチマークでテストしてみた。結果に関しては、それぞれのベンチマークソフトでばらつきが出た。

 OortOnlineでは、Chromeが最も高いパフォーマンスを出したが、UnityではFirefoxが最も高い性能を示している。両ベンチマークでも、Edgeがずばぬけた性能を示す、という結果にはなっていない(Unityでは非サポートのIE11を除くと一番低い)。

 このあたりは、Edgeにおけるインプリメントがこなれていないのか、ベンチマークソフト側に問題があるのか分からなかった。ただ、Unityのベンチマークでは、JavaScriptをパフォーマンスアップするasm.jsをオンにすると、大幅に性能が向上している。一方でOortOnlineでは、asm.jsをオン/オフしてもそれほどスコアは違わない。ベンチマークソフトによって、スコアの取り方が違うのだろう

OortOnlineでは、Chromeがずばぬけたスコアを出している
OortOnlineのベンチマーク結果。WebGLを使ったオンラインゲームをベースにベンチマークが構成されている
UnityのWebGLベンチマークでは、Firefoxが高いスコアとなっている。Edgeもasm.jsをオン/オフにした場合でスコアがかなり異なっている
3DゲームエンジンUnityのWebGL版を使ったベンチマーク

 WebGLに関しては、今後パフォーマンスを上げるためにチューニングされていくだろう。Windows 10では、WebGLは最終的にグラフィック表示のDirectX12に翻訳される。このため、WebGLとDirectXの翻訳がチューニングされたり、GPUのドライバなどがチューニングされたりしていくと、パフォーマンスが異なってくると思われる。

 最終的に高い性能を実現するには、OSやドライバ、Edgeなど、さまざまな部分のチューニングが必要になってくる。Windows 10が成熟してくる今年後半から、2016年になれば、高い性能を示すのではと思っている。

******

 現状ではまだまだ未成熟な部分が多いが、Edge自体には期待が持てると思う。現状のEdgeでは満足がいかなくても、アップデートを繰り返していけば、企業が必要とする機能をキチンとそろえていくだろう。

 ただし、企業で展開するためには、IEが持っていたような管理ツールなどが必要になってくるだろう。このあたりも未整備だ。こういったことから考えれば、企業は当面IE11を利用していき、Edgeがある程度成熟し、さまざまな機能をサポートした時に、トラブルがないことを確認してから移行を考えた方がいいだろう。

 もう1つ大きな問題としては、EdgeがWindows 10での動作を前提にしているため、Windows 7/8/8.1などでは動作しないことがある。複数のOS環境が存在することの多い企業のITシステムにとっては、すべてのOSを一気にWindows 10にそろえるというのは、コストも時間もかかるし、ほかのシステムとの互換性問題もあるので、現状ではハードルが高い。

 ChromeやFirefoxへの移行というのも考えられるが、企業で利用するためには、前述のように、一括管理ができるツールやアップデート管理などが必要になってくる。そうしたところは、ChromeやFirefoxでは十分な機能を持っているとは言い難いため、Microsoftのブラウザの方が、採用へのハードルは低いように思われる。IE11を使いつつ、Edgeの成熟を待つのが、現実的な選択肢ではないか。

 Microsoftは、もしかすると、Edgeをオープンソース化して、LinuxやMac OS、AndroidやiOSなどにインプリメントするかもしれない。各種のプラットフォームでEdgeが動作するようになり、デバイスをまたぐ管理ツールが提供されれば、IT管理者にとってEdgeは、魅力のあるブラウザになるかもしれない。

 いずれにしても、まだまだ未成熟なブラウザであるが、今後のアップデートに期待したいところだ。

山本 雅史