- 締切済み
システムリソースを消費するHTML
HTMLの内容によって極端にシステムリソースを消費する場合があるようですが、 どのような場合にそうなってしまうのでしょうか? windowsにシステムリソースという概念があると思いますが、問題にしているのは、 HTMLをwindowsクライアントで閲覧したときに、クライアントマシンがシステム リソースを大量に必要とする場合があるということです。 win98SEでしか現象を確認していませんが、テーブルを多用したあるHTMLを表示 させると、空きシステムリソースが一気に20~30%程度低下します。 (NortonSystemWroksの空きユーザーリソースの監視ツールで確認) 空きユーザーリソースが10%を切ると、IEだと表示がかなり乱れます。 Netscapeではなんとか表示できます。ちなみにこの時、空きメモリは 100MB位はあります。 単純にテーブルの数に比例するのか、テーブルの入れ子の数によるのか、 あるいはテーブルではなく別の要因によるのか、何か情報をお持ちの方 がいらっしゃいましたら、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yasite
- ベストアンサー率50% (8/16)
no.1で書いた者です。 <q>早速文法チェックをやってみたところ、 「このHTMLは 42点です。タグが 24種類 2468組使われています。」 </q> 上記の2468組という数字はそれだけでもかなり負担がかかると思われますので、閲覧者に負担を掛けたくないのでしたら何らかの対策をしたほうが良いでしょう。 TABLE要素は中身を読みこむまでレンダリングされないというブラウザの仕様があるようですので、<ul>要素<dl>要素に変更できるのでしたらそちらをお奨めします。
- d-3
- ベストアンサー率42% (16/38)
テーブルを入れ子にするのは、マシンのスペックやユーザーエージェントによっては、物凄い脅威になるようです。(参考URL) 実際に仕事でWeb制作しているのですが、普通に表としてテーブルを使っている限りはいくつあっても大丈夫なようです。 どっちかというと入れ子が原因ぽいですね。
お礼
ご回答ありがとうございます。 教えていただいたURLで「テーブル7重」というのを開いてみました。 なるほど、表示にすごく時間がかかりますね。勉強になりました。 ただ「テーブル7重」を開いた状態でもユーザーリソースはほとんど変化が ありませんでしたので、 問題のHTMLにはテーブルの入れ子以外にも何か別 の原因がありそうです。 URLはNo.1のお礼欄に書いたとおりですが、いろいろ登録していくとHTMLが 横に伸びていきます(転送設定を追加すると1列増えます)。 表示にそれほど時間はかかるということはないのですが、横に長くなれば なるほど症状は顕著のようで、10列くらいになるとユーザーリソースを 一気に40%以上も消費することがあります。 横に伸びることに関係あるのかと思いきや、縦に伸びた場合も、リソース の消費量が増えるようです(同じ画面をより詳細に表示するページがあり ますが、こちらは縦方向にHTMLがのびます[詳細画面]。この画面の方が よりリソースの消費量が多くなります)
- yasite
- ベストアンサー率50% (8/16)
そのテーブル要素を多用しているサイトが特定できませんので、答えにならないかもしれませんが、CSSは使っていないのでしょうか? CSSの透過させるプロパティを使っているとスクロールが遅くなってしまう症状が出ます。またこのプロパティはIE独自の機能ですからNetscapeだと重くないのかもしれないです。 他にもa:hover(リンクにカーソルを合わせると背景が変る)の使い方次第で、まれにスクロールができなくなるほど負担をかける場合もあり得ます。各ブラウザのレンダリングエンジンによって違いますが、絶対位置の指定や位置を固定させるようなスタイルシートをおこなうと負担がかかるようです。 それ以外にはテーブルの多用によるのかも知れません。もしくはHTMLの文法に致命的な誤りがあるのかもしれません。チェックされてみてはいかがでしょうか。
お礼
ご回答ありがとうございます。 早速文法チェックをやってみたところ、 「このHTMLは 42点です。タグが 24種類 2468組使われています。」 ということで評価は「ふつう」で、致命的なエラーはないようです。 # このサイト便利ですね~。感動しました。 # この存在を知っただけでも大きな収穫です。 CSSとかスタイルシートは使っておらず、単純なHTMLのみです。 登録いただかないと問題の画面は見れないのでなんですが、一応書いておきます。 http://www.trans-mail.net/ ログイン後のメニューの中の転送設定画面が、問題の画面です。
お礼
ご回答ありがとうございます。 「<ul>要素<dl>要素」の意味するところを正しく理解できているか実は自信が ないのですが、TABLE要素をなにか別のものに置き換えることができないか、 検討してみたいと思います。