这里给大家简单得讲解以下YC得作用与使用教程等,以便让更多人能够学会使用这种强大的模块~
YC/Uperf模块介绍
这是一个Android用户态性能控制器,实现大部分内核态升频功能,并支持更多情景识别。
主要功能
- 根据识别的场景类型,动态设定参数控制性能释放,支持所有
sysfs
节点 - 支持动态绑定正在操作的APP的UI相关线程到大核集群
- 从Linux层面读取Android的触摸屏输入信号,识别点击和滑动
- 主动采样系统负载,识别例如APP启动的瞬间重负载
- 监听cpuset分组更新操作,识别正在操作的APP发生切换
- 监听唤醒锁更新操作,识别屏幕是否熄灭
- 监听注入到Surfaceflinger的hook发送的通知,识别渲染开始、滞后、结束
- 支持Android 6.0 - 12
- 支持arm64-v8a
- 支持Magisk方式一键安装,版本不低于20.4+
- 不依赖于Magisk,可以手动方式安装
- 除非SfAnalysis注入失败,大多数情况SELinux可保持
enforcing
- 不依赖于任何Android应用层框架以及第三方内核
- 为大多数热门硬件平台提供了调参后的配置文件
Uperf/YC下载地址:https://url97.ctfile.com/f/37869597-734919943-927b72?p=2015 (访问密码: 2015)
安装
Magisk/面具刷入模块(推荐):下载模块-打开“Magisk/面具”-模块-从本地安装-选择你下载得模块-刷入-重启-刷入成功
无Magisk/面具但有root手动安装:
- 如果你的设备无法安装Magisk,并且已经获取到ROOT权限
- 下载后手动解压缩,例如解压缩到
/data/uperf
- 修改
setup_uperf.sh
,run_uperf.sh
,initsvc_uperf.sh
权限为755 - 执行
setup_uperf.sh
完成安装,检查输出信息是否有报错 - 执行
run_uperf.sh
启动uperf,检查输出信息是否有报错 - 打开
/data/cache/injector.log
,检查sfanalysis注入是否成功 - 如果关联自启动到第三方APP,设置在开机完成后执行
run_uperf.sh
- 如果关联自启动到系统启动脚本,插入
sh /data/uperf/initsvc_uperf.sh
- 重启后查看
/sdcard/yc/uperf/uperf_log.txt
检查uperf是否正常自启动
性能模式切换
修改启动时的默认性能模式
- 打开
/sdcard/Android/yc/uperf/cur_powermode.txt
- 修改
auto
, 其中auto
为开机后使用的默认性能模式,可选的模式有:auto
根据正在使用的App进行动态响应balance
均衡模式,比原厂略流畅的同时略省电powersave
卡顿模式,保证基本流畅的同时尽可能降低功耗performance
费电模式,保证费电的同时多一点流畅度fast
性能模式,相对于均衡模式更加激进
- 重启完成更改
当然该模块刷入之后默认就是auto,所以没有其他需求可以不做出更改
启动完成后切换性能模式
方法1:
执行sh /data/powercfg.sh balance
,其中balance
是想要切换到的性能模式名称。
方法2:
安装Scene为APP绑定对应的性能模式。
常见问题
Q:是否对待机功耗有负面影响?
A:Uperf的实现做了不少低功耗的优化,自身运行的功耗开销很低。此外预制配置文件的待机模式中,减少了待机时唤醒的核心数量并使用了保守的升频参数。待机功耗的优化主要靠减少唤醒时长比例,在此基础上Uperf可进一步降低一点待机功耗。
Q:为什么使用了Uperf还是很费电?
A:SOC的AP部分功耗主要取决于计算量以及使用的频点。Uperf只能控制性能释放,改进频点的选择从而降低功耗,如果后台APP的计算量很大是无法得到显著的续航延长的。这一问题可以通过Scene工具箱的进程管理器来定位。
Q:是否需要关闭系统的温度控制?
A:系统温度控制是一种硬件保护措施,或者用于改善高负载下的用户体验。大多数情况下无需关闭它,如果你遇到性能严重受限的情况,例如运行竞技游戏CPU最大频率限制在1.4Ghz,请提升温控介入的阈值或者关闭系统温度控制。
Q:Uperf和Scene工具箱是什么关系?
A:这两个软件独立运作,没有互相依赖。Uperf实现了接口可供Scene工具箱调用,例如性能模式切换以及分APP性能模式。如果不安装Scene工具箱也可以实现性能模式切换,详情见使用方式。
Q:是否还需要关闭系统的performance boost?
A:Uperf模块内脚本已经关闭了大部分主流的用户态和内核态升频,如果有非常规的升频需要用户自己关闭。
Q:我遇到了一些奇怪的系统故障,是怎么回事?
A:Uperf在大多数平台可以正常工作,在测试阶段收集到了以下可能发生的故障:
- 桌面启动器不响应触摸。这个目前只在MIUI 12遇到,如果遇到了此问题请删除
/data/adb/modules/uperf/enable_sfanalysis
- 触摸屏报点间断丢失。请检查是否使用了自动跳过之类的APP,特别是支持坐标点击的
- 睡死。用户态应用程序理论上不会影响系统稳定性,请更换为官方内核和ROM
Q:使用Magisk安装时提示not supported
,这是为什么?
A:此硬件平台没有预制的配置文件,可能需要自行适配。
暂无评论内容