Top

As/R Ver.6.0の話




●たわごと






●開発時の履歴
Ver.5.9.9.52
●検索(Fin.exe)
・メニューのコピー/移動で、対象パスが存在しない場合に作成するようにした

●安定性の向上
・更新キューの処理でロックできない場合に10回試行してダメなら諦めるように変更

β版修正
●バージョンチェック(VersionCheck.exe)
・アプリ名が書いてないので、何のダイアログか分からない致命的な不具合の修正
・新しい版が存在した場合に、色塗りで表示するように変更
・その他レイアウト調整
※ベータ版の日付に、リリース版のものを表示しています。
これは、正式リリース時までに修正します。

●Windows10を前提にした対処
・ツリーに追加するGUIDを動的に取得するように変更
 シェル拡張で追加されたパスや、Windows7/8/8.1/10専用のパスも指定できるようになった

●高速化
・リストのアイテムを大量に開放する際の動作を高速化



Ver.5.9.9.51
●β版修正
・サイズ/日付比較モードを色塗りラインではなく、オーバーレイアイコンに変更
・オプションでタブを復元しない場合も、タブ復元の履歴の設定チェックボックスが無効にならない不具合の修正
・最終版のAllCommand.txtに更新
・VersionInfo.exeのバージョンチェック機能を復活

●高速化
・フォルダ設定で、設定のあるフォルダーを探しに行く処理が必要以上にメモリを要求していたのを修正

●その他
・インクリメンタルサーチの次候補を探す際のAPIを変更
・インクリメンタルサーチの際の計算量を若干減らした
・migemo検索でヒットしない場合、単純なワイルドカード検索で試行するようにした



Ver.5.9.9.42
●ソート種別を3種追加
・名前(高速)
・カスタム
・拡張子/カスタム
・オプションのリスト→カスタムソートの追加

●メインメニューから、メニューに存在しない項目へ移動
 (いわゆる二軍降格)
「システム情報コマンド」へ移動
・メモリ情報
・ディスク情報→システム情報コマンド
「外部コマンドの実行」へ移動
・Windowsのヘルプ
・コントロールパネル
・ごみ箱
・ネットワーク
・マイコンピュータ

●メインメニュー名称変更
・コマンドプロンプト→ここからコマンドプロンプト
・エクスプローラー→エクスプローラー
・画面分割系のコマンドのグループ化
(ID_WINDOW_COMPARE、ID_WINDOW_SYNCSELECTMODEを予備として追加)

●コマンド追加
・選択ディレクトリをフォルダーバーに追加コマンドの追加(ID:35514)(リストの選択コンテキストメニュー、メインメニューのツール)
・画面分割時に、同名ファイルのサイズ/日付をチェックしてオーバーレイ表示するモードの追加
・画面分割時に、リスト上のフォーカス移動を同期するモードの追加

●β版修正
・オプションのバージョンチェックを専用のページに移動
・今回追加/変更したメニュー関連の文言を大量に修正
 (...が抜けてるとか、ショートカットを消してないとか、文字列リソースの登録忘れとか)

●不具合修正
・2画面モードのみ、リスト破棄のタイミングによって最近閉じたウィンドウに追加されない不具合の修正



Ver.5.9.9.29

●右クリックメニュー
・古いインターフェイスであるIContextMenu2を全部撤去
・IContextMenu3/IContextMenu2の取得に失敗するがIContextMenuが取得できるフォルダーで、実行時に落ちるアイテムが存在する
 一律でメニューを表示しないようにした
※IEキャッシュ、プログラムのアンインストールなどが制限される
 エクスプローラーでもしつこく右クリックメニューを表示させると落ちるとか・・・OSバグじゃんorz

●高速化
・ファイルの存在確認を速いAPIに変更
・一覧表示での無駄な変数があったので削除
・ライブラリ配下の名称は、並列処理を用いて相対指定で取得すると失敗することがあったので、絶対パス指定で取得をリトライする処理を追加

●その他
・LPSHELLFOLDERの記述を全部削除
・走査部分および基底クラスからIShellFoderを全て削除

●不具合
・フォーカス復元ありの場合で、一覧表示を中断で止めた場合にメモリリークが起こる場合がある不具合の修正



Ver.5.9.9.16

●自動バージョンチェック
・バージョン情報(VersionInfo.exe)からバージョンチェック機能を削除
・バージョンチェック専用のコマンドを追加(VersionCheck.exe)
・起動時にバージョンチェックをする設定を追加(全体→動作)
※現在の初期値が、7日間隔、ベータ版のチェックをしないという設定になってます。サイト負荷によって初期値を変更するかもしれません。
※前回のバージョンチェック日時+7日間を経過していると、VersionCheck.exeを実行しバージョン情報を取得に行きます。
 このチェック処理は、起動後30秒後に自動的に実行されます。
 めちゃくちゃ今さらだけど、HTTPのGETメソッドを叩いているだけなのでプロトコル手順に沿った応答以外の送信は一切行ってません。

●コマンド追加
・ウィンドウを閉じる(ナビゲートロック無視)を追加(ID:35104)
・全てのウィンドウを閉じる(ナビゲートロック無視)を追加(ID:35113)

