咳。。。教程搬砖自小米论坛,理论米3米4米NOTE标准版通用,其他爪机自己看着办

完美解除小米4长时间使用锁核问题,完美优化性能模式和均衡模式,完美控制发热和电量消耗
我的做法不一定对,但我认为这是最好的优化性能模式与均衡模式的一种方法,大家可以借鉴下我的改法。


准备篇
root,re文件管理器和了解小米4的常用数据
高通801提供的可修改频率(从配置文件复制过来的,不要改成其他数值)
300000 422400 652800 729600 883200 960000 1036800 1190400
1267200 1497600 1574400 1728000 1958400 2265600 2457600

小米4支持的cpu调节模式
ondemand(按需响应模式):按需调节cpu频率,不操作手机的时候控制在最低频率,滑屏或进入应用后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平。
interactive(交流循环模式):相对于保守模式,这个模式算是高性能版的ondemand,开始操作手机后,频率升至最高,可以带来更好的响应速度,空闲时缓慢降至设定最低频率。电量自然也是要多费一点。(系统响应最快,耗电多一些)
conservative(保守模式):有操作时提升cpu频率的速度较慢,空闲时迅速降频,所以名字叫保守模式,性能较低,省电程度略好,总体不推荐(系统响应快,耗电比I模式省)
performance(高性能模式):和省电模式相反,始终按设定最高频率运行,此模式亦无任何日常使用价值,果断舍弃(机器最流畅,耗电也最大)
powersave(省电模式):按设定最低频率运行,日常没有使用价值,除非配合setcpu情景模式,关屏睡眠时使用此调节模式

小米4支持的gpu调节模式
performance:GPU会固定工作在其支持的最高频率上,以追求最高性能。
powersave:GPU会固定工作在其支持的最低频率上,以追求最低的功耗。
ondemand:是一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的模式
msm-adreno-tz:高通自己开发的模式,机制和ondemand有点相似,但优于ondemand模式

小米4的cpu管理主要靠三个系统文件来配置
/system/etc/thermal-engine-8974.conf 均衡模式cpu温控调节文件
/system/etc/thermal-engine-perf.conf 性能模式cpu温控调节文件
/system/bin/changepowermode.sh cpu运行模式频率调节文件


温控篇
这里列举下cpu0在两种模式下的调控代码(cpu1.2.3的工作模式和cpu0一致)
1.均衡模式cpu温控调节文件
algo_type monitor
sensor cpu0
sampling 1000
thresholds 55000 60000 65000 70000 85000 105000 115000
thresholds_clr 50000 55000 60000 66000 80000 90000 110000
actions cpu cpu cpu cpu cpu cpu shutdown
action_info 1728000 1497600 1190400 1036800 960000 6528000 0

2.性能模式cpu温控调节文件
algo_type monitor
sensor cpu0
sampling 65
thresholds 115000
thresholds_clr 110000
actions shutdown
action_info 0

均衡模式:温度到达55℃频率降到1.728GHz,如果从55℃降会50℃就会解除限制。后面也是这样解读。这个文件代码可以改,一般是提高温度或者频率。
性能模式:没有对cpu进行温度控制,只是设置了一个保护温度。这也是为什么性能模式温度高的原因。


cpu运行模式频率调节篇
/system/bin/changepowermode.sh cpu运行模式频率调节文件
打开文本编辑,找到mi4性能模式(high)和均衡模式(middle)的代码,这里定义了性能模式和均衡模式的具体内容
1.High:性能模式 
"LEO "* | "MI 4"* | "MI NOTE"* | "VIRGO"*)
case "$powermode" in
"high")

echo 2457600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 2457600 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor

echo performance
> /sys/class/kgsl/kgsl-3d0/devfreq/governor

四核强制开启 频率固定在2.4576GHz
CPU模式performance
GPU模式performance
这就是单纯为跑分而设的模式,锁屏都会烫手,日常谁开性能模式谁傻
故在这里我们将其改为
CPU模式ondemand (ondemand是最常用的调控模式,也可用interactive模式)
GPU模式msm-adreno-tz(这个不改也行,改这是为控温省电。改为performance,gpu发热严重,影响温控,故建议大家不要用performance)

由于性能模式温控代码很坑爹,这里我给他重新编写了性能模式温控代码 thermal-engine-perf.conf
algo_type        monitor
sensor cpu0
sampling 1000
thresholds 61000 67000 73000 79000 85000 105000 115000
thresholds_clr 56000 62000 68000 74000 80000 90000 110000
actions cpu cpu cpu cpu cpu cpu shutdown
action_info 1958400 1728000 1574400 1190400 960000 6528000 0
改后效果:降低下性能模式的性能,但大幅度降低了它的发热和耗电,使性能模式可以长时间玩游戏不烫手。




