sc-02croot @ ウィキ

Governor


GovernorやI/Oスケジューラの違いが気になったので、以下のスレッドを素人適当訳。

http://forum.xda-developers.com/showthread.php?t=1242323

ここに書かれていることが正しいとは限りません。参考にしつつ、自分にあったものを選択してください


Governorとは?

Goverorは、CPU周波数を制御するものです。
その名前が示すように、いつ最大周波数・最小周波数・中間の周波数にするかを決めます。
また、どのくらい速く最大/最小周波数にするか?
安定性と引き換えに全体的な滑らかさを取るか?
バッテリーを維持するために周波数を上げるのに時間をかけるか?
これら色々をやっているのがGovernorです。


各Governorの特徴

  • Ondemand

Ondemandは、バッテリーとパフォーマンスのちょうどいい妥協点を提供するバランスのよい設定のため、
デフォルトの選択肢となっています。しかし、サスペンドのプロフィールを持たず、また性能は少し不十分です。

  • OndemandX

Ondemandにサスペンド/復帰のプロフィールを加えたものです。

  • Powersave

Powersaveは最大クロック周波数を最小クロック周波数と同じにします。明らかに、日常的に使用するのは不可能。
ふつう、Ondemandと一緒にSetCPUでスクリーンOFFのプロフィールとして使用します。

  • Userspace

Userspaceは、周波数を手動で設定できます。正直なところ、私はこれを使わないし、これを使っている人を
聞いたことがありません。I'm completely off on how it fares or if it even works or any of its kinks.

  • Conservative

Conservativeは(周波数変化の)傾斜において、遅いOndemandです。
例えば、あなたが電話の電源を入れて電話とのやりとりを始めたとき、Ondemandが最大クロックまで周波数を上げる速さをxとします。
Conservativeが最大クロックまで周波数を上げる速さはx/2となります。
素早い周波数変化はより多くバッテリーを消費するので、Conservativeは性能は悪いがバッテリー消費にとっては良いものです。

  • Performance

Powersave governorを陰とすれば、これは陽です。最小クロック周波数を最大クロック周波数と同じに設定します。
つまり、電話は常に最大出力となります。ふつう、充電中やPC接続時に使われます。明白に、日常的には使用できません。

  • Interactive

Conservativeが遅いOndemandとすれば、Interactiveは速いOndemandです。周波数変化がわずかに速いため、
よりサクサクとなり、バッテリー消費はほんの少し増加します。このGovernerは2010年は一番人気でした。

  • InteractiveX

要約(ソースコードのコメント)から見ることができるように、これはimoseyonが調整したInteracitveです。
電話がスリープ中の周波数を最小にロックするやり方として、SetCPUのDirtyなやり方の代わりに、
このGoverner自身がClearerなやり方で行います。また、スリープ解除のとき、より良く周波数変化を管理します。
基本的に、Interactiveと同じ性能を持ちつつ、よりバッテリーが長持ちします。

  • Smartass

これは、人気上昇中で2011Q3-Q4(9月~12月)のお気に入りとなるでしょう。SmartassはInteractiveを元にしていますが、
調整だけでなく、内蔵のプロフィールを持っています。
最近、Erasmuxはv2をリリースし、皆からの評判は上々です。
http://forum.xda-developers.com/showpost.php?p=7853775&postcount=2

↑リンク先に更なる情報があるのでオススメ。
以下、訳者補足。SmartassとSmartassV2の違い。
https://github.com/intersectRaven/ir-kernel/pull/1

最近、私はSmartassをリライトし、新しい実装の"SmartassV2"は全てのレベルで改善しているはずです。
SmartassV2は周波数面でよりよく振る舞い、ソースコードはより綺麗になり、新しいデバイスでより良く
調整されているでしょう。=

  • Smoothass

Erasmuxのもう一つのGovernor。私の知る限りでは、Smartass V1をよりアグレッシブに周波数変化させるようにしたもの。
つまりは、より高性能でサクサクだけど、バッテリーの持ちは悪くなります。

  • BrazilianWax

間違っていたら訂正して欲しいけど、基本的にSmoothassと同じです。

  • SavagedZen

バッテリーと優れたパフォーマンスの両立を目指して多くの変更を行った、SmartassベースのGovernorです。
私の考えでは、これは成功しています。私は古いデバイスでこれを使用しましたが、全体的にバランスのとれた、
非常によいGovernorです。

  • Minmax

このGovernorはとても嬉しいサプライズでした。これはConservativeのadaptationですが、おそらく全てのGovernorの
中で最高のパフォーマンスを持っています。
SmartassV2よりバッテリーの持ちは短いかもしれませんが、サクサク感では今までで一番いいと感じました。
SmartassV2を使って結論を下すまで、私のお気に入りでした。

  • Scary

これは一風変わったGovernorです。Ondemandより周波数変化が遅いConservativeを元にしていますが、
最も周波数変化の速い部類にあるSmartassの要素を持っています。いくらかの人はこれが好きらしいですが、
悲しいかな私自身は試してみたことがありません。.

  • まとめ:

(私の愚見では)
バッテリー:   1位 - InteractiveX | 2位 - Smartass | 3位 - SavagedZen
パフォーマンス: 1位 - Minmax    | 2位 - Smartass | 3位 - SavagedZen

以下、wikiの人より。

  • Lagfree

http://forum.xda-developers.com/showthread.php?t=1272933 より、
このドライバはOndemandにかなり似ています。
Ondemandと比べた(ソースコード、および目的の)違いは、バッテリー駆動環境により適した最適化です。
周波数はすぱっと増加(減少)します、というより、 速度が必要なときは最大周波数にジャンプします。

  • Lulzactive

Lulzカーネルやほむほむカーネルに搭載のGovernor。概要は下記ブログ参照。
http://tegrak2x.blogspot.com/2011/11/lulzactive-governor-v2.html

Interactiveを元に、Smartassにインスパイアされて作ったとのこと。
ロジックが書いてありますが、結局どうなのかはよくわかりませんorz

  • Intellidemand

Ondemandの調整版で、バッテリーに優しい、らしい。
あまり情報がなくてよくわからないが、とくに良い評判は見ない。


Governerの変更

  • SetCPUの場合

起動した画面の真ん中に設定リストがあるので、選択。

  • Tegrak Overclockの場合

起動して[Scaling]を選択すると下の画面になるので、選択して[Apply]で適用。


参考リンク

https://github.com/CyanogenMod/cm-kernel/blob/android-msm-2.6.37/Documentation/cpu-freq/governors.txt