特別企画
Windows 10の新ブラウザMicrosoft Edgeの性能は?
(2015/8/25 06:00)
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ではサポートされていない。
一方、もう1つのツールであるWebXPRTでは、Edge、Chrome、Firefoxの3つのブラウザでは、スコアに大きな違いはなかった。ただIE11は、3つのブラウザよりも低いスコアになっている。
このように、現状のEdgeは、HTML5をフルサポートしたブラウザとは言えないだろう。W3Cにおいては、すべての規格がスタンダード化されるには時間がかかるため、GoogleやFirefoxなどではドラフト段階で採用したり、積極的にW3Cに規格を提案したりしている。
Microsoftでもオープンソースやオープンスタンダードに対する取り組みを180度変えて、積極的に関与していこうとしている。Edgeでは、現状、HTML5に対する互換性は低いが、段階を追ってレベルを上げていくと明言している。
実際、Edgeの開発状態を公開しているMicrosoft Edge Devでは、Edgeでサポートすべき機能をユーザーが投票できるようになっており、Microsoftでは、賛成票が多い機能からEdgeにインプリメントしていくと公表している。
このような状況を見ていると、今後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のasm.jsだが、Octaneではasm.jsがオン/オフでもほとんどパフォーマンスが変わらない。このあたりは、ベンチマークがasm.jsにマッチしているかどうかということも関係する。
ちなみにSunSpiderでは、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をオン/オフしてもそれほどスコアは違わない。ベンチマークソフトによって、スコアの取り方が違うのだろう
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は、魅力のあるブラウザになるかもしれない。
いずれにしても、まだまだ未成熟なブラウザであるが、今後のアップデートに期待したいところだ。