Top  上へ  目次



 リストコンポーネントが形になってきたので

 下図のよーに万単位のファイル一覧が前提の設計です。
 1万6千フォルダで応答が返るまで980〜1120ミリ秒(ディスクキャッシュによる誤差)程度で表示できれば、実用には十分でしょう。(x64版、比較のためにまめFile5SEで約4秒)
 内訳は、
処理だいたいの時間備考
フォルダ走査190ms最低限必要。
排他制御の同期処理が、だいたい30ms程度
詳細情報の取得340msインターフェイスや実体名などの取得、エクスプローラ以上の情報を取得するので削れない
ソート80〜290ms比較関数の都合で全角文字は遅くなる傾向(今回、速いソート種別は含んでません)
ソートの種別でOFFもアリかも
自動更新用のインデックス作成80msフルパス実体名→インデックスのハッシュを生成
進む/戻る用の選択状態保存80〜120ms履歴管理用のハッシュ作成


 上記のフォルダで応答が帰ってくるまでの時間は、まめFile5SEの約2〜4倍速、インデックスのおかげで自動更新は条件によって改善幅が変動しますが2〜400倍速・・・。
 ごめんなさい、桁間違ってないです。
 呆れると言うよりも、ぶっちゃけ「ごめんなさい、まめFile5SEを使うの嫌です」レベルの性能改善になってるんで、過去の遺物の開発を続けたくないってぇ気持ちも伝わるかもしれません。

 あと、今まで表示モードごとに差が激しかった描画速度が(一覧:詳細一覧:詳細=5:8:3)、速い方で統一されてます。
 (一覧/詳細一覧/アイコン表示の、テキスト幅を自動計算しない仕組みになってるので、いささか使い勝手が変わると思います)

 色んな所で、CPUパワーやメモリを無駄遣いしてますが、一覧取得/アイコン(縮小画像)取得において3階層のスレッドでキャッシュコントロールしているため、わりと早く応答が帰って来るのは魅力的です。
 またWindows7風なリスト検索(キー入力にあわせてリストのアイテムが絞り込まれる)も、そこそこレスポンス良くて良い感じです。
 現時点で、ソートやフィルタ、自動更新まで入ってるので、このサンプルより重くなる事は・・・多分、無いと思いたいです。




 ひっそりと更新してみる2回目
上記の性能確認用のプロトタイプx86版
上記の性能確認用のプロトタイプx64版

 コンポーネント単品での評価用なんで、実用になるものではありません。
 まだ、コンポーネント単品レベルで完成度は60%80%くらいです。
 (Enter、BS、スペース、メニュー、インクリメンタルサーチ、各種カーソル移動以外のキーコマンドは実装していません。描画まわりも頭悪いバグがいっぱいあります)
 まぁ、現状との性能差を見てもらって期待するか、幻滅するかの指標にしてもらえれば良いかと思う程度のシロモノです。
 (アイコンの取得APIは変えてないのでSEで重いと感じる環境の方、CPUコア数が少ない方、搭載メモリ量の小さい方は失望する可能性大です)


インストール方法:解凍してexe起動
アンインストール方法:exeを削除、「HKEY_CURRENT_USER\Software\AMA_Soft\FolderList」を削除
※注意
 ランタイムを含んでないので、まめFile5SEがインストールされている環境でしか動作が期待できません
 Windows2000は多分動きません。(最終的にサポート対象外になります)

●作りかけの部分
・モジュールのカプセル化をもっと進める必要がある
・まだ外部インターフェイスが存在しないんで頑張って作る


●大きな仕様変更
・ソート種類が山盛りに増えた
・アイコン表示でテキストエリアサイズの計算処理を行わない(SEでのアイコン表示のボトルネック)
・一覧/詳細一覧はテキスト幅を自動計算しない(SEで一覧表示のボトルネック)
・詳細一覧/簡易詳細は実体名での表示 例)お気に入り→Favoriteとか
・簡易詳細/詳細のカラム並び替えは、基本的にマウスで行う
・DOS名の取得はVista以降で劇的に遅くなるので廃止
・スペースキーは末尾まで行くと先頭に戻る

 などなど、色んなところが山盛り