2010年3月25日木曜日

IE9 は Windows XP 非対応、IE のシェアが低下する ・・・そしてそこまでする理由、MSの戦略とは

Internet Explorer 9 が Windows XP で利用できないことはすでに Microsoft から発表されていますが、それによってどういう影響があるのかを考えてみたいと思います。

まず、Windows XP に非対応ということで当然 XP では IE9 を使うことができません。だからおそらく予想通り IE 全体のシェアは低下するでしょう。しかし、では一体何のために Microsoft は Vista 以降の OS でしか使えないハードウェアアクセラレーションを使ってまで  IE を高速化したのか。それにはおそらく最近の Web ブラウザ高速化競争が影響しているのではないかと考えることができます。

IE9 が Direct2D, DirectWrite を使って グラフィックの描画を高速化したことで、IE9 と他の Web ブラウザの間には圧倒的な速度差が生まれます。当然、他の Web ブラウザ開発陣営は黙って見ているはずがありません。自社の Web ブラウザでも同じ方法を使い IE9 と同等、あるいはそれ以上にパフォーマンスを向上させてくるでしょう。まさしく、それこそが Microsoft の狙いなのではないでしょうか。IE の開発状況をこれだけ詳しく公開するのもライバルたちに GPU レンダリング対応を促すためだと考えれば納得がいきます。

Windows XP には DirectX11 (Direct2D, DirectWrite) は提供されません。XP には OS レベルで GPU の描画支援を受けられる機能が実装されていません。つまり他の Web ブラウザも DirectX を使って高速化しようと思うのなら Vista 以降の Windows に対応しなければならないのです。独自機能や他の方法(OpenGL など)によって XP に GPU 描画機能を実装することは可能でしょうが開発コストや時間がかかるでしょうから IE との速度差はどんどん大きくなっていくかもしれません。それにXP世代の一般に普及しているタイプのPCはOS自体があまりグラフィック性能を必要としなかったということもあり、GPU対応にしたところで大したパフォーマンスが出ないこともあり得ます。GPU 対応を諦めるならそれはそれで IE の一人勝ちになりますし、対応するならするで XP を搭載している多くのマシンのグラフィック性能が低いことを考えれば XP を切り捨てなければならなくなります。

Web ブラウザの高速化競争はこれからも続いていくと思います。それに伴って GPU の性能も重要になってきます。HTML5 が普及し出し、より高画質な動画やアニメーションが増えていけば古い PC を使っている人は買い替えを迫られるかもしれません。すると Windows のバージョン別シェアはどのようになるでしょうか?

Web ブラウザの高速化競争は意外なところで Microsoft に味方をするかもしれませんね。

以上を簡単にまとめると

  • IE9 が普及するならそれでよし
  • IE9 が普及しなかったとしても Firefox などのライバルも GPU 対応になる可能性が高く、XP 時代の古いマシンでは実行できないためユーザーは PC の買い替えを迫られることになる。よって Windows 7 搭載 PC が普及することになる(可能性がある)
  • ライバルが Direct2D, DirectWrite を採用すれば DirectX の技術的勝利となる

ちなみに Direct2D や DirectWrite は GPU が DirectX10 に対応していないとハードウェアアクセラレーションが有効になりません。DirectX9 世代の GPU ではソフトウェアエミュレーションになってしまい、パフォーマンスが大きく低下してしまいます。

2010年3月21日日曜日

IE9 の Javascript MIME タイプの対応

IE9 では Javascript のMIMEタイプのサポート状況も変わりました。

上のボタンをクリックして、アラートが出たらそのMIMEタイプに対応しているということになります。IE9はというと、上記のすべてに対応しています。IE8までは text/javascript, text/ecmascript までの対応でした。

2010年3月20日土曜日

IE9 は CSS3 の opacity プロパティに対応

IE9 は opacity プロパティに対応しているので、以下にサンプルを載せておきます。

ソース

filter: alpha(opacity=50);
opacity:0.5;

参考までに上は IE8 でも対応していた filter を使った半透明化の方法、下が CSS3 opacity による半透明化の方法です。

サンプル

filterによる透明化

SDIE2008-s

CSS3 を使った透明化

SDIE2008-s

opacity に対応している Web ブラウザでは半透明になって表示されます。そして下の画像が IE9 で表示したものになります。

IE9opacity

ちなみに、フォントがメイリオ等 ClearType が有効になるフォントの場合 IE8 まではアンチエイリアスが無効になりギザギザした表示になっていました。しかし IE9 からは Direct2D の高品質な表示によりアンチエイリアスが有効なまま透明化することができるようになっています。

2010年3月17日水曜日

IE9 プレビュー版公開 Web 標準準拠、Javascriptを大幅高速化

IE9 プレビューはまるでハイスペックマシンでWebkitによるレンダリングをしているかのような軽快さでした。

まず、IE9 の注目すべきポイントは以下の4つです。

  • HTML5, CSS3, SVG など最新の Web 標準への対応
  • マルチコア CPU によるJavascript コンパイル
  • GPU を使用した高速なグラフィックレンダリング
  • IE9 Platform Preview のダウンロード開始

