PCチューニング覚え書き(その6)?レジストリエディタを使ってレジストリを編集

いよいよレジストリを直接編集します。
そのために、レジストリエディタを起動します。起動の仕方は、「ファイル名を指定して実行」→「regeditと入力」→「OK」です。

regedit_1

なお、レジストリエディタの使い方については以下のサイトなどを参考にしてください。

レジストリエディタの使い方

上手くいかなかったときのためのバックアップの仕方なども解説されています。
レジストリの直接編集というのは初心者にとっては敷居が高いのは事実ですが、決して難しいことではありません。ぜひとも挑戦してください。
ただし、「この設定を使って起こったいかなる損害にもユング君は一切責任を負いません。」(6 ̄  ̄)ポリポリ・・・しつこい?

なお、PCオーディオのためのレジストリの編集に関しては多くの優れた先例があります。

「OSのチューニング ? レジストリエディタから ?」
The Guide & Topic of DAW PC

さらに、PCオーディオを直接の目的とはしていませんが、レジストリの編集については以下のサイトが詳しいです。
レジストリ設定

これらを参考にしながら、自分の経験もふまえて「やっておいた方がいい編集」についてまとめてみたいと思います。

まずは、メモリの管理からはじめます。

カーネルメモリ領域を物理メモリに一本化する。
DisablePagingExecutive→「1」

一般的には物理メモリーと仮想メモリーの両方を使うのがデフォルトの設定です。しかし、これは物理メモリーが「128MB」程度を前提とした昔の話です。昨今はギガバイトのメモリは常識ですから物理メモリーに一本化します。
ギガバイトのメモリを積んでいるなら必ず変更しましょう。これでかなりパフォーマンスは向上するはずです。

【ルート】
HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerMemory Management

【作業】
Memory Managementのサブキー「DisablePagingExecutive」の値を0から1に変更する。

入出力用のメモリサイズを拡張してファイルシステムを高速化 
IoPageLockLimit→「4194304 or 6291456」

この値はデフォルトでは設定されていないことが多いようで、初期値も512Kbが使われているのが一般的なようです。しかし、ギガバイトのメモリが常識の昨今はこの初期値はあまりにも小さすぎますからきちんと値を設定しておいた方がいいようです。

【ルート】
HKEY_LOCAL_MACHINE
SystemCurrentControlSetControlSession ManagerMemory Management

【作業】
Memory Managementのサブキー「IoPageLockLimit」の値を変更する。

ただし、「IoPageLockLimit」がないことが多いので、画面上の何もないところで右クリックして「DWORD値」をえらんで「IoPageLockLimit」と入力してキイを作ります。

regedit_2

なお、以下述べる内容の少なくない部分で、デフォルトではキイが存在しないことがあります。その時も、これと同じ方法でキイを新規作成してください。

「IoPageLockLimit」というキイが新しくできたら然るべき値を設定します。一般的には搭載されている物理メモリの4分の1を上限として値を入力するそうですが、大きくしすぎると動作が不安定になると言う報告が多々あります。
根拠のほどははっきりしませんが、4Mbもしくは6Mb程度に設定するのがベターではないかというのが取りあえずの結論です。

4Mbならば10進数で「4194304」、6Mbなら「6291456」を設定します。

2次キャッシュサイズ変更 
SecondLevelDataCache→CPUの二次キャッシュサイズを指定

最近のCPUの2次キャッシュサイズはどんどん増えているのですが、Windowsの方はそれを自動では認識せずに、初期値の256kBの状態で動いているようです。つまりは、増えていることを教えてやらないと宝の持ち腐れと言うことです。

なお、自分のPCのCPUの二次キャッシュサイズが分からないという人は、CPU-Zが便利です。それ以外にも自分が使っているPCに関するあらゆるデータを収集してくれますのでとても便利です。

【ルート】
HKEY_LOCAL_MACHINE
SystemCurrentControlSetControlSession ManagerMemory Management

【作業】
Memory Managementのサブキー「SecondLevelDataCache」の値を二次キャッシュのサイズに10進数でに変更。

なお、単位はキロバイトなので、もしも二次キャッシュが6Mbならば「6144」と入力します。

スレッドを増やす
Executiveのサブキー「AdditionalCriticalWorkerThreads」の値を0から5に変更。
Executiveのサブキー「AdditionalDelayedWorkerThreads」の値を0から3に変更。

これも、あちこちのサイトで指摘されているチューニング法です。結構効くようです。

【ルート】
HKEY_LOCAL_MACHINE
SystemCurrentControlSetControlSession ManagerExecutive

【作業】
Executiveのサブキー「AdditionalCriticalWorkerThreads」の値を0から5に変更。
Executiveのサブキー「AdditionalDelayedWorkerThreads」の値を0から3に変更。

