View Full Version : Ext.Windowの描画を早くする方法について質問
sayama
23 Jun 2009, 10:28 PM
初めまして。
Ext.Windowの描画について質問いたします。
現在、ExtJsのサンプルを見ながら色々な処理をためしておりますが、Ext.Windowのitemsに、
項目数が多いFormPanelを設置するとWindowの描画にかなり時間がかかってしまいます。
サンプルでは /examples/form/check-radio.js の new FormPanelをそのまま指定しています。
Ext.WindowのOptionは幅、高さ、autoScroll 以外は特に指定しておりません。
このような、表示項目や表示情報量が多い状況にて、Ext.Windowの描画を少しでも早くするような方法は
あるのでしょうか?
もし、描画が早くならないようであれば、描画の待機画面やストレスを感じない描画方法をご教示願えますでしょうか?
宜しくお願い致します。
Tommy1969
25 Jun 2009, 4:40 PM
Ext JS の check-radio を試してみても、特に遅い感じはしませんが…。何が問題なんでしょうね。:-?
とりあえず、パッと思いつく方法としては…
1. タブなどを使って項目を分割する。
2. ユーザーから呼ばれる前に裏で作っておく。
といったところでしょうかね。:)
sayama
27 Jun 2009, 8:03 PM
Tommy1969様
ブラウザをIE6 Sp2から、IE6 SP3にしてみたら、FireFoxに替えてみたらかなり早くなりました。
マシンスペックの高い物だとかなり早くなる事が分かりました。
やはりある程度は環境に依存してしまうんですね。
ご指摘の通り、タブで分割する方法等を試してみたいと思います。
一点質問なのですが、collapsible=true としておいて、表示内容を非表示状態としておき、
表示したとき初めて、描画を開始する事は可能なのでしょうか?
※タブパネルの初期表示タブ以外、描画しない事と同様のことです。
Tommy1969
27 Jun 2009, 8:44 PM
TabPanel とか、CardLayout には、deferredRender ってゆーコンフィグオプションがあって、これが true だと、遅延レンダリングになります。
パネルやレイアウトで制御されていることから考えて、collapse には無関係だと思うので、もし実現するとするならば、beforeexpand イベントを拾って中身を描画するなど、ひと手間かけてやる必要がありそうな気がします。
どのような UI を考えてらっしゃるのか分かりませんが、CardLayout を使って activeItem を切り替えるのが、sayama さんの期待するモノに近いような気がします。
sayama
27 Jun 2009, 10:26 PM
Tommy1969様
ご教示ありがとうございます。beforeexpandイベントにて遅延描画させる事が出来ました。
一手間加えるだけで、色々実現出来そうで非常に面白いですね。
私がイメージしているUIですが、何が可能かを試している段階なので、特に決まってません。
強いて言えば、ExtJsサンプルのDynamic FormsのAdding fieldsetsが近いと思います。。
調子にのって色々なフィールドを入れてみたら描画が異常に遅くなってしまったので
今回の質問をさせていただきまし次第です。
まずはUIをしっかりイメージして、TabPanelやCardLayoutの利用を決めて行きたいと思います。
ありがとうございました。
Powered by vBulletin® Version 4.1.5 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.