Skip to content

Releases: yc9559/uperf

DEV 22.04.09

09 Apr 10:31
Compare
Choose a tag to compare
DEV 22.04.09 Pre-release
Pre-release

【更新日志】

  • 增加大量平台初步适配
  • 改进Unity游戏和吃鸡游戏抖动
  • 改进弹幕2倍速视频流畅度
  • 更新部分平台功耗模型
  • 更新SfAnalysis中的二进制补丁工具
  • 暂时弃用SsAnalysis
  • 日志后缀名更换为txt

【已支持平台】

  • HMP平台
    • sdm625/626/660/636/82x/835
    • exynos7420/8890/8895
  • EAS平台
    • sdm625/626/660/636/82x/835
    • sdm662/665/675/710/712/730/730g/750g/765/765g/768g/778/780
    • sdm845/855/855+/860/865/865+/870/888/888+/8gen1
    • exynos8890/8895/9810/9820/9825/990/1080/2100/2200
    • dimensity700/720/800/820/900/920/1000/1000l/1000+/1100/1200/8000/8100/9000
    • Helio P65/G70/G80/G85/G90T

【蓝奏云镜像】

DEV 22.04.04

04 Apr 10:08
Compare
Choose a tag to compare
DEV 22.04.04 Pre-release
Pre-release

【更新日志】

  • 插件式软件架构
    • 使用C++重新开发
    • 功能模块解耦,易扩展
  • 感知能耗的CPU调频器
    • 用户态使能全平台统一体验
    • 单核高性能,多核高能效
    • 20-100hz基础采样率,快响应低开销
  • 识别上下文的任务调度器
    • UI放大核,非关键放小核
    • 全数据驱动,正则匹配
    • 花费50%开发时间调试的默认规则
  • 动态sysfs写入
    • 用户态性能控制器基石功能
    • 实现更加简约高效
  • SfAnalysis
    • 预测掉帧并在发生前拉升CPU
    • 改进的帧反馈以及模糊匹配
    • patch方式无需更改SELinux状态
    • 独立选装,但是强烈推荐
  • SsAnalysis
    • 跟系统线程放置器斗智斗勇
    • 独立选装,但是强烈推荐
  • One more thing...
    • 配置目录在/sdcard/Android/yc/uperf
    • ...

【首批支持】

  • HMP平台
    • sdm82x/835
  • EAS平台
    • 82x/835
    • sdm845/855/855+/865/865+/870/888/8gen1
    • dimensity1000/1000l/1000+/1100/1200/8000/8100/9000

【蓝奏云镜像】

DEV 21.08.15

15 Aug 10:11
Compare
Choose a tag to compare
DEV 21.08.15 Pre-release
Pre-release

【预调参配置文件】

  • Uperf是个通用用户态性能控制器,用户可完全自定义每个hint执行的动作
  • 为了降低使用门槛,提供了主流硬件平台预调参配置文件,开箱即用
  • HMP平台(15份配置文件):
    • sdm615/616/650/652/625/626/660/636/82x/835
    • exynos7420/8890/8895
  • EAS平台(39份配置文件):
    • sdm625/626/650/652/660/636/82x/835
    • sdm662/665/675/710/712/730/730g/750g/765/765g/768g/775/780
    • sdm845/855/855+/865/865+/870/888
    • exynos8890/8895/9810/9820/9825/990/1080/2100
    • dimensity720/800u/800/820/1000/1000l/1000+/1100/1200
    • Helio P65/G70/G80/G85/G90T

【更新日志】

  1. 修复负优化
    1. 动态刷新率使用固定刷新率配置无法切换帧率
    2. 无渲染刷新的界面触摸屏幕后无法退出active状态
    3. 长按后出现activetouch状态震荡
    4. 微信跳转到内置浏览器加载时间不够快
    5. 未知分类线程性能限制过大
  2. 预调参调整
    1. 移除高通平台EAS平台关于hispeed的设置
    2. 使用up_rate_limit_us减缓升频速度
    3. 小幅下调均衡和卡顿模式待机时小核最大频率
  3. 改进
    1. libperfmgr空配置文件通用化
    2. 修复cmake编译工程选项设置与预期不一致
  4. 重构

【测试说明】

  1. 禁用Perfd-opt和WIPE v2
  2. 禁用较为激进的温度控制
  3. Magisk刷入,检查是否正确识别了平台类型
  4. 重启检查/sdcard/yc/uperf/log_uperf.txt
  5. 检查使用时的频率选择,体验流畅度和能耗,并给出你们的建议,以及发生问题的场景
  6. 如果遇到小核负载偏高,推荐使用3C Toolbox的任务管理检查
  7. 动态高刷默认没有启用,由于OLED屏幕特性,切换可能有可感知的亮度和色彩变化

