POWERCUTドキュメント v.0.9d 2000.3.4

s.oowada

はじめに

うーんと、一応、消費電力と発熱を下げるかもしれません。 私のつかってるPANAのCF-S51EJ8では、CPUの速度を下げる ことができません。で、どんなに熱くても、どんなに電池を もたせたくても、どんなにファンをまわしたくなくても CPUは最速で動きます.でつくったのがこれ。。。 アプリケーション毎に省電力設定の登録ができますので メール書きとかでは速度を落としておくことができます。

簡単にいうと 自分が暇なときにCPUを冷やします. 通常時の速度を落とすことで暇でないときにもCPUを冷やす ような設定を行うことも可能です。 バッテリでの駆動時間を強引に延ばせるかもしれません。 DOS、常駐物、GAMEなどで熱くなるのが特に防げます.

詳細

自分のスレッドが暇なときにHLT命令を実行します。 Windows98からシステムが暇なときにHLTを出すようになって 発熱が減ったんですが、一部のアプリケーションでは 自分自身へのメッセージがないときのループを利用して 裏タスクを実行します。 こいつらのせいでWindows98のシステムのIDLEスレッドが 動作せず、PCの温度が意味もなくあがります。 で、アプリレベルで自分のスレッドが暇なときにHLTを 出すことでこのような行儀の悪い? アプリケーションを 実行時のCPU温度を下げる効果がある予定です。

さらに、V.0.4から通常時の速度もNORMALから1/5まで設定 できるようになってますので、この速度を落とすことで どんなに忙しくてもあんまり熱くしないようなことが可能 です。

V.0.7からIDLE時にHALT命令を出す機能をつけました。Win98ではこの機能が ついてるとおもったんですが、(事実私のノートでは実行されてるように見える) このプログラムに対するレポートを見てるとなんか環境によってそうでもないみたい (BIOSかなんかでちがう?)みたいなんで。

V.0.8からディスク読み出しがあるとマウス、キーボード操作などと同様CPUの 停止をやめるようにしました。コンパイル時など、速度が落とせなかったのが なおる予定です。

V.0.9からディスクの停止機能をつけました。ディスクのリードアクセスからの 経過時間が指定できます。辞書の読みでなかなかHDDは止まりませんが、プログラム を組むときとかは相当静かな環境が使えるようになるでしょう。フラッシュメモリに 辞書をうつしてしまうのもいいかもしれない。RAMDISIKって手もあるか。 この機能はちっとばっかあぶなそうなので、INHにできます。一応私のとこでは問題 ありませんが・・・

自分あてメッセージのないときでかつシステムに割り込み の発生しないときに止まるので速度低下機能を使わない場合 にはシステムへの影響もほとんど出ない予定です。 (IDLEを使ってるアプリそのものは動作が遅くなりますが、 もともとIDLEをつかってるってことは遅くてもいいはずなので ・・・)

インストール方法

アーカイブ内のファイルを全部同じディレクトリに展開して スタートアップなどにPOWERCUT.EXEを入れてください。 一切のレジストリはいじりません。(予定)

アンインストール方法

インストール時に作ったディレクトリとその中身をすべて削除 してください。レジストリは一切いじりません。(たぶん・・ きっと・・MFCもつかってないし)

使い方

起動 POWERCUT.EXEを実行するとタスクバー(画面右下)にPOWERCUT.exeの アイコンが入ります。 そんだけ。

設定

はっきりいって設定は説明しにくいです。 わかんなかったら、メールででも質問してください。 デフォルトでは速度はあんまり落としません.

タスクトレイに入ったアイコンを左でクリックするか、右クリックしてコンテキストメニューから設定を選ぶと以下のダイアログが表示されます。

1の領域

この領域には設定されている設定のリストが表示されます。ここから設定を選択することで、2の領域に詳細が表示され変更ができます。そして3の領域でSETCONFIGボタンを押すことで1のリストを更新することができます。