●高速化
・ユーザー定義バーのソートを並列化
・ユーザー定義バーのソートをSTLから自前実装に変更
・メモリ開放時のスレッド分割を、最大スレッド数に応じた静的なものに置き換えた
・ソート時のスレッド制御で、CPUの最大スレッド数に応じたスレッド数の制御を追加
※ほとんどベンチマークには影響しませんが、システム全体が過負荷時にシステムにかける負荷が軽減されます

●右クリックメニュー
・Windows7以上であれば非同期でメニュー生成するように変更(フォルダーバー/リスト)
・Shift+アイテムを選択して右クリックメニューで、拡張コンテキストメニューを表示するようにした(フォルダーバー/リスト)
 OSの持ってる「新しいプロセスで開く」「コマンドウィンドウここで開く」「パスとしてコピー」などが表示される
 あらかじめ断っておきますが、Excelファイルで表示される「読み取り専用で開く」は、Excelの不具合なので機能しません(もちろんエクスプローラーでも同様)
・リストの未選択メニューでラジオボタンやチェックボックスを表示してなかったのを追加

●リストの動作
・コントロールパネル配下のアイテムは無条件でシェル機能になるように変更
・アイコン画像を素早く切り替えた際の安定性の向上

●フォルダーバー
・更新の際に、全アイテム削除/全ルートアイテム再挿入をしていたが、複数のルートアイテムが存在する場合に表示欠けするケースが確認できた。そのため再構築するように変更した。
・ルートアイテムを追加する際に、ノードを展開しないように変更
・ノード追加時に存在チェックを行うように変更(Windows7以降)
・フォルダーバーのトップレベルアイテムのカスタマイズの追加(バー→フォルダー)

●ユーザー定義バー
・「一旦閉じる+全てのタブ」で生成するスクリプトの、全て閉じるコマンドはナビゲートロックを無視するIDを出力するように変更

●β版修正
・オプションの全体→動作のCPU依存のチューニングを本体と同じロジックに変更
・敷居値に0を設定すると動かなくなる不具合の修正



Ver.5.9.9.9

●メインメニューに追加
・ファイルにドロップでフォルダ作成(ツール→環境設定)
・ファイルをロックしたプロセスの検索(ファイル→情報)
・リンクの作成(ファイル→新規作成)

●メインメニューに移動
・閉じたタブを再度開く(ウィンドウ→開く)
・現在のタブをグループ解除(ウィンドウ)

●メンテナンス系コマンド追加(メインメニューにないコマンド群に追加)
・サムネイルキャッシュの作成
・巨大ファイルの作成
・外部コマンドのレジストリ情報の削除

●リストの選択コンテキストメニューに追加
・選択中のアイテムを開くコマンドを追加

●リストで未選択のコンテキストメニューに設定項目の追加
・表示設定カテゴリの追加
・表示モード依存設定カテゴリの追加

●ユーザー定義バー
・Alt+Enterで「スクリプトの種類を自動判定して設定」コマンド実行を追加

●フォルダーバー
・コマンドメニューにプロパティの表示コマンド追加
・Alt+Enterでプロパティの表示コマンド実行を追加

●ウィンドウ管理バー
・自動整列のモードの、ドライブでまとめる際にドライブレター以外にパスも考慮するようにした
 (その結果、ディレクトリの位置関係が近いフォルダでまとめられる)

●設定の追加
・ドラッグヘルパー表示(要再起動)(全体-動作)
・ウィンドウ幅に合わせてカラム幅を自動縮小(リスト-モード依存の表示)
・並び順を切り替えた時に現在のフォーカス位置を覚える(リスト-動作)
・ローカルのアクセスエラーでダイアログを表示(例:CDを挿入してくださいなど)(リスト-動作)
・タブの復元時に移動履歴を含める(起動速度の低下)(バー-タブ共通)
・復元スクリプト生成時に移動履歴を含める(バー-ユーザー定義)
・最近閉じたウィンドウの情報に移動履歴を含める(起動速度の低下)(バー-最近閉じたフォルダー)

●フォルダ移動(MoveFolder.exe)
・下位階層の候補操作はバックグラウンドで処理してキャンセルできるようにした

●高速化
・CPUの二次キャッシュが2MB以上だと一覧生成速度のパイプラインヒット率が上がりやすくなるように調整(Core 2 Duo以降)
・ソート内でのメモリ転送回数をまとめてキャッシュのヒットミス確率を下げた(約0.2〜0.8%高速化)
・実体パスの場合ソートで並列処理をするようにした(4コア8スレッドで約40〜50%高速化)
・ユーザー定義バーのソート速度の向上
・ソートの文字列比較APIを新しいものに変更(文字列比較するソート順のみ約40%高速化)

●その他
・選択中のアイテムを開くコマンドで、lnkファイルを選択していた場合はリンク先を開くように変更
・ユーザー定義バーの設定メニューに「カラム幅調整」コマンドを追加
・オプションの全体→動作のCPU依存のチューニングで検証結果を上位100件まで表示させるようにした