BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Internet Explorer 9プレビュー:新機能と分析

Internet Explorer 9プレビュー:新機能と分析

ブックマーク

原文(投稿日:2010/03/19)へのリンク

MicrosoftはInternet Explorer 9のプレビュー版をリリースした。IE9プレビューではパフォーマンスが改善され、またSVG、CSS、HTML5などの標準が採用されている。

パフォーマンス

IE9プレビューのパフォーマンス測定の結果を見ると、JavaScriptエンジンはSafariやChromeと比べるとまだ遅いものの、FirefoxやIE8よりは高速である

ブラウザ Sunspiderの結果の平均値(ミリ秒)
IE8 3825.53
Opera 10.10 2491.93
IE9 PDC 2009デモ版 834.00
Firefox 3.6 699.80
Firefox 3.7 Alpha2 プレリリース版 610.20
IE9 Mix 2010 プラットフォームプレビュー 1.9.7745.6019 598.80
Safari 4.0.5 (531.22.7) 407.93
Chrome 4.0.249.89 373.87
Chrome 5.0.342.2 開発版 293.47
Opera 10.5 285.20

新しくなったJavaScriptエンジン

増え続ける高速JavaScriptエンジンへの要求に対処するため、IEチームは新たなJavaScriptエンジン(コードネーム Chakra)を開発した。

IE9プラットフォームプレビューには、JavaScriptのパフォーマンス特性を根本的に変更する新たなJavaScriptエンジン、コードネームChakraの初期リリース版が組み込まれています。ChakraはJavaScriptのソースコードをハイクオリティなネイティブコードに変換する新たなJavaScriptコンパイラ、従来のWebページのスクリプトを実行する新たなインタープリタを持っており、またJavaScriptランタイムやライブリが改善されています。

Chakraにより、IE9は以下のようないくつかの有益な機能を持つ。

  • バックグラウンドコンパイル
  • 型最適化
  • 高速なインタープリタ
  • ライブラリ最適化

ハードウェアアクセラレーション

IE9 プラットフォームプレビューにより、Web開発者はハードウェア主導のグラフィックスおよびテキストレンダリングを活用できるようになる。

IE9 プラットフォームプレビューは、Web開発者にいつくかの先進機能を提供するため、Windows APIのDirectXファミリーを使用しています。全てのグラフィックスおよびテキストは、CPUによってレンダリングされるのではなく、Direct2DやDirectWriteを使って、グラフィックスカードによってレンダリングされます。グラフィックスハードウェアアクセラレーションは、リッチでグラフィカルなサイトを素早く、しかも従来よりもCPUを使わずにレンダリングできることを意味しています。さらに、標準に従ったサイトであれば、自動的にこれらの変更を利用することができます。

IE9がハードウェアの潜在能力を活用するようになったことについて、AMDは公式にMicrosoftを“賞賛”した。AMDにとって、このようなアプローチの利点は

  • MSHTMLレンダリングレイヤが、GDIの代わりにDirect2DやDirectWriteを使うように拡張されました。Direct2Dは2DグラフィックスやテキストのGPUアクセラレーション、サブピクセルポジショニングを可能にします。加えて、GPUはスケーリングに使用され(ビットマップはテクスチャにマップされます)、画像のズームや移動に適しています。結果として、このGPUサポートはページの可読性の改善や、テキストや画像のより正確な位置への描画、スムーズなスクロールやズームにつながります。
  • 前のバージョンに比べ、JavaScriptのパフォーマンスが大幅に改善されます。かつて、IEのJavaScriptはコンパイル型ではなくインタープリタ型でした。IE9では、JavaScriptエンジンにJITコンパイラが組み込まれます。これにより実行前にコードがコンパイルされて、プラットフォームの潜在能力をフルに生かすことのできるx86命令が生成され、結果として劇的なパフォーマンス向上をもたらします。
  • IE9は、<video>や<canvas>といったHTML5の要素や、CSS3、SVGをサポートしており、前のバージョンに比べてより標準に準拠しています。<canvas>要素はDirect2Dを通じてGPUアクセラレーションされ、画像表示の改善、CPU使用率や電力消費の削減を可能にします。

NVIDIAも同じような反応をみせている