【下载】
方法一:点击下方"Assets"中的uperf-dev-21.08.15.zip开始下载
方法二:蓝奏云镜像

DEV 21.07.25

25 Jul 06:38
Compare
Choose a tag to compare
DEV 21.07.25 Pre-release
Pre-release

DEV 21.07.25

【预调参配置文件】

  • Uperf是个通用用户态性能控制器,用户可完全自定义每个hint执行的动作
  • 为了降低使用门槛,提供了主流硬件平台预调参配置文件,开箱即用
  • HMP平台(15份配置文件):
    • sdm615/616/650/652/625/626/660/636/82x/835
    • exynos7420/8890/8895
  • EAS平台(39份配置文件):
    • sdm625/626/650/652/660/636/82x/835
    • sdm662/665/675/710/712/730/730g/750g/765/765g/768g/775/780
    • sdm845/855/855+/865/865+/870/888
    • exynos8890/8895/9810/9820/9825/990/1080/2100
    • dimensity720/800u/800/820/1000/1000l/1000+/1100/1200
    • Helio P65/G70/G80/G85/G90T

【更新日志】

  1. 本次更新合并了10+个commit
  2. 预调参配置增加
    1. 骁龙650/652-eas
  3. 修复负优化
    1. AffinityHelper线程在应用切换时被频繁唤醒
    2. 微信跳转到内置浏览器加载时间过长
  4. 预调参调整
    1. 均衡模式SfLag不再主动搬运负载到超大核
  5. 改进
    1. 放宽未知分类任务的性能释放
  6. 重构
    1. 全局统一缓存的任务分类器,缓存重建时间从450ms降低到150ms(sdm888平台测试)

【测试说明】

  1. 禁用Perfd-opt和WIPE v2
  2. 禁用较为激进的温度控制
  3. Magisk刷入,检查是否正确识别了平台类型
  4. 重启检查/sdcard/yc/uperf/log_uperf.txt
  5. 检查使用时的频率选择,体验流畅度和能耗,并给出你们的建议,以及发生问题的场景
  6. 如果遇到小核负载偏高,推荐使用3C Toolbox的任务管理检查
  7. 动态高刷默认没有启用,由于OLED屏幕特性,切换可能有可感知的亮度和色彩变化

【下载】
方法一:点击下方"Assets"中的uperf-dev-21.07.25.zip开始下载
方法二:蓝奏云镜像

DEV 21.06.20

20 Jun 12:22
Compare
Choose a tag to compare
DEV 21.06.20 Pre-release
Pre-release

【预调参配置文件】

  • Uperf是个通用用户态性能控制器,用户可完全自定义每个hint执行的动作
  • 为了降低使用门槛,提供了主流硬件平台预调参配置文件,开箱即用
  • HMP平台(15份配置文件):
    • sdm615/616/650/652/625/626/660/636/82x/835
    • exynos7420/8890/8895
  • EAS平台(37份配置文件):
    • sdm625/626/660/636/82x/835
    • sdm662/665/675/710/712/730/730g/750g/765/765g/768g/775/780
    • sdm845/855/855+/865/865+/870/888
    • exynos8890/8895/9810/9820/9825/990/1080/2100
    • dimensity720/800u/800/820/1000/1000l/1000+/1100/1200
    • Helio P65/G70/G80/G85/G90T

【更新日志】

  1. 本次更新合并了20+个commit
  2. 预调参配置增加
    1. 天玑1100/1200
    2. 骁龙780g
  3. 修复负优化
    1. 处理触摸事件序列存在触摸状态变化未通知上层,导致有时无法进入touch相关Hint
    2. 无正向作用的sf.disable_backpressure,可能导致60hz下掉帧
    3. 线程分类器跳过com.android.systemui,可能导致“系统界面无响应”
    4. android.bg设置了错误的优先级,导致使用百度地图时死机
    5. 不够激进的Unity相关规则,导致基于Unity的场景加载偏慢
    6. 应用音频相关线程优先级设置偏低,导致音频卡顿
  4. 预调参调整
    1. 放宽费电模式线程放置限制,跑分请使用费电模式
    2. Heavyload采用松限制,配合长时长的Hint使用
  5. 改进
    1. SsAnim改为定时长类型Hint,状态进入退出更稳定
    2. 动态高刷支持使用系统默认值“-1”
    3. SfAnalysis和uperf进一步整合,移除Injector标志位
    4. 先尝试不关闭SELinux注入,失败后设置SELinux许可模式后重试,此重试默认开启
    5. 减少sensor、kswapd、电话数据对大核的唤醒
    6. 显著提升开机初始化脚本执行速度,从30s降低到5s(sdm888平台测试)
  6. 重构
    1. 整合SsAnalysis到SfAnalysis,减少对system_server侵入,减少死机概率
    2. 新的poke方式,支持在设备SELinux规则限制内从surfaceflinger传递整形
    3. 编译工程切换到cmake,编译参数更明确,NDK或许有些魔法
    4. 用户态线程调度器前台后台参数完全隔离,实现更加灵活的规则设置
    5. 分进程的线程分类器,实现更加灵活的规则设置
    6. 常数时间复杂度的线程分类器缓存表
    7. lock_valmutate支持批量操作

