1画面に20行の表(EXCEL表のようなイメージ)が表示できる画面があります。
20行を超える場合は、スクロールバーを表示します。
この表が、80行まではリクエストしてから2秒以内で表示され増すが、
それを超えると極端に表示速度が遅くなり、
160行を表示するのに10秒もかかります。
IE6、IE7、IE8、いずれも同じようにかかります。
なぜ、画面の大きさが2倍になっても表示時間が5倍になるのでしょうか?
また、大きい画面の表示速度を速める知恵がございましたらご教授ください。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
まず初めに。
CSSレイアウトによる表作成(エミュレート)を否定しているわけではありません。
<table>が遅いのは事実ですから。
ただ、CSSの作り方によっては、CSSレイアウトの方が遅くなることもあります。
そういえばここはJavaScriptカテゴリでしたね。
とりあえず、遅くなる原因を確認したいのですが、
・通信
・JavaScriptによるHTMLデータ(HTMLElement)の生成
・描画
どこに一番時間がかかっていますか?
描画に時間がかかっているなら、CSSレイアウトで作り直せば早くなる可能性は高いです。
この回答への補足
ありがとうございます。
調査いたしましたところ、
画面表示する際に、160行の先頭のチェックボックスの状態を調べて、
チェックマークの状態により、ボタン(10種類ほどあります)の活性・非活性の制御を行っているスクリプトの実行に時間がかかっていることが判明しました。
このスクリプトを走らせないようにすると、3秒で表示することがわかりました。
ただ、3秒で満足しているわけではなく、2秒以内に表示させたいと考えています。
CSSレイアウトの作り方は存じませんので、参考になるサイトをご存知でしたら教えてください。
よろしくお願いします。
No.3
- 回答日時:
> taloo様
ここで回答者に対してどうこう言うのは筋違いかと思いますが、
tableに苦しめられた人間として一応お伝えさせて下さい。
tableは一度全てのドキュメントを読み込んでから、
tableの表示ルールに従った形を再計算して、再表示します。
この仕様上、先に申した通り入れ子構造にすると著しく重くなることもありますが、
一度読み込んでからの再配置となる為、ブラウザによっては見苦しいチラつきが出てしまいます。
また、Horirin39様はJavascriptで動的に表示している様ですので
更にこの仕様が重くのしかかってくると思われます。
tableの使用については既に色々な議論がされておりますが
動的な表示に向かないことは仕様上明らかです。
但し、これらの仕様は簡易に記述できるようにする為のものであり、
単純なHTMLとして、且つ簡易な表として表示する際には優秀な機能でもあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Excel(エクセル) Excelマクロの表示のExcel内をfindで検索 3 2022/06/15 20:07
- Windows 10 Windows 10でBIOS画面が表示されなくなった 9 2022/06/26 08:13
- その他(パソコン・スマホ・電化製品) CMD等でPC操作(excel開く等)を自動化させたい 1 2023/03/15 09:53
- モニター・ディスプレイ NVIDIA Geforce GT 710の解像度設定について教えて下さい 3 2022/06/19 13:00
- モニター・ディスプレイ WindowsノートPC 13.3で画面縮小したい 画面全体が見えない めり込んでしまってます 1 2023/01/22 13:42
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
- 据え置き型ゲーム機 PlayStation2 のディスク読み込みを速くする方法は? 私が持ってるPlayStation 2 2023/03/18 09:19
- デスクトップパソコン パソコン マルチスクリーン 3画面 全画面表示で動画を楽しみたい。 2 2023/07/21 08:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルにスクロールバーをつける
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
デジタル時計の時刻合わせの方...
-
Javascript_submit()完了後に処...
-
[Java] Edgeでのアドレスバー非...
-
別フォームから戻ったときのイ...
-
エクセルVBAでフォームのListbo...
-
【Android】ユーザー補助機能ボ...
-
VBA ポップアップが表示された...
-
小さな表示窓の呼び方は
-
リストビューをスクロールさせ...
-
Excelでワードアートや図を常に...
-
「Cancel = True」とはどういう...
-
親ウィンドウから開いた子ウィ...
-
Excel操作 ウィンドウで出した...
-
VBの画面で、全ウィンドウを一...
-
PDFを(htmlのように)無限に縦...
-
スクリプトって、何ですか?ど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleマップの下に出てくる天...
-
テーブルにスクロールバーをつける
-
スマホ版Webサイト twitterの埋...
-
TVのセーフティーゾーン
-
時間帯によって表示する文字を...
-
マイページはどこを開くの
-
デジタル時計の時刻合わせの方...
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
スクリプトって、何ですか?ど...
-
Javascript_submit()完了後に処...
-
デスクトップ画面を4分割するには
-
Excelでワードアートや図を常に...
-
一定時間おきにアラームやポッ...
-
エクセルVBAでフォームのListbo...
-
VBA ポップアップが表示された...
-
小さな表示窓の呼び方は
-
PDFを(htmlのように)無限に縦...
-
VBAで任意のウインドウのサイズ...
-
[Java] Edgeでのアドレスバー非...
おすすめ情報