反応速度の向上

Mac OS Xでは、ウインドウの描画、マウスイベントへの反応などは基本的に、アプリケーションそのものではなくOSのお仕事となっています。

なんで、そこらを司るプロセスの優先順位を上げてやれば、反応速度が向上する。下手にアプリのプロセス優先順位を上げても、その分マウスイベントやウインドウの描画が遅れちゃうとナニですわな。

とても簡単で、以下の内容をエディタで書いて保存し、Terminalで実行権限を付与して起動するだけです。

何かアプリケーションを立ち上げて、動作がもっさりしてきたらまたTerminalから起動してやってください。

いずれ、単体のアプリケーションでも作ろうとはおもってます。管理者パスワードを埋め込ませるタイプなら10分で作れるんですが(笑)、Security関係で何か発言する人間がやっちゃまずいだろう(藁。

もちろん、そんなの5分で作ってあげよう、という申し出は歓迎いたします。

#!/bin/sh
renice 0 -u `whoami`
sudo renice -20 -p `ps -acx -o pid,command¦grep WindowServer¦awk '{print $1 }'`
sudo renice -20 -p `ps -acx -o pid,command¦grep SystemUIServer¦awk '{print $1 }'`
exit

シェルスクリプトの解説です。

renice 0 -u `whoami`で、現在のユーザ権限で動作しているプロセスの優先順位を0に均します。

次のsudo renice -20 -p `ps -acx -o pid,command¦grep WindowServer¦awk '{print $1 }'`でWindowServerの優先順位を最高に上げます。その次の行も同様にSystemUIServerの優先順位を上げます。

シェルスクリプト実行後に起動したアプリケーションの優先順位も最高に設定されますので、シェルスクリプト実行後に重量級のアプリケーションを起動した場合には、もう一度シェルスクリプトを立ち上げてやってください。一行目のrenice 0 -u `whoami`で、ユーザのアプリケーションの優先度は元に戻ります。

これだけで、ウインドウの反応、キーボード入力、タブレットの反応速度、Exposéの滑らかさ、スムーズスクロールの滑らかさが向上します。また、ベタベタにCocoaの描画APIを使ってるアプリケーションの動作速度は向上するでしょう。

マジほんとだからやってみな、という感じ。Dual Processerならより快適になるでしょう。

で、上記スクリプトの作り方に関して、id:vm_converterさんに、とてもありがたい助言をいただきました。シェル内で`で囲んだなかにコマンドを入れることができるのね。いや、ほんとに助かりました。

微妙に修正

otstuneさんに指摘されて­を「-」に修正。

WinIE、MacIEでは消えたり…になっていたらしい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。