【测试说明】

  1. 禁用Perfd-opt和WIPE v2
  2. 禁用较为激进的温度控制
  3. Magisk刷入,检查是否正确识别了平台类型
  4. 重启检查/sdcard/yc/uperf/log_uperf.txt
  5. 检查使用时的频率选择,体验流畅度和能耗,并给出你们的建议,以及发生问题的场景
  6. 如果遇到小核负载偏高,推荐使用3C Toolbox的任务管理检查
  7. 动态高刷默认没有启用,由于OLED屏幕特性,切换可能有可感知的亮度和色彩变化

【下载】
方法一:点击下方"Assets"中的uperf-dev-21.06.20.zip开始下载
方法二:蓝奏云镜像

DEV 21.05.23

23 May 11:13
Compare
Choose a tag to compare
DEV 21.05.23 Pre-release
Pre-release

【预调参配置文件】

  • Uperf是个通用用户态性能控制器,用户可完全自定义每个hint执行的动作
  • 为了降低使用门槛,提供了主流硬件平台预调参配置文件,开箱即用
  • HMP平台(15份配置文件):
    • sdm615/616/650/652/625/626/660/636/82x/835
    • exynos7420/8890/8895
  • EAS平台(34份配置文件):
    • sdm625/626/660/636/82x/835
    • sdm662/665/675/710/712/730/730g/750g/765/765g/768g/775
    • sdm845/855/855+/865/865+/870/888
    • exynos8890/8895/9810/9820/9825/990/1080/2100
    • dimensity720/800u/800/820/1000/1000l/1000+
    • Helio P65/G70/G80/G85/G90T

【更新日志】

  1. 本次更新合并了20+个commit
  2. 新增:SfAnalysis可完整监控帧提交完整流程,内容刷新率切换延迟200ms->110ms
  3. 新增:变时长sflag和sfboot,可在发生卡顿的帧渲染结束后提前结束
  4. 新增:显式触摸状态hint,方便对触摸各个阶段定制对应action
  5. 改进:卡顿模式改用超低主频方案,充分发挥变时长sflag和sfboot特性
  6. 改进:费电模式改用高主频方案,不同设备stune支持差异较大例如移植的EAS和PELT EAS
  7. 改进:bootloop recuser统一到在postfs阶段放置标志位,正常开机后模块不再显示为禁用
  8. 改进:动态帧率切换改为同步调用,解决异步+固定等待时长导致的时序问题
  9. 改进:降低过渡动画对应动作性能拉升强度,延长持续时间,配合Sfboost兼顾流畅度和功耗
  10. 改进:webview线程放置,H5页面滑动和公众号文章浏览流畅度更好
  11. 改进:配合kworker执行时序,CPU主频设置延时0.6ms->0.2ms
  12. 改进:减少任务放置执行数量,任务放置延时0.6ms->0.4ms
  13. 改进:小重构TaskClassfier代码实现

【测试说明】

  1. 禁用Perfd-opt和WIPE v2
  2. 禁用较为激进的温度控制
  3. Magisk刷入,检查是否正确识别了平台类型
  4. 重启检查/sdcard/yc/uperf/log_uperf.txt
  5. 检查使用时的频率选择,体验流畅度和能耗,并给出你们的建议,以及发生问题的场景
  6. 如果遇到小核负载偏高,推荐使用3C Toolbox的任务管理检查
  7. 动态高刷默认没有启用,由于OLED屏幕特性,切换可能有可感知的亮度和色彩变化

【下载】
方法一:点击下方"Assets"中的uperf-dev-21.05.23.1.zip开始下载
方法二:蓝奏云镜像

DEV 21.05.02

