(Windowsの話です)
だらしない性格からなのか、効率を求めるためか、いつもウインドウをたくさん開いてしまいます。
僕は人生の合理化のため、
・整理しない
・整頓しない
・清掃しない
・清潔にしない
・しょうがない (通称5S)
をモットーに生きてます。
その方が効率いいし。
話は戻りますが、タスクバーを標準の位置においているとすぐ表示しきれなくなるので、僕は右側に移動して使ってます。
ところがこれでタスクバーはほぼ問題ないのですが、ウインドウを40~60個くらい開いたところでそれ以上開かなってしまいます。
そのくらい大丈夫だろと思うののですが、どうやら上限がある模様。
Windowsの仕組み上、普通のウインドウ以外にもエディットボックスやボタンその他部品(=コントロール)なども全てウインドウ扱いになるので、40個ウインドウを開いているつもりの状態でもコントロールの数自体は膨大になるのかもしれないです。(アプリケーションによって異なります)
なので、実際ウインドウをたくさん開いているとウインドウの一部分が表示されなかったりとかも起こります。
原因は恐らくデスクトップ・アプリケーション・ヒープの不足。
滅多に再起動しないのでメモリリークしてるヤツがいるのかもしれないと思いましたが、試しに再起動して直後に普段使う環境と同じようにウインドウ開いていくとやっぱり問題がおきるので、根本的にリソースが足りないようです。
Windows2K/XPのデフォルトのデスクトップ・アプリケーション・ヒープサイズは3MByte。
大きいサイズに変更してしまうことにします。
変更方法は以下にあるとおりです。
http://support.microsoft.com/kb/126962/ja
レジストリの以下の値を変更する。
キー:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems
値: Windows
SharedSection=xxxx,yyyy(又はSharedSection=xxxx,yyyy,zzzz)の、yyyyの部分を変更して再起動する。
これをやるとパフォーマンスに影響を与えるらしいですが。しかもけっこう重大に。
(インストールするだけでパソコンを高速にするぜ!! みたいな市販されている怪しいソフトの類はこういうリソースのサイズを小さく設定しなおしたりするらしい)
とりあえず僕は5120(KByte)に設定してみました。
WindowsXPが開発された頃に比べればハードウエアは格段によくなっているのでそのくらい大丈夫だろうという判断。
少しつかった感じでは特にパフォーマンスへの影響も感じないしウインドウをたくさんひらいても大丈夫になりました。
ちなみに設定した環境は以下のとおり。
CPU Intel Core2Quad Q6600
M/B GIGABYTE GA-G33M-DS2R
VGA GIGABYTE GV-RX26P512H
RAM 4096MByte (32bit環境)
WindowsXP SP2 (x86)
#こまめにウインドウを閉じる躾を自分にしたほうがいいのかもしれませんが。。
昔(98~2000)はメモリ残量で窓が開けなくなるってのがあったけど、今でもあるのか?MSさんの仕様なんだろうけどw<br>つか、一般的な5Sと逆の解釈の5Sワロタwww<br>最後の「しょうがない」には同意するぜ!
K@iさん>><br>上限をわざと設けてパフォーマンスがどんどん下がってしまうのを防いでいるみたいです。