精华 | |
金钱 | BA |
威望 | 点 |
贡献值 | 点 |
爱心 | 点 |
经验 | 点 |
注册时间 | 2013-3-18 |
最后登录 | 1970-1-1 |
在线时间 | 小时 |
| |
| |
| |
|
楼主 |
发表于 2014-1-5 20:24
|
显示全部楼层
本帖最后由 davidlone 于 2014-1-5 20:28 编辑
这个1.4G不是最高频率,最高频率是2G,1.4G只是达到阀值时cpu马上升高到的频率,而如果还是满足不了要求还是会上升至2G的。
这个参数随便改咯,只要是支持的频率,cpu相关的参数在/sys/devices/system/cpu这个目录下面,此cpu支持的频率分别是600M、900M、1.2G、1.4G、1.6G、1.8G和2.0G。
官方内核支持的cpu调度默认是interactive,它的特点是一旦有程序运行cpu使用率达到阀值(就是那个go_hispeed_load),那么cpu频率马上升到设定的“高频率”(就是设置的hispeed_freq), 然后再根据情况继续上升或下降频率。官方的hispeed_freq是2000000也就是2G也就是此cpu的最大频率,意味着cpu一旦“开动”就上升到2G的频率,这当然对流畅性是有好处的,但是可能会多耗电咯。
反编译framework-res.apk后有个power_profile.xml,这里面有给出cpu的功率参考值(如果是准确的话):
- <?xml version="1.0" encoding="utf-8"?>
- <device name="Android">
- <item name="none">0</item>
- <item name="screen.on">260</item>
- <item name="screen.full">590</item>
- <item name="bluetooth.active">40</item>
- <item name="bluetooth.on">3</item>
- <item name="wifi.on">2</item>
- <item name="wifi.active">90</item>
- <item name="gps.on">70</item>
- <item name="radio.active">320</item>
- <item name="radio.scanning">70</item>
- <array name="radio.on">
- <value>3</value>
- <value>3</value>
- </array>
- <array name="cpu.speeds">
- <value>2000000</value>
- <value>1800000</value>
- <value>1600000</value>
- <value>1400000</value>
- <value>1200000</value>
- <value>900000</value>
- <value>600000</value>
- </array>
- <item name="cpu.idle">6</item>
- <array name="cpu.active">
- <value>415</value>
- <value>328</value>
- <value>273</value>
- <value>223</value>
- <value>187</value>
- <value>153</value>
- <value>128</value>
- </array>
- </device>
复制代码 可以看出cpu频率在2G和1.4G时功率比是415:223,差别还是挺大的(当然屏幕还是耗电最大的,亮度开满时功耗有590)。所以呢我就将这个参数适当调低了点。(其实我觉得改成1.6G可能更合适。)
说几句题外的:
xda论坛上那个自定义内核的默认cpu调度为interactiveX2,这个和官方interactive最大的区别就在于X2多了个“情景模式”,比如锁屏时cpu频率也锁定在最低值。
另外xda系列rom的内核好像有点小问题,不然我就换它那个内核了。m8和m9两个rom里面的内核一直都有随机性重启的bug,我遇到过几次,手机在无征兆的情况下自动重启,不管开屏还是锁屏,这个问题论坛上也有人反映,而最新的1月1号rom里面的内核作者明确说了修复了重启的问题,但是我又发现了一个隐蔽的问题(我反映了但还未回复):就是手机一旦进入深度睡眠后然后在开屏使用就会导致一个cpu核心关闭(本来是单核cpu但是超线程相当于双核),这一点从/sys/devices/system/cpu下面相关的文件可以看出,其中一个cpu已经处于offline的状态,用相关监测软件可以看到这个cpu核心占有率一直为0,另外用性能测试软件也能看出区别,cpu测试部分分数有比较大的下降。
|
|