[ヘルプTop] [戻る]

リストの自動更新

 リストの自動更新の設定は、初期値の状態でかなり高速な応答を返すように調整されています。
 初期状態のAs/Rは、OSからの差分更新通知を信用して、一覧の差分更新を行うことで極めて速い更新速度を実現しています。
 つまり、OSに嘘の通知の発行を促し、不適切な挙動をするアプリケーションが含まれている場合、あっさり騙されますのでご注意ください。

 「性能」とはトレードオフの関係にあるので、「操作性」や「正確さ」を優先する場合は、設定を変更する必要があります。
 以下の設定項目の説明を参照ください。

※WindowsXP~Windows10の初期版とは約800倍くらいの速度/CPU負荷量の差があったのですが、Windows 10 1809以降は、OS側でウェイトがかけられるようになったので、エクスプローラーとの速度/CPU負荷量の差が30~40倍くらいまで縮まっています。
 OSのバージョンが上がってエクスプローラーの性能が上がったのではなくて、As/Rの性能が落ちたのです。
 今後もWindows側の何らかの仕様変更に伴い、性能劣化する可能性があることをご理解ください。
 (例えばVistaでツリーを使うインターフェイスAPIが壊滅的に遅くなったとか、接続されていないネットワークのAPI応答性能が異常に劣化した等、事例はたくさんあります)
 なおVer.15辺りからAs/Rの方の性能が劇的に向上し、Windows 11(22H1~23H2)のエクスプローラーが分単位の処理が必要な劣悪な条件であっても、マイクロ秒単位で処理可能となったため格差は拡大しています。


 なお自動更新の対象になったファイルは、フィルタ機能や、隠し属性を持つファイルを非表示するといった機能の影響を受けません。
 そのため、よそのアプリケーションなどによって、タイムスタンプが変更された隠し属性を持つフォルダーやファイルが表示されることがありえます。
※自分でファイルに隠し属性を付与した場合、一覧から消えてしまうと操作しにくいとの判断で、このような制限を設けています。


自動更新時に並び替える

 自動更新でアイテムに増減や、属性変更が発生した場合に並び替えを行います。
 エクスプローラーの動きでは、Windows XP風の動作はOFFで、Windows Vista/7/8/10/11の場合はONにしたような動きになります。
 なお、このオプションをONにすると、自動更新の性能が大幅に低下します。
 下記の自動更新の遅延時間を長めにするなり、無効にするアイテム数を小さめにするといった対応をお奨めします。
 性能劣化に関する詳細な情報は、こちらの「一覧の表示速度 」を参照ください。
 なお更新検出方法が「旧式全更新」の場合は、全更新ですので本設定がOFFであっても並び替えが発生します。

ローカルフォルダー/ネットワークフォルダーの更新検出方法

 基本的にはAPI監視のモードだけで十分ですが、用途や環境によって使い分けられるように設定が用意されています。
監視しない 他のアプリやAs/Rで貼り付けやファイルのコピーなどの操作を行っても更新されなくなります。
特にWANなどの応答の遅い環境で利用すると便利でしょう。
API通知 実体のあるローカルフォルダーと同じ監視方法で、かなり更新速度が速く、取りこぼしもほとんどありません。
しかし、ファイルの共有サーバーがSAMBAである場合(オープンソースを用いたNASやUNIX環境で良く使われます)、ネットワークの相手先のファイル共有サーバー側が対応してないので通知されないことがあります。
また、ネットワークの相手先のSAMBAのバージョンによっては新規作成/削除は通知されるのに、リネームや更新のみ通知されないという現象もありますので、ご注意ください。
シェル通知 フォルダーバーや、仮想フォルダーと同じ監視方法で、かなり広範囲の更新を取得できます。
しかし、シェル通知を送ってこないCUIコマンドなどが存在しますので、不正確な場合が多々あります。(通知を送る/送らないの違いは、CUIコマンドの仕様によります)
また、更新アイテム数が10個くらい同時に見つかると、全体の取得しなおしが発生しますので速度的な優位性が無くなります。
なお、誤通知に最も騙されやすく、正確性を要求されるシーンでは手動更新と併用するか、利用しないことを推奨します。
※Windows 10 1809以降は、OSから嘘情報を送ってくるので、あまり信用できません。
 OSのバージョンによって取りこぼしや別のタブに通知を送ったり、タブを閉じないと経由してきたフォルダのロックが解除できなくなったりと妙な挙動が多いです。
旧式差分更新 ここで言う旧式とはWindows 3.0頃から利用されている古い形式のAPIを利用しているという意味です。
外部要因を全く受けず、正確ではあるものの、全走査を行うため上記の2つのモードよりも応答速度が遅いです。
またリネームの場合にフォーカスを見失うため、操作性は芳しくありません。
※削除/追加/属性変更/リネームの全てを一緒くたに「変更があった」と知らせてくるものですので、「リネーム」と「削除+追加」の見分けがつかないためです。
※他の通知モードはWindows2000時代に追加されたものです。
※下記の遅延時間の調整で、取りこぼしの発生率は変動します。

自動更新を無効にするアイテム数(0にすると無制限)

 エクスプローラーで普通に作業できるレベルのファイル数でしたら何ら問題はありません。
 それを超えるような環境で作業をする場合を想定し、安全装置として初期値は1つのディレクトリに20万ファイル存在する場合に制限がかかるようにしています。
 0にすると無制限になります。
 「API通知」の場合は同一ディレクトリに100万ファイル存在していても、当たり前のように作業できるように動作確認をしています。
 ただし更新数の多い場合の「シェル通知」「旧式全更新」の場合は、負荷が急激に上がらないように上限を設定しておいた方が良いでしょう。

※自動更新を無効にすると、一切の更新処理を行わなくなります。
 つまり遅延処理(別スレッドで動作)で取得している詳細情報や、アイコン、サムネイル画像なども取得しませんので、ご注意ください。

自動更新の遅延時間

 短くしすぎると更新検出メッセージの最適化の効果が薄れますし、更新通知の取りこぼしも多くなりますが、応答速度は速くなります。
 初期値は速めに設定されていますが、本来のOSの標準値は1000ミリ秒程度になっています。
 特に上記の「自動更新時に並び替える」が有効になっている場合は、取りこぼしを減らすために長め(800ms~1000ms)に設定する事を推奨します。

環境依存の不具合対策

Windows updateのパッチの当たり具合、ドライバの不具合、更新通知を断続的に送信してくる外部ソフトが影響して、特定のフォルダーのみ延々と更新通知が止まらない現象が発生することがあります。
そういったトラブルに遭遇した時にご利用ください。
※大文字小文字は考慮しませんし、ワイルドカードが使用できるので任意フォルダー以下を指定することができます。
※実体を持たない仮想フォルダーの場合は、アドレスバーに表示されるGUIDを含んだ名称を指定することができます。
※ネットワークパスの場合、サーバー名とIPアドレスの一致は見ません。
 単純な文字列の比較なので、ご了承ください。
※マイコンピュータでネットワークドライブを置いた場合、OS標準のHDDドライバやOneDrive/Googleドライブといった比較的信頼度の高いOSや外部アプリケーションが原因でトラブルが発生したため設けられた機能です。(本稿執筆時点では、それらの不具合は全て解消されています)