Windowsには多くのマシンのリソースを必要とし、かつ他のプロセスよりも優先的に処理をさせたい場合(もしくは優先度を下げたい場合)に、タスクの優先度を指定する機能がついています。
この機能は、タスクマネージャーの詳細タブから、目的のプロセスを右クリックした際に表示されるメニューから選択が可能です。
ただし、ここで設定した優先度設定は、PCを再起動したり、アプリを起動しなおしたりすると元の設定に戻ってしまうため、PCやアプリを起動するたびに優先度設定を変更する必要があり面倒です。
今回僕が上記の設定をするきっかけとなったのが、普段から利用しているduet display というアプリをスペックが低めのPCで使用する際に、優先度を高めにしておかないと、他のアプリの負荷によって動作を邪魔されてしまい、サブディスプレイの描画パフォーマンスが下がってしまうことがある点でした。
優先度を変えれば快適に動作するようになることは解ったのですが、duet display自体はサインイン時に自動で起動するようになっており、どうせなら自動起動時に優先度を自動的に高めに設定できないかと調べたところ、こちらの方法を見つけました。
プロセスの優先度を変更してアプリを起動する(Windows) – jBlog
まず、優先度を上げて自動起動したいアプリのショートカットを作成します。
ショートカットの作成方法は、アプリ本体のファイル(exeファイル)を右クリックし、「ショートカットの作成」をクリックします。
するとショートカットファイルが作成されるので、このファイルを次の場所へ移動します。
C:\Users\ログイン中のユーザーid\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
そのあと、移動したショートカットを右クリックし、”プロパティ”をクリックします。
すると次のようなウインドウが開きます。
このウインドウの内容のうち、”リンク先”の項目を次のように書き換えます。
"アプリケーションのフルパス"
↓
C:\Windows\System32\cmd.exe /c start "" /優先度オプション "アプリケーションのフルパス"
優先度オプションは次のようになっています。
/REALTIME リアルタイム(最高)
/HIGH 高
/ABOVENORMAL 通常以上
/NORMAL 通常
/BELOWNORMAL 通常以下
/LOW 低
例えば、今回例に挙げたduet displayの優先度を通常以上に設定たい場合は
C:\Windows\System32\cmd.exe /c start "" /ABOVENORMAL "C:\Program Files\Kairos\Duet Display\duet.exe"
としておけばOKです。
動作のテストをしたい場合は、上の手順で作成したショートカットをダブルクリックで実行し、アプリを立ち上げた後に、最初に説明した方法でタスクマネージャーから優先度を確認すればOKです。
duet displayの他にも、ファイルの変換処理など、優先度を上げればその分早く処理を終えられそうなアプリであれば効果が出る可能性が高いと思いますので、アプリのパフォーマンスにお悩みの方は一度試してみてもよいかもしれません。