こんにちは、阿久津です。Windows 8から加わったスタートメニューのタイルですが、基本的な実装はWindows 10でも大差ありません。例えば、グループポリシーエディターには「ログオン時にタイル通知を消去する」という設定が用意されています(図01)。

図01 こちらの設定は<管理用テンプレート/タスクバーと[スタート]メニュー>から参照できます。ただし、Homeエディションではグループポリシーエディターを使用できません

このポリシーを有効にすると、HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorerもしくは、HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ExplorerキーにDWORD値「ClearTilesOnExit」を作成し、データは「1」がセットされます。この値名から察するに、サインアウト時に処理を行っているのでしょう。

ライブタイルは開発者が指定したWebサイトからIBackgroundTaskを用いて、XMLファイルや画像ファイルなどを自動取得し、メッセージや画像を表示させているため、データはローカルストレージに一度蓄積されます。しかし、先のレジストリエントリーでは削除までは行いません。そこで今回はライブタイルのキャッシュを手動で消去するチューニングを紹介しましょう。

1. 管理者権限でレジストリエディターを起動します。
2. レジストリエディターが起動したら、HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ImmersiveShell\StateStoreキーを開きます。
3. DWORD値「ResetCache」のデータを「1」に変更します。
4. DWORD値「ResetCacheCount」のデータを「0」に変更します。
5. レジストリエディターを終了します。
6. Windows 10へ再サインインします。

これで操作が完了しました(図02~07)。

図02 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して、<OK>ボタンをクリックします

図03 レジストリエディターが起動したら、HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ CurrentVersion\ImmersiveShell\StateStoreキーを開きます

図04 DWORD値「ResetCache」をダブルクリックで開き、データを「1」に変更します

図05 DWORD値「ResetCacheCount」をダブルクリックで開き、データを「0」に変更します

図06 レジストリエディターを終了します

図07 スタートメニューを開き、ユーザーアイコン→<サインアウト>と順にクリックして、Windows 10へ再サインインします

それでは結果を確認しましょう。数秒ほどでコンテンツを取得し終えてしまうため、直ちにスタートメニューを開いてください。ライブタイルが次々と更新される様が確認できます。(図08)。

図08 チューニング後の状態。次々とライブタイルが更新する様を確認できます

一見しただけでは、ライブタイルのキャッシュが消えたように思えませんが、本チューニングのユニークな点は値の動きです。再サインイン(Explorer.exeの再起動)後はDWORD値「ResetCache」のデータは「0」に変更され、DWORD値「ResetCacheCount」は再サインイン後にデータが増加(インクリメント)する仕組みです。例えばデータが「1」の場合は「2」に増加することを確認しました(図09)。

図09 チューニング後のStateStoreキー。DWORD値「ResetCache」のデータは「0」、DWORD値「ResetCacheCount」は「1」に変更されたことを確認できます

ただし、必ずしもDWORD値「ResetCacheCount」のデータがインクリメントされるわけではありません。詳細は不明ながらも取得済みキャッシュデータとネット上から取得したデータを比較し、キャッシュデータのクリアが必要だと判断して実行した場合のみインクリメントするようです。ネットワークトラフィック量を意識する必要がない場合、冒頭で述べたレジストリエントリーと組み合わせて、描画内容とキャッシュデータをクリアした方が快適になるでしょう。

なお、本チューニングは手動でキャッシュクリア操作を実行しています。そのため、破棄するといった操作を行う必要はありません。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus)