大量のファイルの扱いに関してNo.03377
SR さん 12/08/20 18:05
 
お世話になります。現在XPでV1.03β11を使用しておりますが、大量のファイルを扱
った場合に次のような問題が起こってしまうようです。ご確認をお願いいたします。

@約35000のファイルがあるフォルダを一覧表示で開くとファイルがだんだん表示さ
れてスクロールバーが細くなりますが、いつ表示が終わったかわかりにくいように思
います。また、表示が終わったと思ってスクロールを始めようとするとまた初めから
描画が始まってしまうことが何度かありました。XPのエクスプローラの場合はフォル
ダを開いた時点では真っ白で何も表示されないでポインタが砂時計になりますが、ス
テータスバーにファイル数とサイズは早い段階で表示され、それから全ファイルが同
時に表示されます。このような動作にはならないでしょうか。

A一覧画面のファイルの選択状態やスクロールの状態が保持されないでスクロールが
先頭に戻ってしまうことがあります。いくつかファイルを選択して放っておくと30秒
ほどでファイルの選択が解除されスクロールが先頭に戻っていました。ほかに一覧画
面で何もしなくてもマウスのポインタが頻繁に砂時計マークになるなど、ファイル数
が多いと動作がおかしくなります。

Bファイルをツリーの別のフォルダに移動する動作が非常に重たくなります。また、
移動後には再度1から描画が始まる+スクロールの状態がリセットされますので、時
間がかかる上にどのファイルが移動されたか確認できません。

[ ]
RE:03377 大量のファイルの扱いに関してNo.03380
秀丸担当 さん 12/08/21 10:41
 

いろいろご指摘ありがとうございます。
調べてみたところ、Aのスクロールが戻ってしまうような点は、あるタイミング
で差分の更新が必要となったとき、差分の計算に時間がかかりすぎているときに、
全て作り直すような処理がありました。
具体的には10秒でそうなっていました。
なぜかというとBのようなケースでファイル内容が変化したとき(他のタイミン
グでも)に差分を計算しますが、ファイルが移動されたか確認できるまで時間が
かかりすぎると判断し、作りなおすようにしていました。
この10秒のタイムアウトは固定でした。
状況によっては何度も作り直しが発生し、操作がうまくできない状況になってし
まうことも考えられるので、とりあえずたとえ時間がかかっても作り直しとする
のや止めるように修正させていただきます。

@の時間がかかるときいったん途中まで表示するのは、[ツール]→[オプション]
→[上級者向け]の「タイムアウト」の「一覧描画」の設定で指定できます。
ここを長くしておくといったん途中まで表示されるまでの時間が長くなります。
とはいえABが発生する状況では、そのことはあまり効果が無いかもしれません。

すぐに反映するぶんと、差分の計算は別にして効率化すると改善できる可能性が
あると思います。基本的な部分を大きく作り変える必要があるので簡単ではない
と思いますが、課題としてご意見参考にさせていただきます。

[ ]
RE:03380 大量のファイルの扱いに関してNo.03439
SR さん 12/09/06 09:11
 
ご対応ありがとうございました。Beta15で確認してみましたところ、大量のファイル
があるフォルダで選択やスクロール状態が解除される症状はなくなくなったようです。
ただ、一覧表示中のディスクに別のアクセスがある場合などに、[上級者向け]の「タ
イムアウト」の「一覧描画」の設定で最大値を指定していてもファイルが1つ1つ表示
されることがありました。その際は数は多くなかったのですが、ファイルが1つ1つ表
示されていって表示が画面外に移動し、マウスポインタも砂時計にならなかったので
いつ表示が終わったのかの判断が困難でした。

また、OSがXPの環境でエクスプローラと時間を比較してみました(OSのキャッシュが
効かないように各テストの間でリブートしていますが、1回目と2回目の間はキャッシ
ュの効果を確かめるため続けて確認しています)。ファイル数が少ない場合は体感的
にほとんど差がないのですが、多くなると特に移動のような処理が重たくなってしま
うようです。可能でしたら改善のほうをしていただけると幸いです。

35000のファイルが一覧表示されるまでの時間
秀丸ファイラー1回目 約40秒
秀丸ファイラー2回目 約15秒
エクスプローラ1回目 約30秒
エクスプローラ2回目 約10秒

35000のファイルが入ったフォルダ内でファイルを5個選択、同ドライブ内の別のフォ
ルダにD&Dで移動
秀丸ファイラー  約5秒(移動後にマウスポインタが数秒間砂時計になる)
エクスプローラ  0秒


[ ]
RE:03439 大量のファイルの扱いに関してNo.03440
秀丸担当 さん 12/09/06 12:53
 

>ご対応ありがとうございました。Beta15で確認してみましたところ、大量のファイル
>があるフォルダで選択やスクロール状態が解除される症状はなくなくなったようです。
>ただ、一覧表示中のディスクに別のアクセスがある場合などに、[上級者向け]の「タ
>イムアウト」の「一覧描画」の設定で最大値を指定していてもファイルが1つ1つ表示
>されることがありました。その際は数は多くなかったのですが、ファイルが1つ1つ表
>示されていって表示が画面外に移動し、マウスポインタも砂時計にならなかったので
>いつ表示が終わったのかの判断が困難でした。

最大値というのは3000ということだと思いますが、単位がmsなので3秒になりま
す。
数値を直接入力するともっと大きな数値を入れることができます。
60000にすると1分になります。


>また、OSがXPの環境でエクスプローラと時間を比較してみました(OSのキャッシュが
>効かないように各テストの間でリブートしていますが、1回目と2回目の間はキャッシ
>ュの効果を確かめるため続けて確認しています)。ファイル数が少ない場合は体感的
>にほとんど差がないのですが、多くなると特に移動のような処理が重たくなってしま
>うようです。可能でしたら改善のほうをしていただけると幸いです。

確かに遅い場合があり、今後の課題にさせていただきます。
移動時なのどの更新については、差分を取る方法になっていて、数が多いとそれ
だけ時間がかかってしまいます。
1つ1つのファイル単位での監視についても更新は可能なので、それができたら
いいです。
でもそれだけだと漏れがあることは避けられないので、ファイル単位と差分の両
方ということになると思います。


[ ]