2.Middle:均衡模式
未修改前小米4不重启长时间使用后,会自动休眠2个核心,甚至3个核心(均衡模式性能模式都不能唤醒),这就是小米4玩游戏卡的原因。

修改前,使用长时间后,锁核严重(一般锁2核,甚至锁3核),锁核后无法被唤醒,频率也被锁为1.036GHZ,重启会短暂解锁。


故均衡模式的修改,我主要是使用性能模式代码stop mpdecision关闭mpdecision,使四核强制开启(mpdecision为高通的cpu核心热插拔文件,主要是控制cpu核心的开关)。另再加入一段具体内容为是加了一段启动已休眠cpu的代码(可加也可不加):
echo 1                                    > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online

改后效果:均衡模式玩游戏不卡(实测玩王者荣耀不掉帧),电量消耗没什么变化,控热优秀

大家也许会担心四核全开耗电会增加,但你们要知道
耗电量:四核低频运行<两核高频低频运行<四核高频运行,而且cpu频率越高耗电量呈几何倍数增加。
举个例子:运行一个大型程序,没解锁核心前需要2核1.7GHZ运行,解锁后就只需4核0.9GHZ就可流畅运行,后面4核运行是要比前面省电的。
故只要你运行手机,四核低频全开运行是不怎么耗电的。

修改文件下载篇
这里专门为大家准备好了已经修改完毕的文件,app无法下载的话打开浏览器下载
cpu调节文件(所有文件均衡模式都已4核全开)
1.性能模式常用运行频率1574mhz到1958mhz,运行模式interactive,进一步提高升频速度,无运行时低频省电,运行软件频率迅速上升,性能更强劲。
均衡模式减慢升频速度,进一步优化,无操作频率300到960,平时轻度使用频率不会超过1190,游戏等大型软件一般在1497到1574,极少达到1728(实测王者荣耀配置点到中,帧数稳定30)
这个代码兼顾了性能发热耗电(楼主说这也许是他写过的最好的代码了)
文件大小:2.00K下载次数: 18上传时间: 2016-07-11 07:55



(配合均衡温控专用文件1使用)
7月5号更新内容:代码优化,修复频率偶尔不受调节bug和降频缓慢bug(配合最新性能均衡温控文件使用)
2.性能模式常用运行频率1497mhz到1958mhz,运行模式ondemand
文件大小:1.00K下载次数: 11上传时间: 2016-07-11 07:56


温控文件
均衡模式温控修改文件,那些抱怨锁核的可以自行替换,替换后锁核现象有所好转。
文件大小:1.00K下载次数: 5上传时间: 2016-07-11 07:57



温控文件
想让性能模式不发烫,这个文件就必须加上去,和前面修改文件配合使用
文件大小:2.79M下载次数: 8上传时间: 2016-07-11 08:02


大家可用该软件的打开mpdecision功能恢复自动锁核
文件大小:112K下载次数: 10上传时间: 2016-07-11 08:03


记得把悬浮窗权限打开

覆盖系统文件
/system/bin/changepowermode.sh
/system/etc/thermal-engine-8974.conf
/system/etc/thermal-engine-perf.conf
保持权限与源文件一致,并且将设置中的流畅与效果选择流畅模式,改完重启手机。

注意篇
1.线刷和卡刷完整包会重置该文件,每次升级完需要重新替换。完全不影响ota升级,可以放心使用
2.关于大家替换文件后极少出现的3核0mhz情况,我具体测试了下,发现很多情况下并不是锁核了,而是cpu 频率未显示出来,在手机跑分检测和玩游戏时可以明显感觉到其实是4核同时运行的。重新启动手机就可解决。(已知在充电等导致手机温度升高的情况容易锁核)
3.更改完3个文件后一定要保持权限与源文件一致,重启后大约1分钟内cpu频率会升得很快很高,过1分钟后频率就会恢复正常,这属于正常情况。

4.关于锁核,我想说一下锁核主要是由2个温控文件导致的:一个cpu温控文件,另一个是电池温控文件。那些反馈使用一段时间锁核的大部分是因为电池温控锁的核。如果无法找到电池的温控文件就无法根除锁核问题。
5.miui设置中的性能和效果选择流畅模式,效果模式会长时间维持高频不降