MacType設定
以前は数秒で終わっていたgit pull操作が、ある日から数分以上かかるようになってしまった。procexpとprocmonで調べてみたところ、gitコマンド実行時にgit.exeとsh.exeが起動/停止を繰り返しており(これ自体はそういう仕様だと思うので問題なし)、その際にMacTypeのiniファイルの編集が大量に発生していた。
それぞれのプロセス起動時にMacType.dllがiniファイルの編集を行っているよう。MacTypeは他のプログラムの実行をフックしてフォント表示を変更するプログラムなので、この動作自体も仕様通りということになる。
コマンド実行のバックエンドでシェルスクリプトが走ってsh.exeが起動するたびにMacTypeの登録処理が走ることがパフォーマンス低下の原因であったよう。MacTypeの対象とするプログラムはテキスト編集を行うもの(vim、TeraTermくらい)でよいため、設定を変更することにした。
MacTypeトレイの設定画面で対象プログラムを登録する設定はないため、「自動的に起動」のチェックを外して関係ないプロセスに対してMacTypeを起動しないようにした。
この設定でgit操作のパフォーマンスは改善したが、gvimやteraterm起動時にMacTypeトレイからプロセスマネージャを開き、一覧からgvimやteratermを探して「起動」ボタンを押すという面倒な手間がかかるようになった。
エディタ起動のたびにこの操作は面倒くさいので「自動的に起動」はチェックした状態に戻した。設定が面倒だけど、MacTypeトレイのプロセスマネージャで、MacTypeの起動対象にしないプロセスすべてに対して「このプロセスを除外」にチェックを付けることにした。
除外したプロセスに対してもMacTrayが起動するので、起動モードを「互換性重視モード」から「独立起動モード」に変更した。「互換性重視モード」ではプロセス毎の設定が反映されないよう。
【設定画面】