IE9の導入により、Microsoftは我々にビジュアルコンピューティングにとっての新たなマイルストーンを与えてくれます。IE9は新たなJavaScriptエンジン、HTML5のサポート、グラフィックスやテキストのハードウェアレンダリングなどを提供します。IE9は最新のハードウェアを活用するために設計された最初のブラウザであり、ハードウェアアクセラレーションによるスケーラブルベクタグラフィックス(SVG)の提供、CPUからGPUへのシフトによるJavaScriptエンジンパフォーマンスの向上、GPUによるHTML5のレンダリングなどを含みます。

IE9がGPUアクセラレーションをサポートした初めてのベータ/非公式バージョンのブラウザではないということも重要である。

SVGサポート

スケーラブルベクタグラフィックス(SVG)フォーマットは、IE9のファーストクラスシチズンになっている。SVGサポートは、次世代Webアプリでベクタグラフィックスをサポートするための、Microsoftの戦略的な選択のようだ。

我々は、ユーザと開発者に優れたエクスペリエンスを提供するSVGが、Webにとってなくてはならないものになると思っています。SVGにはラスターイメージよりも優れたところがたくさんあります。ハードウェアアクセラレーションにより、リッチでインタラクティブなグラフィックス主導型のWebの準備が整いました。

様々なベンダーによる実装の相互運用の観点から、MicrosoftはSVGワーキンググループと連携する予定であることを発表している。

数年前、SVG仕様の初版のステータスは“勧告”となりましたが、その仕様にはまだ未決事項があります。結果としてSVGは、メジャーなWebブラウザによってスコープも振る舞いも様々に実装されています。我々のゴールは、相互運用を目指すことにより、開発者が簡単に実装できるようにすることです。我々が実装している仕様の一部では、着実にゴールに近づいています。いくつかのケースでは、他のブラウザの振る舞いや、将来のSVGの方向性といったものをもとに、意思決定をしました。

現在のプレビューリリースでは、開発者は例えば次のようにSVGをHTML内に埋め込み、スケーラブルなグラフィックスを作成することができる。

<!DOCTYPE html>
<p style="font-family:Georgia;font-size:9pt;">インラインHTMLを使ってベクタイメージを挿入できる...
<BR>
<svg width="200" height="100">

    <circle cx="50" cy="50" r="45" fill-opacity=".5" fill="red"/>

    <circle cx="100" cy="50" r="45" fill-opacity=".5" fill="yellow"/>

    <circle cx="75" cy="100" r="45" fill-opacity=".5" fill="blue"/>

    <text x="40" y="70" fill="white">色</text>
</svg>
</p>

現時点では、SVGの次のような機能がサポートされている

  • 長方形、円、楕円、直線、線分群(Polyline)、多角形といった基本的な図形
  • 座標系、変形、単位
  • ドキュメント構造、メタデータ、拡張可能な機能
  • パス(path要素とd属性の全機能を含む)

HTML5

HTML5のいくつかの機能はIE9で実装されている。Microsoftによれば、仕様が固まったらさらに追加される予定とのことだ。

DOMストレージクロスドキュメントメッセージングwindow.location.hashの値を使ったAjaxナビゲーションononlineonofflineイベントハンドラといった、HTML5ドラフト仕様のいくつかの機能は、IE8でサポートされていました。IE9 プラットフォームプレビューでは、いくつかのHTML5 APIのサポートや、HTMLのパース方法の変更といったものがさらに追加されます。

CSS

IE9プレビューは、CSS 2.1の仕様に準拠していたIE8に比べ、スケーディングスタイルシート(CSS)のサポートが改善された。多くのCSS3コンポーネントが追加され、更なる追加も予定されている。

現時点でサポートされているCSS3の新機能には、次のようなものがある。

  • border-radiusプロパティを使った丸角
  • RGBAカラーモデル
  • opacityプロパティ
  • CSS3セレクタ

実装されていない機能

HTML5に含まれていたり、FirefoxやChromeですでに実装されていて、IE9にはないものとして、以下が上げられる。

  • Canvas要素
  • Web Workers
  • オープンWebフォントのサポート
  • Ogg Theora (H.264ビデオコーデックだけがサポートされている)

また、Windows Vista、もしくはWindows 7のみをサポートし、Windows XPユーザ向けのIE9は提供しない予定であることが、リリースノートに明記されている。

この記事に星をつける

おすすめ度
スタイル

BT