Releases: yc9559/uperf
DEV 21.02.28
HMP平台(15份配置文件):
- sdm615/616/650/652/625/626/660/636/82x/835
- exynos7420/8890/8895
EAS平台(29份配置文件):
- sdm625/626/660/636/82x/835
- sdm665/675/710/712/730/730g/750g/765/765g/768g/775
- sdm845/855/855+/865/865+/870/888
- exynos8890/8895/9810/9820/9825
- dimensity720/800u/800/820/1000/1000l/1000+
- Helio G90T
【测试重点】
- 检查本模块是否能够正常安装/运行
- 检查使用时的频率选择,体验流畅度和能耗
- 动态高刷默认没有启用,由于OLED屏幕特性不同刷新率色彩参数不同,切换刷新率可能带来可感知的色彩变化。配置文件位于
/sdcard/Android/cfg_uperf_display.txt
【更新日志】
- 本次更新合并了20+个commit
- 新增:静止/活动/交互3档动态刷新率,支持分应用配置,底层方案同S20RefreshRateControl
- 新增:功能模块与状态转移配置项,开放uperf核心部分配置参数
- 新增:当前顶层APP包名识别,用于动态刷新率分应用配置
- 新增:预制配置增加Exynos8890(EAS)
- 修复:按住屏幕时
interaction
动作自动退出导致掉帧 - 修复:配置生成器的错误导致使用EAS的a53小核被错误锁在最低频
- 修复:SsAnalysis由于部分设备不存在
/system/lib/libhwbinder.so
无法正常工作 - 修复:动态刷新率切换时由于子进程继承了重定向到log文件的fd,被SELinux阻止无法设置刷新率
- 修复:非magisk方式inject动态库路径不正确
- 改进:缩短SsAnim活跃时长,使其仅在性能关键场合启用,降低功耗
- 改进:取消普通高优先级任务固定在大核,避免负载过于集中导致卡顿
- 改进:重负载动作为mtk和三星平台考虑
sched_boost
替代方案 - 改进:取消静态更改cpuset的cpumask,全部交给uperf动态设置
- 改进:取消内核线程的亲和性和优先级设置,感知不明显
- 改进:取消隐式SELinux操作避免误解,尽管这可能导致SfAnalysis和SsAnalysis注入失败
- 改进:减少ANDR-PERF报错信息
下载:
方法一:点击下方"Assets"中的uperf-dev-21.02.28.zip开始下载
方法二:蓝奏云镜像
DEV 21.02.14
HMP平台(15份配置文件):
- sdm615/616/650/652/625/626/660/636/82x/835
- exynos7420/8890/8895
EAS平台(28份配置文件):
- sdm625/626/660/636/82x/835
- sdm665/675/710/712/730/730g/750g/765/765g/768g/775
- sdm845/855/855+/865/865+/870/888
- exynos8895/9810/9820/9825
- dimensity720/800u/800/820/1000/1000l/1000+
- Helio G90T
【测试重点】
- 检查本模块是否能够正常安装/运行
- 检查使用时的频率选择,体验流畅度和能耗
【更新日志】
- 本次更新合并了40+个commit
- 新增:ssanalysis分析器,监测system_server过渡动画,减少页面切换掉帧和滞后感
- 新增:重构sfanalysis状态跟踪,即使app/sf的偏移量不同也能准确跟踪,减少卡顿
- 新增:hint状态机使用数据驱动,未来版本开放配置文件自定义
- 新增:UxAffinity=2在掉帧发生前动态迁移主线程到超大核,减少掉帧
- 新增:三星exynos982x定制频率范围knob,修复睡死问题,感谢Saumer7(github)的思路
- 新增:初始化过程日志存放在/sdcard/Android/log_uperf_initsvc.log,便于诊断
- 修复:由于loadmonitor渲染检测误报率上升,使得滑动等hint提前退出,导致卡顿
- 修复:原有perfhal配置文件内容错误使得服务报错,导致软重启
- 修复:移除高通HMP平台不存在的负载迁移knob
- 修复:系统界面主线程被错误固定到小核执行超时,导致ANR
- 修复:开心消消乐主线程被错误固定到小核,导致卡顿
- 修复:android.bg可能会阻塞binder,此线程被错误固定到小核,导致卡顿
- 修复:surfaceflinger/app错误固定到小核,MIUI过渡动画中此线程执行超时,导致卡顿
- 修复:由于不正确的mask设置使得cnss驱动启动网卡执行超时,导致偶见WiFi无法启用
- 改进:使用uperf限制foreground不上prime,同时排除pinned中例外的桌面,减少耗电
- 改进:heavyload动作任务放置能力,负载能够立即放置到超大核并按需调频
- 改进:白名单优先级设置不高于音频类线程,减少音频卡顿
- 改进:线程分类器使用表驱动,改进代码可读性
- 改进:默认使用busybox for android ndk或者magisk的busybox
- 改进:安装脚本机型信息提示,减少误解
下载:
方法一:点击下方"Assets"中的uperf-dev-21.02.14.zip开始下载
方法二:蓝奏云镜像
DEV 21.01.31
【此版本用于收集反馈】
HMP平台(15份配置文件):
- sdm615/616/650/652/625/626/660/636/82x/835
- exynos7420/8890/8895
EAS平台(29份配置文件):
- sdm625/626/660/636/82x/835
- sdm665/675/710/712/730/730g/750g/765/765g/775
- sdm845/855/855+/865/865+/870/888
- exynos8895/9810/9820/9825
- dimensity720/800u/800/820/1000/1000l/1000+
- Helio G90T
【测试重点】
- 检查本模块是否能够正常安装/运行
- 检查使用时的频率选择,体验流畅度和能耗
【更新日志】
- 本次更新合并了20+个commit
- 增加:开放HMP平台支持
- 增加:支持骁龙750g/775/870、天玑720/800u
- 增加:与Qualcomm和MTK的perfhal共存,保持运行但是精简配置,避免一些离奇问题
- 修复:由于禁用perfhal后重负载下服务管理进程被阻塞后composer也被阻塞导致的卡顿
- 修复:由于重负载下perfhal被阻塞后composer也被阻塞导致的卡顿
- 修复:部分安卓虚拟机更改background中任务只能够使用cpu0导致严重卡顿
- 修复:小核过于拥挤导致音频卡顿
- 改进:关闭需求不强的stune低延迟设置,调度器任务放置更整齐
- 改进:system_server任务放置采用黑名单方式,减少未知线程限制在小核被阻塞导致卡顿
- 改进:不再限制Java内存回收线程运行在小核阻塞渲染管线,减少卡顿
- 改进:关闭强制负载均衡,避免亲和性设置失效
- 改进:下调unity游戏主线程性能余量的激进程度,降低一些耗电
- 改进:降低top-app中常规线程放置到大核的难度,减少卡顿
- 改进:MTK平台SOC的配置文件的命名可读性
下载:
方法一:点击下方"Assets"中的uperf-dev-21.01.31.zip开始下载
方法二:蓝奏云镜像
DEV 21.01.24
此版本用于收集反馈,支持的SOC有:
- sdm730/730g/765/765g/768g
- sdm845/855/855+/865/865+/888
- dimensity800/820/1000/1000l/1000+
- Helio G90T
【测试重点】
- 检查使用时的频率选择,体验流畅度和能耗
【更新日志】
- 本次更新合并了40+个commit
- 新增:适配骁龙888和Linux 5.4引入的uclamp
- 新增:仅允许后台与UX相关的线程运行在大核,减少大核唤醒
- 新增:固定全面屏手势动画相关的线程到大核且不被抢占,减少掉帧
- 新增:动态控制UI渲染管线相关线程到大核,减少掉帧
- 新增:优化基于Unity游戏线程放置的合理性,减少迷之掉帧
- 新增:CPU频点模糊匹配
- 新增:识别zygote,修复偏慢的APP冷启动
- 新增:重构动态Affinity,改善线程调度参数设置生命周期完整性
- 改进:恢复WALT EAS负载预测,修复选频过于保守
- 改进:加快HeavyLoad检测频率到20hz
- 改进:卡顿和均衡模式小核最低频使用尽可能低的值
- 修复:goodix和屏幕指纹动画线程被固定到小核,修复MIUI屏幕指纹解锁停顿太久
- 修复:SfAnalysis在MIUI 12.5初始化失败
- 修复:关闭高通perfd时拉高的DDR频率没有恢复导致空载高耗电
- 修复:sigwait遗漏信号导致状态卡在Sflag
- 修复:一个罕见的崩溃bug
下载:
方法一:点击下方"Asserts"中的uperf-dev-21.01.24.zip开始下载
方法二:蓝奏云镜像
DEV 21.01.04
此版本用于收集反馈,支持的SOC有:
- sdm730/730g/765/765g/768g
- sdm845/855/855+/865/865+
- dimensity800/820/1000/1000l/1000+
- Helio G90T
【测试重点】
- 检查MTK平台uperf的动态频率范围限制是否正常工作
【更新日志】
- MTK平台改用ppm接口动态控制频率范围
下载:
方法一:点击下方"Asserts"中的uperf-dev-21.01.04.zip开始下载
方法二:蓝奏云镜像
DEV 21.01.03
此版本用于收集反馈,支持的SOC有:
- sdm730/730g/765/765g
- sdm845/855/855+/865(lpddr4x/5)/865+(lpddr4x/5)
- dimensity800/820/1000/1000l/1000+
- Helio G90T
【测试重点】
- 检查MTK平台uperf的动态频率范围限制是否正常工作
- 测试流畅度与耗电的平衡效果如何
【更新日志】
- 修复MTK平台机型识别错误
- 修复Binder任务放置引起的动画掉帧
下载:
方法一:点击下方"Asserts"中的uperf-dev-21.01.03.zip开始下载
方法二:蓝奏云镜像
DEV 20210102
此版本用于收集反馈,支持的SOC有:
- sdm845/855/855+/865(lpddr4x/5)/865+(lpddr4x/5)
- dimensity800/820/1000/1000l/1000+
【测试重点】
- 检查MTK天玑平台上uperf是否可以如期工作
- 测试流畅度与耗电的平衡效果如何
【更新日志】
太多了,150+次commit,详细的介绍以后再写。
下载:
方法一:点击下方"Asserts"中的uperf-dev-20210102.zip开始下载
方法二:蓝奏云镜像
v1 (20200516)
支持如下平台:
- sdm615/616
- sdm650/652
- sdm625(HMP/EAS)
- sdm626(HMP/EAS)
- sdm660(HMP/EAS)
- sdm636(HMP/EAS)
- sdm82x(HMP/EAS)
- sdm835(HMP/EAS)
- sdm665
- sdm675
- sdm710/712
- sdm730/730g
- sdm765/765g
- sdm768g
- sdm845
- sdm855/855+
- sdm865/865+ lpddr4x/5
- exynos 7420
- exynos 8890
- exynos 8895(HMP/EAS)
- exynos 9810
- exynos 9820/9825
项目介绍、使用帮助、自定义配置文件教程:README
下载:
方法一:点击下方"Asserts"中的uperf-v1-20200516.zip开始下载
方法二:蓝奏云镜像
DEV 20200513
此版本用于收集反馈,支持的SOC有:
- sdm835(HMP)
- sdm865/865+ lpddr4x/5
更新日志:
- uperf:ProcGetUid采用busybox中采用的方法,可能与AffinityHelper死循环有关
- uperf:下调滑动距离阈值,减少滑动误认为是点击
- uperf:延迟UI响应的Hint恢复时间范围增加到700ms
- SfAnalysis:有些时候刚开始滑动就遇到卡顿,误报交给uperf压制非交互时的boost解决
- wipe-v2:配置文件:评分函数权重和参数范围回调一些
- 配置文件生成器:降低卡顿模式的sfLag的频率拉升
- 配置文件生成器:骁龙712最大主频2.3g
- 安装脚本:设置enable_sfanalysis标志位,如果遇到与她相关的卡屏可删除此标志位禁用SfAnalysis
- 自启动脚本:关闭
sleep 60
有助于解决小米10 MIUI12启动器不响应触摸的情况 - 自启动脚本:wait_until_login测试目录可写权限
- once:补充关闭一些热插拔
下载:
方法一:点击下方"Asserts"中的uperf-dev-20200513.1.zip开始下载
方法二:蓝奏云镜像
DEV 20200507
此版本用于收集反馈,支持的SOC有:
- sdm82x(HMP/EAS)
- sdm835(HMP/EAS)
- sdm665
- sdm710/712
- sdm730/730g
- sdm765/765g
- sdm865/865+ lpddr4x/5
- exynos 7420
更新日志:
- uperf:增加提示Surfaceflinger analysis connected
- sfanalysis:禁用android log,或许能解决一些玄学问题
- 配置文件生成器:下调sdm835最高频率,2.2g->2.1g,2.0g->1.9g
- makefile:使用静态链接或许能解决一些玄学问题
- 回退:"powerhint.json默认不覆盖,避免post-fs-data没执行还是卡开机"
下载:
方法一:点击下方"Asserts"中的uperf-dev-20200507.zip开始下载
方法二:蓝奏云镜像