Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
49 / 114 ツリー <前へ | 次へ>

〔581〕ACFinder 070318版 kabe (07/03/18 22:36)

〔620〕Re:070323test版 Hidemi Oya (07/03/26 22:11)
〔622〕Re:070323test版 Hidemi Oya (07/03/26 23:28)
〔626〕Re:070323test版 kabe (07/03/27 14:00)

〔620〕Re:070323test版
 Hidemi Oya WEB  (07/03/26 22:11)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>薬剤候補と作物候補の両方を指定した場合は、かなり速度改善の目処がたちました。
 薬剤候補のみ指定した場合は現状で十分高速なので、問題は「作物候補のみを指定した場合」ということでしょうか?
 作物からの検索は作物タブがあるので(こいつの高速化はかなり難しいですが、[#619] の方法でかなり改善はできます)、薬剤タブの基本はまず薬剤候補を指定することだと思います。なので、作物候補のみを指定した場合の検索速度は、あまり気にする必要はないかと…。

 ところで、ACFinder って、ストリンググリッドの表示に結構時間がかかりますね。自前テストソフトだと1秒で表示できるテーブルが、ACFinder だと 2.1 秒かかります。これって、セル幅のオートアジャストに時間がかかっているのでしょうか?
 オートアジャストに時間がかかっているのならやむを得ませんが、もしストリンググリッドの ColCount, RowCount プロパティを結果をセットする前に設定していないなら、下記のように設定することで行数の多い表なら表示速度を改善できる可能性があります(薬剤タブのように行数が少ない表はほとんど変わりません)。

tb := DB.GetTable(SQL);
StringGrid1.ColCount := tb.ColCount;
StringGrid2.RowCount := tb.RowCount + 1; // +1 はヘッダ表示用

〔622〕Re:070323test版
 Hidemi Oya WEB  (07/03/26 23:28)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

> ところで、ACFinder って、ストリンググリッドの表示に結構時間がかかりますね。自前テストソフトだと1秒で表示できるテーブルが、ACFinder だと 2.1 秒かかります。これって、セル幅のオートアジャストに時間がかかっているのでしょうか?
 ACFinder は結果表示用のストリンググリッドを毎回ダイナミックに生成していますが、各タブにスタティックにストリンググリッドを貼り付けておいて、それを使い回して方が表示が高速になるかも…。

〔626〕Re:070323test版
 kabe  (07/03/27 14:00)

引用なし
   >Hidemi Oyaさん

kabe です。

> ところで、ACFinder って、ストリンググリッドの表示に結構時間がかかりますね。
そうですね。SQL検索は終わってから表示が完了するまでは、データ量が多いと、時間がかかる部分です。

>StringGrid1.ColCount := tb.ColCount;
>StringGrid2.RowCount := tb.RowCount + 1; // +1 はヘッダ表示用
これは設定しています。

表示幅の自動設定は全てのセルを調べてから、各列幅を設定し、その後に表示幅ゼロ(データが存在しないフィールド)の列を削除しています。
現在は StringGrid にデータをセットした後で調べてますが、GetTable の時点で先に必要なセル幅とデータが存在しないフィールドを調べておいた方が早いのかもしれません。
検索機能の見直しが一段落したら、この部分改善してみます。

グリッドコンポーネントはもっといいものがないかと探しているのですが、シェアウェアだと高機能なものがありますが、フリーではなかなか理想とする機能が全て入っているものがみつかりません。

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
49 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.