PowerToysのコントリビューターが、アイドル時のメモリ使用量を削減できる「低メモリモード(low memory mode)」の追加を提案しています。NeowinがGitHubへのプルリクエストを発見・報告しており、この機能はオプションとして提供される可能性があり、特にローエンドPCのユーザーにとって恩恵が大きいと考えられています。
PowerToysがバックグラウンドでメモリを消費し続ける理由
PowerToysは現在、ショートカットや各ツールを即座に起動できるよう、複数のヘルパープロセスをバックグラウンドで常時稼働させています。この「ウォームプロセス」方式により、呼び出した際の応答速度は高く保たれますが、複数のツールを有効にしながらも実際にはあまり使わないユーザーにとっては、メモリを余分に消費し続ける原因にもなっています。
「低メモリモード」の仕組み——使わないときは自動終了、呼び出し時に再起動
提案されている低メモリモードでは、対応するユーティリティがアイドル状態になると、バックグラウンドプロセスを自動的に終了します。ツールが必要になった際は、通常のショートカットやインターフェースを通じてオンデマンドで再起動される仕組みです。
プルリクエストでは、開発者が次のように説明しています。「共有の low_memory_modules 設定マップとヘルパーAPIを追加することで、対応するユーティリティがモジュールごとに新しいスキーマフィールドを追加することなく、アイドル時の自動終了動作をオプトインできるようにします。対応する各ユーティリティのデフォルト値はfalseに設定されており、ユーザーが低メモリモードを有効にしない限り、既存のウォームプロセス動作が維持されます。……ランナーはキャッシュされた低メモリ設定を更新し、対応するユーティリティの低メモリ設定が変更された際に、影響を受ける有効なモジュールのみを再起動することでポリシーを再適用します。」
再起動に伴うわずかな遅延が生じる可能性はあるものの、「おそらく体感できないレベル」と説明されています。
ローエンドPCほど恩恵が大きい可能性
この機能が実装された場合、PowerToysのアイドルプロセスが解放したリソースを他のアプリケーションが活用できるようになるため、間接的にシステム全体のパフォーマンス向上につながる可能性があります。Neowinは、特にメモリ容量が限られたエントリーレベルや低スペックのPCにとって、効果が大きいと報じています。
なお、この機能はあくまでオプション設定として提供される予定で、デフォルトでは従来のウォームプロセス動作が維持されます。応答速度を重視するユーザーはそのままの設定を使い続けられるため、既存の使い勝手が損なわれる心配はありません。
現時点ではプルリクエストが提出された段階であり、正式にPowerToysへ統合されるかどうかはまだ確認されていません。続報を待ちましょう。
Q&A
Q. 低メモリモードを有効にすると、ツールの起動が遅くなりますか? アイドル状態から再起動する際にわずかな遅延が生じる可能性はありますが、開発者は「おそらく体感できないレベル」と説明しています。また、デフォルトでは従来のウォームプロセス動作が維持されるため、有効にするかどうかはユーザーが選択できます。
Q. この機能はいつ利用できるようになりますか? 現時点ではGitHubにプルリクエストが提出された段階です。PowerToysへの正式な統合時期は確認されていません。