NTFSの最終アクセス日時の更新を無効化
 NtfsDisableLastAccessUpdate→「1」

このチューニングの効果は「微妙」という意見が多いのですが、cMPの作者は「変更すべし」と言っていますので、従っておきましょう。なお、「NtfsDisableLastAccessUpdate」というキイもデフォルトでは存在しないことが多いようなので、その時は新規作成します。

【ルート】
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem

【作業】
NtfsDisableLastAccessUpdate→「1」

なお、ここを弄るなら、ついでに以下のキイも変更しておきましょう。

AdditionalDelayedWorkerThreads→「3」
NtfsDisable8dot3NameCreation→「1」

ユーザー操作履歴の追跡機能の無効化
 NoInstrumentation→「1」

Windowsはユーザーの操作履歴を記録して利便性を高めるという機能がありますが、これは音楽再生には不要ですし、この追跡機能は結構重いようなので無効にします。
レジストリ編集の中では一押しのお勧めらしいです。

【ルート】
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer →

【作業】
NoInstrumentation→「1」

使っていないDLLファイルをメモリの常駐から解放する
 AlwaysUnloadDLL→「1」

これも結構お勧めの編集です。
Windowsはアプリケーションが終了しても、すぐにお呼びがかかるのではないか?という心遣いをするので、そのアプリケーションに必要なDLLファイルがしばらくはメモリに常駐します。
たとえば、Firefoxを最初に起動するときは結構手間取るのに、それを一度終了してから再度呼び出すとすぐに起動してきます。よく経験することですが、それはこのDLLファイルがメモリに常駐するからです。
しかし、音楽再生専用のPCには」いらぬお節介です。アプリが終了したらDLLファイルも同時にメモリ上から立ち退いてもらいましょう。

【ルート】
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorer

【作業】
AlwaysUnloadDLL→「1」

これもデフォルトでは存在しないことが多いです。

これ以外に、cMPの作者がすすめるレジストリの変更があります。現時点ではcMPはフリーで使える再生ソフトとしては「最強」だと確信しますので、この作者の主張はひとまずは聞いておいて損はないでしょう。

メニュー表示を速く
 MenuShowDelay→「0」

メニューが開く速度は 0 が最も速く、大きくすると間が大きくなるそうですので、「0」を指定しろと言うことです。

【ルート】
HKEY_CURRENT_USERControl PanelDesktop

【作業】
MenuShowDelay→「0」

ちなみに、私のPCではデフォルトで「0」でした。

Prefetchを無効にする
 EnablePrefetcher→「0」

これは、国内のサイトでは見かけた記憶がないのですが、cMPの作者はこれを推奨しています。これを無効にすると、Windowsの起動に少し時間がかかるようですが、これもまた彼を信じましょう。
もちろん、信じられない人は当然パスです。
ただし、これを無効にしても今のところは不都合は起こっていません。また、これでどの程度効いているのかも感覚的には不明です。

【ルート】
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters

【作業】
EnablePrefetcher→「0」

最後に

PCは長く使っているとレジストリにゴミがたまりますので、それを最後に掃除します。さすがに手作業では不可能ですので、EasyCleanerのようなソフトを使います。
意外と馬鹿にできないほどパフォーマンスが上がりますので、定期的にお掃除はしましょう。

これ以外にもやるべきチューニングはいろいろと報告されています。しかし、今回のチューニングの最終地点はcMPを使って「音楽再生しかできない」PCにしてしまうことですから、たとえばデスクトップを無効にする等というのはやってもやらなくても同じという判断でパスをしました。
また、cMPを使えばショートカットアイコンからアプリを起動すると言うこともできませんので、このショートカットアイコン関連の編集もすべてパスしました。ただ、それでもショートカットアイコンが残っているというのは気持ちが悪いので、それは徹底的に削除しておきましょう。デスクトップ上のアイコンは言うまでもなく、「C:Documents and Settings[ユーザー名]スタート メニュー」に入っているアイコンも削除しておきましょう。

レジストリの変更というのは、一つ一つ効き具合を確かめながら変更すると言うよりは、一気に「エイヤッ!!」という感じで編集することが多いので、一つ一つの効き具合はなかなか明瞭でない部分もあります。しかし、上で述べたような変更をきちんと実施すると、トータルとしてはかなりの改善が実感できると思います。
なかなか敷居の高いチューニングですが、やるだけの価値はあると思います。

これで、ようやくにして中腹の5合目にたどり着いたでしょうか。
次回は、いよいよ仕事との兼用ではなくて音楽再生専用として使うPCならではのチューニングに踏みこんでいきます。