HTML5 など最新の Web 標準へ対応

いつIEは最新のWeb標準に対応するのかと待ちわびていた人たちも多いと思います。IE9ではそれが現実となるようです。Microsoft が発表したデータでは SVG 1.1 2nd edition のテスト項目をすべてパスしています。CSS3 DOM 関連に関しても同様です。Web 開発者はこれから本格的に次世代HTMLによるコーディングに取り掛かることができることになります。

DOM や CSS3 に関してはブラウザ間の非互換性をなくすため100を超えるテストケースを用意し W3C に提供したと発表しました。これは IE8 の時も同様に CSS2.1 のテストケースを W3C に提供していました。

Acid 3 テストは 前回の30点代から55点にアップしています。今後のアップデートではデベロッパーがよく使うマークアップを重視し、さらに点数が上がっていくだろうと述べています。

Acid3ScreenCapture

マルチコア CPU による Javascript コンパイル

Javascript エンジンにもかなりの改良が施され、以前 Microsoft が言及していた「競合他社のように Javascript エンジンに分かりやすい名称が与えたほうがよい」という言葉通りにその名を「Chakra(チャクラ)」と呼んでいます。インタプリタではなくコンパイル方式になっているようで、これによりスクリプトの実行速度が何十倍にも跳ね上がります。

Javascript のコンパイルをバックグラウンドでマルチコアCPUで行うためここまで高速化したということです。スコアは Firefox を超えて、Safari, Chrome に次ぐ速度となっています。

SunSpiderResults

GPU を使用した高速なグラフィックレンダリング

ネイティブで SVG 対応、ビデオ再生に対応となると現状のままでは CPU 負荷がかかり動作が重くなってしまうという欠点がありました。そこでハードウェアによるレンダリングを行うことにより動作を圧倒的に速くするということが可能になったのです。

IE9 とその他 Web ブラウザのアニメーションの滑らかさの差は圧倒的で Chrome すらも足元の及ばない状況です。

IE9 Platform Preview のダウンロード開始

Microsoft では IE の開発状況を知ってもらうために8週間ごとにアップデートを行います。現状ではあくまでも開発版であるために普通のWebブラウザと同じように使うのは難しいですが、ベータ版リリースまでの間にどんな機能強化が行われていくのか確かめるのに役立ちます。

IE8 で気になったレンダリング時のチラつきが改善されている

たとえば、DOMを使用して幅、縦100%で半透明のdivボックスをonclickイベントに合わせて表示したとします。IE7以外、つまりIE6とIE8では半透明のボックスが出るまでに一瞬のチラつきが必ず出ますが、IE9ではチラつきはなく一瞬で半透明のボックスが表示されるようになっています。

標準準拠とは別の、人に与える印象の面でも品質が改善されてきているというのはとても良いことだと思います。

IE9 その他対応済みリスト

  • application/xhtml+xml MIMEタイプに対応
  • application/javascript MIMEタイプに対応
  • application/ecmascript MIMEタイプに対応
  • CSS3 opacity プロパティに対応

不具合

開発中の Web ブラウザであるため不具合は当然ありますが、確認したものをまとめます。

  • 多くの Web ページで文字化けする(IE7モードにすると正しく表示される場合がある)。
  • Silverlight や VML のアニメーションは IE8 より遅い場合がある

2010年3月16日火曜日

Windows Phone 7 に搭載される Web ブラウザは IE7 ベース

Windows Phone 7 に搭載される予定のWebブラウザは IE7 をベースに IE8 の機能をいくつか追加したものになるようです。

デスクトップ向けの最新WebブラウザであるIE8ベースではないというのが残念ですが、IE6よりは圧倒的に改善されたWebブラウザであるためIE6ベースの Windows Mobile 6.5 よりはWeb環境が改善されます。

以下は Windows Phone 7 関連の情報です。

  • Windows Phone 7 向けのアプリケーションダウンロード販売には Windows Phone Marketplaceが提供される
  • アプリケーションのインストールは Marketplace からのみ
  • Windows Phone 7 は外部メモリーカードをサポートしない
  • Windows Phone 7 向け開発者ツールの提供を開始

Windows Phone 7 の最低ハードウェアスペック

  • スタート、検索、戻るボタン
  • 4以上のタッチに対応した静電容量式タッチスクリーン
  • 256MB RAMと8GBのストレージ
  • 解像度 800×480 と 480×320
  • GPS、加速度計、コンパス、光センサー、近接センサー
  • 5MPカメラ
  • Codec acceleration
  • DirectX 9 accelerated GPU
  • ARMv7 Cortex/Scorpion CPU

追記

2011年2月14日、Mobile World Congress 2011内で Windows Phone 7 のアップデートで IE9 Mobile を提供するという発表がありました。

PC版と同じくGPUを使ってグラフィック描画を行い、高いパフォーマンスを発揮しています。