プログラミング工房 > HSP > サンプルモジュール > 

プロセスの実行優先度を設定する

 Windowsでは同時に複数のプログラムを使うことができますが、これは実際にはWindowsの管理の下、非常に短いサイクルで、個々のプログラムにかわりばんこにCPUを使わせるようにすることで実現されています。

 そしてHSPで作れるような一般のプログラムは、普通はみな同じ時間だけCPUを使う許可を与えられますが、プログラムの種類によっては、必要な処理を行うのに他のプログラムより少ない時間しか必要ない場合もあります。

 そういう時に「自分がCPUを使う時間は他のプログラムよりも短くていいですよ」とWindowsに知らせることで、他のたくさんの仕事を行うプログラムにCPUを使う時間を譲ってあげることができます。これをHSPで実行するには下のようなモジュールを使って自分の実行優先度を低くすればOKです。

 使い方は、モジュールをインクルードして"proc_prior_belownormal"命令または"proc_prior_idle"命令を実行するだけです。後者の方がより優先度が低くなります。優先度をデフォルトに戻したい場合は"proc_prior_normal"命令を実行してください。

 モジュール内で使っているWin32 APIでは優先度を通常よりも高く変更することもできるのですが、このモジュールはプロセスの実行優先度を低くするためのものとして作りました。

 例えば「分」までしか表示しない時計ソフトを作る場合、おおざっぱに言って1秒に1回程度時間のチェックと表示の更新ができれば目的が達せられると思うので、スクリプトの最初の方で"proc_prior_idle"などと実行して優先度をかなり低めに設定することでCPUに極力負担をかけないソフトにすることができます。

2010/01/25更新

 >> ダウンロード