E-IDLE時にHALT命令を発行します。
項目 内容
名前 設定の名前を指定します.名前を新しく変更してSETCONFIGボタンを押すことで新規の設定を追加することが出来ます.
開始 節電開始までの時間を指定します.1000で1秒です。キーボードまたはマウスの操作からこの時間が経過するまでは、一切の節電機能が動作しません.IDLEスレッドなどを利用して節電機能を動かすと問題のあるアプリケーションなどでこの時間を大きくして下さい.
減速開始 減速開始までの時間を指定します。1000で1秒です。キーボードまたはマウスの操作からこの時間が経過すると、減速時の速度で指定した速度になります。節電開始時間とは無関係に減速を開始しますので、節電開始が5S後、減速開始が1S後ならまず1秒後に減速を開始し、5S後に節電を開始します.
速度 節電開始時間経過後にここで指定された速度になります。
減速速度 減速開始時間経過後に減速時の速度で指定された速度になります。
タイトル この設定を適用するアプリケーションのタイトルの一部分を指定します.
*を指定すると全てのタイトルの時に適用されます。手抜きなのでワイルドカードが聞くわけではなく"*"だけが有効です。
BATT. この設定を適用するときの電源状態を指定します
A-AC電源で動作しているときに適用します。
H-バッテリがHIGH状態の時に適用します。
L-バッテリがLOW状態の時に適用します。
C-バッテリがCRITICAL状態(緊急時)に適用します。

設定は、上から現在のアプリケーションのタイトルバーと電源状態に合うものを探します。
タイトルに*を指定する場合などは、それより下の同じ電源状態の設定は適用されなくなってしまいます.。
これを防ぐために3の領域のUPとDOWNボタンを利用して適宜設定の順番を変更して下さい..

2の領域

1の領域で設定を選択すると、内容が2の領域にうつって編集できるようになります。この領域で値を編集した後3の領域にあるSETCONFIGボタンを押すことで適用されるようになります。
名前を編集してからSETCONFIGボタンを押すことで新しく設定を作成できます。

3の領域

ボタンの名前 操作内容
UP 1の領域で選択されている設定の順番をひとつ上げます.設定は上から合致するものを検索するため順番が前にあるものだけ適用されます。
DOWN 1の領域で選択された設定の順番をひとつ下げます.
SETCONFIG 2の領域にある設定を1のリストに適用します。
名前を編集して1のリストに
すでにあるものにした場合->その名前のものに上書きされます。
新しい名前にした場合->新しく設定を作成しそこに値が入ります.
DELETE 1の領域で選択された設定を削除します。

その他

ボタン名称 機能
設定ボタン ダイアログを閉じて機能を開始します
終了ボタン POWERCUTを終了します。

設定の例

ここでは1の領域の設定のリストの例を示します.

名前 開始 減速開始 速度 減速速度 TITLE BATTERY
NOTEPAD 1000 50% 20% メモ帳 HLC
IE 300 3000 75% 20% Internet HLC
LOWBATTERY 300 3000 25% 25% * LC
BATTERY 300 5000 50% 25% * HLC
IE-AC 3000 8000 100% 20% Internet AHLC
WORD-PAD 1 1000 100% 20% ワードパッド A
             
             
             

この例ではアプリケーションとしてNOTEPAD,Internetエクスプローラ、WORDPADが指定されています.

アプリケーション AC電源時 バッテリHIGH バッテリLOW バッテリCRITICAL
NOTEPAD 一切省電力なし 1番目が適用 1番目が適用 1番目が適用
Internetエクスプローラ 5番目が適用 2番目が適用 2番目が適用 2番目が適用
WORDPAD 6番目が適用 4番目が適用 3番目が適用 3番目が適用
その他 一切省電力なし 4番目が適用 3番目が適用 3番目が適用

