droidroid

android好きのandroidブログ コメント大歓迎です

Nexus5が欲しいです・・・
基本的に転載・リンクはフリーですが、一声かけてくださるとうれしいです。。

CPUガバナーについての考察(要root)

今回はCPUガバナーについての考察です。
root化した端末ではカーネルの設定を変更したり
カーネルそのものを変更することもできます。(カスタムカーネル)



※root化前後の操作は自己責任でお願いします。
不具合・故障等が発生しても当ブログでは責任を負いません。

カーネルの設定については
Trickster MOD Kernel Settingsというアプリが便利です。

Trickster MOD Kernel Settings
http://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod&hl=ja


さて今回考察していくCPUガバナーですが、まずは単語の簡単な意味からです。

・CPU
これはご存知の方も多いと思いますが、スマートフォンの頭の部分ですね。
パフォーマンス・電池持ちなどかなり重要な要素の一つです。


・ガバナー
過去に「I/Oスケジューラー」について考察しましたが、その「スケジューラー」のようなもので
「(CPUを)どのように制御するか」というものです。


ガバナーには様々な設定があるのですが基本的に

「パフォーマンス」と「電池持ち」が対立するもの

と考えてください。
パフォーマンスを高めれば電池持ちが少し悪くなりますし
逆に電池持ちを上げればパフォーマンスは少し下がります。

ですので、完璧な設定は(今のところ)ありません。
自分の環境にあった、ベストな設定を見つけてください。


ではガバナー設定の具体的な紹介に入りましょう。

①ondemand
②conservative
③performance
④powersave
⑤userspace

基本的にカーネルに実装されているのは上記5種類になります。


①ondemand
バランスタイプのガバナーです。
使用状況に応じて、周波数を段階的に上下します。

②conservative
ondemandの動作を少しゆっくりにしたものです。
ondemandよりもパフォーマンスは落ちますが、その分電池持ちは良くなります。

③performance
最小/最大周波数が常に最大値になります。電池持ちが極端に悪くなってしまいます。
ベンチマーク測定時などに使用しますが、常用は難しいでしょう。

④powersave
performanceの逆で常に最小値になります。
こちらも常用は難しいでしょう。

⑤userspace
周波数を全て手動で制御するものです。
スマートフォンには不向きです。

ということで、通常のカーネルであれば
①ondemandもしくは②conservativeで運用するのがいいかと思います。



さて、上記とは別にカスタムカーネル等を導入すると
さらに利用できるガバナーが増えます。
細かい数は非常に多いので、系統でまとめます。


⑥interactive系統
ondemand、conservativeに改良を加えたもので、更にパフォーマンスを重視したものです。
最近ではこれに更に改良を重ねた「smartass系統」と呼ばれるものも出てきています。

⑦minmax系統
周波数を最大値と最小値の2種類のみ使用するものです。
周波数の切替負荷が大きいので、パフォーマンスは出ますがやや電池持ちは悪いです。
「lagfree」という中間周波数をあわせて使用する改良型が存在します。

⑧hotplug系統
デュアルコア以上の端末で真価を発揮します。
特徴としては、CPUへの負荷が小さい時に未使用のCPUをオフにしてくれる点です。
これにより、電池持ちが改善します。


さて、上記からまとめていきましょう。(userspaceは除く)

◎パフォーマンス
performance > minmax系統 > interactive系統 > hotplug系統+ondemand > conservative > powersave

◎電池持ち
powersave > conservative > hotplug系統+ondemand > interactive系統 > minmax系統 > performance

となるかと思います。

CPUガバナーの設定ができるアプリはいくつかありますが
プロファイルの作成ができる等の点で「SetCPU」というアプリが一番いいと思います。
(私はTrickster MOD Kernel Settingsを使用しています。)

・SetCPU
http://play.google.com/store/apps/details?id=com.mhuang.overclocking

上記の特徴を参考にしながら、このアプリでプロファイルを作成していくのがいいかと思います。

(プロファイルの作成例)
・画面オフでpowersave
・ゲーム起動時はperfomance
・通常時はondemand
・・・etc


快適な端末にするのも、電池持ちを良くするのも
CPUのガバナー次第、という場合が多いです。

上記内容が参考になれば幸いです。