02 May 09:00
Compare
Choose a tag to compare
DEV 21.05.02 Pre-release
Pre-release

HMP平台(15份配置文件):

  • sdm615/616/650/652/625/626/660/636/82x/835
  • exynos7420/8890/8895

EAS平台(34份配置文件):

  • sdm625/626/660/636/82x/835
  • sdm662/665/675/710/712/730/730g/750g/765/765g/768g/775
  • sdm845/855/855+/865/865+/870/888
  • exynos8890/8895/9810/9820/9825/990/1080/2100
  • dimensity720/800u/800/820/1000/1000l/1000+
  • Helio P65/G70/G80/G85/G90T

【更新日志】

  1. 本次更新合并了30+个commit
  2. 新增:不同于v1的屏幕点亮HintWakeup,默认关联切换到重负载动作
  3. 新增:dumpsys法获取顶层APP名称,处理MIUI12小窗场景识别更准确
  4. 新增:防卡开机系统,如果在开机60秒内重启自动禁用本模块
  5. 新增:标志位系统,包括SELinux、SfAnalysis、SsAnalysis、perfhal-stub开关
  6. 新增:内置busybox(@osm0sis),降低对平台二进制工具集依赖
  7. 新增:HeavyWorker辅助线程处理如线程分类器等耗时任务,消除内部阻塞
  8. 新增:支持联发科Helio P65(mt6768)/G70(mt6769v)/G80(mt6769t)/G85(mt6769z)
  9. 新增:支持高通骁龙662
  10. 修复:容易死机的SfAnalysis和SsAnalysis异步通知方法
  11. 修复:安兔兔9.0负载被固定小核集群
  12. 修复:MIUI桌面卸载应用后卡死数秒
  13. 修复:部分系统硬件服务和daemon错误锁定在小核
  14. 修复:动态刷新率帧率切换缓存错误
  15. 修复:三星Exynos 2100不支持schedtune调参
  16. 改进:均衡模式在boost时减少点亮超大核时长
  17. 改进:CPU affinity设置执行耗时从1ms降低到0.6ms
  18. 改进:费电模式以stuneboost/uclamp作为核心,限制性能在散热允许范围内
  19. 改进:无画面渲染时如待机,最低频率尽可能低,有画面渲染时,最低频率在1.0g上下减少频率波动

【测试说明】

  1. 禁用Perfd-opt和WIPE v2
  2. 禁用较为激进的温度控制
  3. Magisk刷入,检查是否正确识别了平台类型
  4. 重启检查/sdcard/yc/uperf/log_uperf.txt
  5. 检查使用时的频率选择,体验流畅度和能耗,并给出你们的建议,以及发生问题的场景
  6. 如果遇到小核负载偏高,推荐使用3C Toolbox的任务管理检查
  7. 动态高刷默认没有启用,由于OLED屏幕特性,切换可能有可感知的亮度和色彩变化

下载:
方法一:点击下方"Assets"中的uperf-dev-21.05.02.zip开始下载
方法二:蓝奏云镜像

DEV 21.04.11

11 Apr 07:54
Compare
Choose a tag to compare
DEV 21.04.11 Pre-release
Pre-release

HMP平台(15份配置文件):

  • sdm615/616/650/652/625/626/660/636/82x/835
  • exynos7420/8890/8895

EAS平台(32份配置文件):

  • 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/990/1080/2100
  • dimensity720/800u/800/820/1000/1000l/1000+
  • Helio G90T

【更新日志】

  1. 本次更新合并了10+个commit
  2. 新增:InputReader支持按键输入
  3. 修复:Exynos2100平台识别
  4. 修复:uxaffinity=2时主线程和渲染线程互相阻塞
  5. 改进:线程分类器使用二维规则表
  6. 改进:降低heavyload期间空负载时高频持续时长
  7. 改进:非操作时性能释放
  8. 改进:重负载带宽限制改用低优先级方案,小核集群利用率更高
  9. 改进:帧率切换的backdoor法idx范围改为0~19,适应刷新率idx众多的设备
  10. 改进:帧率切换临界区处理,降低帧率切换卡壳概率
  11. 改进:sfanalysis和ssanalysis通知方式改为异步

下载:
方法一:点击下方"Assets"中的uperf-dev-21.04.11.zip开始下载
方法二:蓝奏云镜像

DEV 21.04.04

04 Apr 13:15
Compare
Choose a tag to compare
DEV 21.04.04 Pre-release
Pre-release

HMP平台(15份配置文件):

  • sdm615/616/650/652/625/626/660/636/82x/835
  • exynos7420/8890/8895