というような動作をします。これらのアプリケーションのタイトルには編集中のファイル名も設定されるため、設定のTITLEには”ワードパッド”、”メモ帳”など、タイトルの一部をいれることによって、編集中のタイトルに左右されずい省電力を行うことが出来ます.DOSのゲームなどでは一度WINDOWに表示してタイトルを確認して下さい. またWINDOWSのデスクトップのタイトルは"Program Manager"ですので、これを設定する ことでデスクトップの省電力設定ができます。(あんまやるとアプリの起動が遅くなり ますけど。

とにかく発熱をおとしたくて、CPUパワーが気にならない場合には、
節電開始までの時間 0 減速までの時間 5000 通常時の速度  一番左 減速時の速度左のほう(10%くらい)。
CPUパワーが気になる場合には
節電開始までの時間 1 減速までの時間 5000 通常時の速度一番右 減速時の速度真中左 にすれば、キーボード、マウスにさわって5秒間最速、 その後50%の速度となります。

IDLE時にHLTをチェックしておけば、設定内容にかかわらず、OSが暇なときに節電動作を行います.ので、問題がなければ、とりあえずこいつが効くようにセットしておくことをお勧めします.

その他

このソフトウェアはフリーウェアとします。

このソフトウェアによる発生するいかなる事象につきましても責任は負いかねますのでご了承願います.

不具合、要望につきましては、答えるよう努力しますが、保証はいたしかねます。

著作権は私 大和田 哲にあるものとします。 また、配布時にはこのドキュメントを含むアーカイブをオリジナルのまま 配布してください。一切の改版は許可をとって行ってください。 また、このソフトウェアを雑誌などの媒体を利用し不特定多数に配布する 場合などは必ず事前にご連絡ください。

本ドキュメントの改版履歴

すんません。0.8c公開時にこいつを読み直したら、説明がバグバグだったので治しました.修正点は、(うその履歴) 1、速度のとこにIDLE時にHLTの説明が入ってた. 2、指定がありさえすればスレッドがIDLE時にHLTすると書いてあった. 3、とにかくCPUパワーを落としたい設定の記述がわけわからん設定だった。

サポート

サポートはE-MAILと掲示板で行います.設定ダイアログにあるバージョン表示をクリックしていけるHOMEPAGEのフリーウェアの掲示板か、そのHOMEPAGEに掲載してあるメールアドレスまでお願いいたします。

改版履歴

V.0.1 1999/5/8 FPANAPC 初版公開

V.0.2 1999/5/12 完全停止インプリ

V.0.3 1999/5/18 停止ー>速度低下に機能変更

V.0.4 1999/5/26 速度低下方法を変更,アイコンに速度表示追加

V.0.5 タイトルバーでの設定変更への対応

V.0.6 電源状態での設定変更への対応

V.0.7 IDLE状態でのHALT命令の実行機能を追加

V.0.7b SUSPEND RESUME時には減速しないように修正

V.0.8a DISK読み出しの監視を追加、GetIdleを添付

V.0.8b VAIOでまともに動かない対策版

V.0.8c 0.8bでのデバッグ時に不安定になってた部分を修正 VxD内のSet_Async_Time_OutでのTimeoutProcでCancelを出さずに次を セットしつづけたのが原因でいろいろ出てた気がするので修正

V.0.8d Set_Async_Time_Out? をVM_TIME_OUTに変更・・・ わざわざAsyncまで使わなくてもそれなりに動きそうなのと、GetIdle      の数字が合わないため。  GetIdleとのインターフェースをクリアをGetIdle側でやるように変更し、  足し算の繰り上がりがややこしいので__int64を使うインターフェース  に変更。

V.0.8e 0.8dでしばらく落ち着こうと思ってたのにレジスタセーブし忘れて4時間   の短命版となりました、でそこを修正したのがこいつ

V.0.9a HDDドライブ停止機能追加、結構無茶をするので、デフォルトINHにした。

V.0.9b えーっと、なんだっけ? FULLPOWERをインプリ      LV_EX_GRIDLINES とLV_EX_FULLROWSELECTをつけた。  いまだにメニューにチェックがつけられない。なんでだ?

V.0.9c 2度目の起動で設定画面、Haltdnoapm.vxd同梱

V.0.9d β版でおとさたないので、とりあえずこっちを正式版にいれかえ

s.oowada