パフォーマンス( 1 )
最終更新日:

前へ 目次 次へ

 一般的に 「IE は NN 程パフォーマンスが良くない」と言われますが、 本当に良くないのでしょうか、 また、良くないとすればどの程度良くないのでしょうか。

 軽いページにしようと思って JavaScript で作成しても、 結局重いページになるのも困るので、その特質を研究してみましょう。


●レイアの初期表示

 一般的にレイアの生成方法には BODY部に埋め込む場合と onLoad時に直接生成する方法の2通りあります。

そこで、HEAD部の最初と onLoad 処理完了までの時間を Dateメソッドで計測してみましょう。

No.測定項目NN4IE4IE5
1.空白のページ232577
2.DIVタグでレイアを 100個記述271104112
3.onLoad後レイアを100個生成1651089166
4.ケース3.+document.write12031057159
NN4 : Netscape Communicator 4.7[Ja]
IE4 : Internet Explorer 4.01(Ver.4.72.3612.1713 + SP2;Q234680)
IE5 : Internet Explorer 5.0 (Ver.5.00.2614.3500)
数値の単位は msec で、各項目を10回測定した平均値
このテストを行ったスクリプト
http://www.din.or.jp/~hagi3/JavaScript/JSTips/NGW/No14/index.htm

各ブラウザの数値を見ると、NN4 ではやはり document.write が遅いためか、 ケース4 の数値が極端に悪いです。 IE4 では HTML に DIVタグを記述してレイアを生成する限り NN4 以上の時間で 処理されているようです。 IE5 に至っては初期表示に多少時間がかかるものの全てのケースで 他のブラウザと同等か、それを凌駕しているように見えます。

これは、今まで言われてきたことを考えると少し驚く数値です。

また IE4 と IE5 を比較すると 直接レイアを生成するケースでの性能向上が目立ち、 直接タグを記述した場合と殆ど変わりません。 これは、IE5 で DIV オブジェクトや style オブジェクトの仕様変更の成果と思われます。 オドロキです。素晴らしい。

... 然し、チョット待って下さい。上の数値だけで見ると NN と同等か それ以上の値ですが、実際にはそのようには感じません... 何故でしょう。

そこで、実際の表示を見てみましょう。

●IE が遅く感じる理由

... どうやら、NN では DIVタグ を処理する毎に、 また、レイアを1つ生成する毎に描画処理がなされ、 段階的に表示されるように見えますが、IE では描画処理の優先は相当低いようで、 一連の処理が完了するまで描画されません。

つまり、「フェードイン」( 古典的テクニック f(^^; )のように ループ処理による表現手法は IE4以降では効果がなく、 onLoad イベント後に setTimeout で難しく行う必要があります。
( パフォーマンスを上げた恩恵を被るには多少の犠牲がつきもの、 というところでしょうか )

ちょっと話が脱線しました。 f(^^;;
... そうそう、何故 IE が遅く見えるか、ですね。はい。

一連の処理が完了するまで、なんのアクションもないと言うことは、 待ち時間が長いと感じる要素でもあります。

あと、実際の計測が難しいので、測定はしていませんが、 ステータス領域に表示される残り読込みファイル数の動きを見ていると、 画像などのファイルの読込みの並行処理性が低い印象があり、 全てのコンテンツを読込むのに、NN 以上の時間がかかっているようにも見えます。
( つまり「何故か」は良くワカランってとこですね。ハイ。 f(^^; )

んてことで、初期表示のパフォーマンスはここまで、次回は動的な要素に関 するパフォーマンスを予定していますデス。 ハイ。 f(^^;

前へ 目次 次へ


Copyright(c) 1999 ShinSoftAll rights reserved.