2014年3月26日水曜日

先行事例調査(4) : フリーソフトを使用する - BES - Battle Encoder Shirase

事例: フリーソフトを使用する - BES - Battle Encoder Shirase

対象:任意のプロセス(上限3プロセス)
出来ること:

指定したプログラムに対してCPU使用率の上限を設定することができる。

効果:

指定したプログラムのCPU使用率に上限を設定することで、指定したプログラムがCPUを使用しすぎないようにする。

例)

動画処理プログラムのCPU使用率に上限を設定することで、動画処理中に他の作業(Webサイトのブラウジングなど)を行った時の、他の作業の処理速度の低下を抑える。


CPUの利用率設定の実装方法(推測):

指定したプロセスをスリープさせることで、指定したプロセスのCPU使用率が上昇することを抑えていると推測する。
指定したプロセスに対して、スリープの指示と解除を一定間隔で繰り返すことで、CPU使用率の上限を任意の値に設定していると推測する。

このプロセスに対してスリープを指示している期間とそうではない期間の繰り返しのことを「Sleep/Awake Cycle」と呼んでいる。
「Sleep/Awake Cycle」において、スリープの期間が長くなればなるほど、CPU使用率を抑えることができる。


「Sleep/Awake Cycle」において、スリープとそうではない期間の割合は変えずに、その時間的な長さを調整することが可能である。
以下は参考文献の2(公式WebSite)より引用したものである。

引用ここから
 Starting from version 1.5.x, you can tweak the sleep/awake cycle (frequency) of BES, in milliseconds. This may be handy for example when you want to throttle a game process while keeping the visual smooth. Try a smaller value like 40 in such a case, instead of the default value, 100. Notice, a 40-millisecond cycle means that the visual can be redrawn, in theory, 25 times a second, allowing a 25-fps movie to play without being jumpy. Do not use a too small value, though (the smaller it gets, the less accurate control you get).
引用ここまで

これより、「Sleep/Awake Cycle」の1サイクルの長さは調整可能であり、ゲームや動画再生のようなリアルタイム処理を要求されるものでは、1サイクルの長さを適切に調整することで、視覚的な滑らかさを得られる。


注意:

ここで紹介したフリーソフトウェアは私自身は動作をチェックしていないため、使用する場合には各自の自己責任にてお願いします。


参考文献

1.窓の杜 - 【NEWS】プロセスごとにCPU使用率の上限を設定できる「BES - Battle Encoder Shirase」

2.BES, Battle Encoder Shirase 1.2.2a: Controls Per-Process CPU Usage

関連記事
同じラベルをすべて含む記事を読み込み中...