Android的CPU频率并非一成不变,会因应用程序所需而调整频率,通常会视乎CPU载入百分比而升/降频,在特定时间再检查是否升/降。这依赖于调速器Governor。我仅针对几种最常见模式做简要说明:
1. msm-dcvs(动态调整时脉与电压):
MSM代表芯片前缀,DCVS代表Dynamic Clock and Voltage Scaling的缩写。这是高通设计的一个更好的利用新的芯片功能的模式,能够非常高效并且范围广泛地动态的节频率和动态调节电压(DCVS),它支持的三种模式:待机模式、处理中等需求的任务的模式以及处理高需求的任务的模式。一个Krait架构的CPU可以流畅地从低功耗、低泄漏模式转换到超高速性能。我目前用的是这个策略,表现良好。不过,XDA论坛报告三星S4(CPU是MSM8960)使用这个策略会瞬间死机,经查其内核参数CPU_OFFSET从1开始,而此策略要求CPU偏移从0开始,目前尚不清楚该调度策略初始化的真实条件,详情请参考XDA论坛
2. ondemand(按需模式):
按需调节cpu频率,不操作手机的时候控制在最低频率,滑屏或进入软件后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平。是一种在电池和性能之间趋向平衡的默认模式。
3. performance(高性能模式):
始终以CPU最高频率运行,即使系统负载非常低cpu的频率也为最高。性能很好,因为CPU本身不需要资源去调整频率,但是电量消耗较快,温度也高一些。XDA论坛的评价是过多使用此调度策略会损害你的手机。
4. powersave(省电模式):
始终以CPU最高频率运行,相当省电但系统响应速度慢,卡顿如家常便饭,你使用此策略后会不会忘了充电器在哪?
5. userspace(用户模式):
不是一个预设的调度策略,而是允许非内核守护进程或应用程序以root权限来控制CPU频率,因为SetCPU和NoFrills的存在,这个策略通常被认为是冗余和无用的,XDA论坛的评价是高度不推荐。
网友评论