Kekuatan utama pada OS Android adalah
keterbukaan dalam hal sourcecode untuk pengembangan software tersebut, sehingga
kita bebas memberikan berbagai macam modifikasi pada ROM bawaan, bahkan membuat
ROM sendiri dari awal.
Kebanyakan Stock ROM yang sudah dimodif atau
CusROM biasanya menyediakan kernel yang mempunyai banyak CPU Governor, dalam
arti sendirinya adalah sebuah kemampuan untuk
mengatur kernel dalam melakukan penyesuaian kecepatan CPU sesuai dengan
kebutuhan/skema yang ada.
Ada beberapa macam CPU Governor yang perlu
kita ketahui dan bisa kita terapkan pada device kita sesuai dengan kebutuhan :
1. OnDemand Governor:
Governor ini memiliki pemicu untuk
meningkatkan clockspeed dengan kecepatan maksimum yang ditetapkan oleh
pengguna. Jika beban CPU yang digunakan oleh pengguna mereda, maka OnDemand
perlahan akan mundur ke bawah melalui steppings frekuensi kernel sampai
mengendap pada frekuensi serendah mungkin, atau pengguna menjalankan task yang
membutuhkan ramp.
OnDemand memiliki fluiditas antarmuka yang
sangat baik karena frekuensi bias yang tinggi, tetapi juga dapat memiliki efek
yang relatif negatif pada baterai dibandingkan governor lainnya. OnDemand
umumnya dipilih oleh produsen smartphone karena teruji, handal, dan hampir
menjamin kinerja sehalus mungkin untuk telepon.
2. Performance Governor:
Skema ini mengunci CPU pada frekuensi
maksimum. Meskipun hal ini mungkin terdengar seperti ide yang tidak baik, namun
ada bukti yang berkembang menunjukkan bahwa menjalankan CPU pada frekuensi
maksimum terus menerus malah memungkinkan kecepatan menuju fase idle. Fase idle
adalah proses dimana telepon menyelesaikan tugas yang diberikan, seperti
sinkronisasi email, dan mengembalikan CPU ke keadaan daya terendah yang sangat
efisien. Hal ini masih memerlukan pengujian yang ekstensif, dan kernel yang
tepat untuk menerapkan CPU Governor ini.
3. Powersave Governor:
Kebalikan dari Performance Governor , Governor
ini mengunci frekuensi CPU di set frekuensi terendah oleh pengguna. Dampak
positifnya adalah hebatnya daya tahan baterai HH kita dengan mengorbankan
kecepatan akses/baca system.
4. Conservative Governor:
Skema ini membiaskan CPU untuk memilih kecepatan
CPU terendah sesering mungkin. Dengan kata lain, beban yang lebih besar dan
lebih kuat harus ditempatkan pada CPU sebelum skema ini diminta untuk menaikkan
kecepatan CPU. Performa yang ada tergantung dari bagaimana pengembang telah
menerapkan Governor ini, dan kecepatan CPU minimal yang dipilih oleh pengguna, skema
ini dapat memperkenalkan kinerja berombak. Di sisi lain, skema ini berefek baik
untuk baterai.
5. Userspace Governor:
Governor ini, sangat langka bagi dunia
perangkat mobile, memungkinkan setiap program yang dijalankan oleh pengguna
untuk mengatur frekuensi operasi CPU. Governor ini lebih umum di pakai pada
server atau PC desktop dimana sebuah aplikasi membutuhkan otorisasi untuk
mengatur CPU clockspeed.
6. Min Max
Governor ini hanya memanfaatkan frekuensi kecepatan
min &max CPU berdasarkan beban kerja tidak ada frekuensi menengah yang
digunakan.
7. Interactive Governor:
Skema ini memberikan CPU skala kecepatan secara
dinamis dalam menanggapi beban kerja oleh
pengguna. Skema ini secara signifikan lebih responsif daripada OnDemand, karena
lebih cepat memposisikan CPU pada skala maksimum. Secara teknis perbedaan
antara Interactive Governor dan OnDemand adalah jangka waktu yang diperbolehkan
oleh Interactive untuk memacu kinerja CPU secara maximal lebih lama daripada
OnDemand (demi performa). Tentunya hal ini berpengaruh terhadap performa
baterai, dan skema ini mengasumsikan bahwa ketika layar aktif maka pengguna
akan segera menggunakan aplikasinya dan secara otomatis akan mengatur CPU pada
kecepatan maximumnya.
Jadi pada OnDemand pengaturan skala frekuensi
CPU diperlakukan layaknya antrian, sedangkan pada Interactive pengaturan skala frekuensi
CPU menggunakan rangkaian/jalur yang diberikan batasan waktu oleh developer, kelebihan
ini pula yang membuat Interactive bisa menghilangkan masalah “frequency
bouncing” yang ada pada OnDemand. Dimana dengan pengaturan jangka waktu ini
skema ini lebih bisa mendayagunakan frekuensi menengah CPU yang ada.
8. InteractiveX Governor:
InteractiveX governor secara garis besar berdasarkan
pada Interaktif Governor, namun ditingkatkan lagi dengan parameter waktu agar
terjadi keseimbangan yang lebih baik antara baterai vs kinerja. Kelebihan lain
dari skema ini adalah kemampuan untuk mengunci kecepatan CPU pada posisi
terendah saat layar mati.
9. Lagfree:
Lagfree mirip dengan OnDemand. Perbedaan
utama adalah optimalisasi agar lebih hemat baterai. Frekuensi menurun dan
meningkat dengan sangat halus, tidak seperti ondemand yang melompat ke frekuensi
100% terlalu sering. Lagfree tidak melewatkan setiap sela frekuensi ketika
meningkatkan frekuensi ke atas atau ke bawah. Perlu diingat ada kebutuhan akan
sumberdaya secara mendadak, lagfree akan sedikit mengecewakan karena harus
menaikkan frekuensi CPU secara bertahap. Beberapa pengguna melaporkan bahwa
pemutaran video menggunakan Lagfree Governor sedikit terputus-putus.
10. SmartassV2:
Versi 2 dari governor dari Erasmux. Governor ini
berusaha memberikan “frekuensi yang ideal”, dan ramp up yang lebih agresif
untuk “frekuensi ideal” dan berkurang setelah tidak dibutuhkan. Menggunakan
frekuensi yang ideal berbeda untuk layar dan layar mati, dan memposisikan skala
tersebut dengan sangat cepat. SmartAssv2 tidak memiliki batas atas ketika layar
mati seperti SmartAss. Jadi semua sela frekuensi yang ada bisa digunakan baik
ketika layar mati maupun saat laya hidup.
11. Smartass
Didasarkan pada konsep Interacive Governor.
Kinerja dari skema ini setara dengan Minmax Governor dan sedikit lebih
responsif. Daya tahan baterai cukup baik namun sulit untuk dihitung secara
tepat. Skema ini lebih banyak menggunakan frekuensi minimum saat layar
mati/standby.
12. Scary
Perpaduan antara Conservative Governor dengan
SmartAss fitur, skema ini membatasi frequensi yang terlalu tinggi dengan tujuan
untuk mendapatkan masa pakai baterai terbaik dengan kinerja yang layak.
13. Brazilianwax:
Mirip dengan smartassV2. Ramp yang lebih
agresif , kinerja jadi lebih, baterai kurang
14. SavagedZen:
Governor ini berbasis smartassV2. Mencapai
keseimbangan yang baik antara performa & baterai dibandingkan dengan
brazilianwax.
15. Lazy:
Governor dari Ezekeel pada dasarnya
adalah sebuah ondemand dengan min_time_state parameter tambahan untuk menentukan
waktu minimum CPU tetap pada frekuensi yang ada sebelum scaling up / down. Ide
di sini adalah untuk menghilangkan ketidakstabilan yang disebabkan oleh perubahan
frekuensi yang cepat pada Ondemand Governor. Lazy juga mempunyai parameter maximum
ketika layar mat, dimana ketika fungsi ini
berjalan governor akan memilih frekuensi maximal ketika layar mati.
16. Lionheart:
Lionheart berbasis Conservative Governor yang didasarkan pada
sumber Update3 Samsung.
Perilaku Governor ini mirip dengan Performance Governor, kelemahanya adalah
memakan banyak daya pada batere, sehingga daya batere akan semakin berkurang
dalam waktu relatif cepat.
17. Smoothass
Versi yang lebih agresif dari SmartAss, dimana ramp
up/down-nya sangat cepat. Namun skema ini menjaga frekuensi maximum saat idle/asleep
lebih rendah lagi. Secara teori seharusnya lebih baik dari SmartAss, namun
banyak juga yang beranggapan skema ini sama dengan SmartAss.
X Series
OnDemandX, InteractiveX and ConservativeX secara tidak
resmi adalah pembaruan dari OnDemand, Interactive and Conservative. Mereka
berusaha untuk memperbaiki kekurangan pada versi lama dan menambahkan fitur
baru (profil saat layar tidur seperti pada SmartAss. Pada versi terbaru untuk
processor multi inti, skema ini akan menon-aktifkan beberapa inti saat layar
mati/sleep state (secara dramatis menambah umur baterai).
Seharusnya versi ini menghasilkan performa dan ketahanan
baterai yang lebih baik daripada versi aslinya. Tapi bisa juga bersinggungan
dengan Governor aslinya jika ada dalam satu kernel