EAS平台(32份配置文件):

  • 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/990/1080/2100
  • dimensity720/800u/800/820/1000/1000l/1000+
  • Helio G90T

【更新日志】

  1. 本次更新合并了30+个commit
  2. 新增:结合精简版系统perfd,显著降低高通平台应用冷启动等待时长
  3. 新增:屏幕刷新率切换提供Backdoor和PeakRefreshRate两种方法兼容更多平台,详见默认配置文件注释
  4. 新增:全面屏手势中屏幕刷新率规则自动套用默认规则,改进从固定低刷新率APP切换到桌面时帧率切换滞后
  5. 新增:改进的的高通平台DDR调频限制方案,高频内存功耗表现更佳
  6. 新增:增加Exynos 990/1080/2100配置文件
  7. 修复:屏幕刷新率从touch离开的延时与帧率值绑定,导致系统刷新率idx顺序相反时切换滞后
  8. 修复:pin_proc_on_xxx系列函数错误固定线程到foreground组由于uperf限制,导致大掉帧和相机启动缓慢
  9. 修复:com.android.providers.media固定在小核,导致应用访问sdcard太慢
  10. 修复:webview相关线程放置不正确,导致应用渲染H5内容掉帧
  11. 修复:应用内RPC线程放置不正确,导致应用内部分界面掉帧
  12. 修复:Uperf延时状态切换任务异常
  13. 修复:SsAnim超时退出机制失效
  14. 改进:默认关闭loadmonitor,由SsAnim和精简版系统perfd替代
  15. 改进:去除不再使用的GPU参数设置
  16. 改进:尽量缩短SsAnim时长,不损失过渡动画流畅度的前提下
  17. 改进:SfBoost仅在保持触摸一段时间后才可进入,避免简单滑屏也能进入SfBoost导致耗电
  18. 改进:应用高资源消耗但是非关键的线程识别
  19. 改进:启动器白名单增加更多系统和第三方桌面

下载:
方法一:点击下方"Assets"中的uperf-dev-21.04.04.zip开始下载
方法二:蓝奏云镜像

DEV 21.03.14

14 Mar 09:07
Compare
Choose a tag to compare
DEV 21.03.14 Pre-release
Pre-release

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

【测试重点】

  1. 检查本模块是否能够正常安装和运行
  2. 检查使用时的频率选择,体验流畅度和能耗
  3. 动态高刷完成配置才可启用,配置文件位于/sdcard/yc/uperf/cfg_uperf_display.txt

【更新日志】

  1. 本次更新合并了30+个commit
  2. 新增:SfBoost游戏操作时专用SfLag,非掉帧时降低最大性能改进能耗比,掉帧时释放最大性能降低停顿时长
  3. 新增:自定义配置与日志目录迁移到/sdcard/yc/uperf/,弃用panel文件,开放cfg_uperf.json供用户自定义,如调整频率范围
  4. 新增:屏幕刷新率切换改用surfaceflinger backdoor法,兼容Android 10+
  5. 新增:高通平台c-state设置,避免过早进入c3很快再次唤醒引入0.5ms滞后
  6. 新增:高通平台动态force_no_nap,减少复杂过渡动画GPU引入的卡顿
  7. 修复:android.hardware.power由于空白配置文件格式错误崩溃,导致部分设备循环重启
  8. 修复:min_refresh_rate设置未清理,导致模块卸载后帧率被锁定为最大值
  9. 修复:非magisk安装方式运行后没有停用系统perfhal
  10. 修复:音频编码线程被固定在小核,导致视频录制破音
  11. 修复:费电模式安兔兔跑分超大核空载,导致跑分偏低
  12. 修复:由于屏幕刷新率切换通知到系统框架,导致SsAnim错误拉起耗电,即使没有系统动画发生
  13. 修复:顶层应用离开顶层后没有触发当前顶层应用检查,导致帧率切换未响应
  14. 修复:sfanalysis渲染状态检测为了匹配动态刷新率灵敏度过低,影响到掉帧检测
  15. 改进:动态屏幕刷新率降低前延迟降低到600ms,切换响应更快
  16. 改进:sfanalysis用户内容刷新率自适应响应更快,60hz->120hz检测延迟从350ms降低到200ms
  17. 改进:禁用高通perfhal采用空白targetconfig.json法
  18. 改进:指纹识别线程更容易放置到超大核
  19. 改进:APP主线程识别准确度

下载:
方法一:点击下方"Assets"中的uperf-dev-21.03.14.zip开始下载
方法二:蓝奏云镜像