Releases: yc9559/uperf
DEV 20200505
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm650/652
- sdm625(HMP/EAS)
- sdm626(HMP/EAS)
- sdm660(HMP/EAS)
- sdm636(HMP/EAS)
- sdm82x(HMP/EAS)
- sdm835(HMP/EAS)
- sdm675
- sdm710/712
- sdm730/730g
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP/EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- sfanalysis:修复hook类成员函数没有传入this指针
- uperf:sfanalysis也能重新拉起之前因为渲染停止提前结束的hint
- uperf:uxaffinity加上循环次数保护
- wipe-v2:三星HMP参数改进待机时小核频率过高
- 配置文件生成器:修复HMP平台和移植的EAS平台的频率上下限重合导致频率无法固定在预期
- 配置文件生成器:降低卡顿模式性能释放
- once:屏蔽硬件相关进程的cgroup限制
- 自启动脚本:开机自启延迟60秒,留给用户禁用本模块的时间
- 自启动脚本:powerhint.json默认不覆盖,避免post-fs-data没执行还是卡开机
Click uperf-dev-20200505.zip below to download.
点击下方"Asserts"中的uperf-dev-20200505.zip开始下载。
DEV 20200503
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm650/652
- sdm625(HMP/EAS)
- sdm626(HMP/EAS)
- sdm660(HMP/EAS)
- sdm636(HMP/EAS)
- sdm82x(HMP/EAS)
- sdm835(HMP/EAS)
- sdm675
- sdm710/712
- sdm730/730g
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP/EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- uperf:让system_server的InputReader先读取触摸数据,或许能解决触摸丢帧
- uperf:最大支持360hz触控采样率
- uperf:进入SfLag的最大缓存次数从15提升到20
- uperf:修复触摸中意外退出hint
- sfanalysis:同步sfanalysis编译选项更改
- 高通EAS:修复费电模式在有大量高优先级线程跑在较少的大核数量时,容易发生拥塞
- makefile:采用Riru的编译选项,或许能解决一部分兼容性问题
- 启动脚本:保存injector日志
- 启动脚本:兼容standlone模式libsfanalysis.so的路径
- 安装脚本:设置powerhint.json的SELinux文件类型为vendor_configs_file
- 挂载前脚本:如果powerhint.json不在系统内,不做覆盖
Click uperf-dev-20200503.zip below to download.
点击下方"Asserts"中的uperf-dev-20200503.zip开始下载。
DEV 20200501
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm650/652
- sdm625(HMP/EAS)
- sdm626(HMP/EAS)
- sdm660(HMP/EAS)
- sdm636(HMP/EAS)
- sdm82x(HMP/EAS)
- sdm835(HMP/EAS)
- sdm675
- sdm710/712
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP/EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- uperf:关闭sfLag从HintNone切换,次数增长间隔从200ms增加到400ms
- uperf:输入信号改用poll并降低读取延时,或许能解决一部分设备触摸报点丢失
- uperf:不再使用wall time,容易受系统时间设置影响
- uperf:高性能ParseInt,耗时为atoi的1/10
- HMP平台:费电模式使用固定参数
- EAS平台:提高费电模式交互时的性能
- 三星EAS:有了ux affinity不需要stune来固定任务到大核了
- 安装脚本:修复部分realme机型卡第二屏,保留powerhint.json结构,但是去除boost功能
- 安装脚本:细分解析msm8952,修复sdm650/652安装始终失败
Click uperf-dev-20200501.zip below to download.
点击下方"Asserts"中的uperf-dev-20200501.zip开始下载。
DEV 20200428
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm650
- sdm652
- sdm625(HMP/EAS)
- sdm626(HMP/EAS)
- sdm660(HMP/EAS)
- sdm636(HMP/EAS)
- sdm82x(HMP/EAS)
- sdm835(HMP/EAS)
- sdm675
- sdm710
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP/EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- Sfanalysis:通过注入自定义动态库,推测并向外部传递渲染开始、渲染提交滞后、渲染结束事件
- Sfanalysis:增加自适应动态刷新率、自适应vsync信号滞后间隔
- Sfanalysis:在SELinux的权限范围内,向外部传递信号,因此不需要关闭SELinux才能使用
- Sfanalysis:在一加7Pro(Android 10)、坚果Pro2(Android 8.1)、Nexus9(Android 7.1)测试通过
- uperf:增加Sfanalysis,响应从surfaceflinger传递来的渲染事件
- uperf:增加HintSflag,在收到渲染提交滞后之后,在观察到掉帧之前,在0.0003秒内拉升到最大性能保持0.015秒
- uperf:借助Sfanalysis的渲染结束事件,hint提前结束延时从0.2s降低到0.06s
- uperf:限制进入sfLag次数限制,每超过400ms间隔可用次数+1,最大到15次
- uperf:修复当之前的最低频高于后来的最高频时,设置会无效
- uperf:增加DelayedWork,改善定时器资源利用
- uperf:尝试修复AffinityHelper死循环
- uperf:uxaffinity类型knob交给affinity helper去重
- uperf:进入standby后休眠PmMonitor线程
- uperf:重构inotifier,改进逻辑一致性
- 状态转移:备份进入overlay类型hint之前的base类型hint
- 配置文件生成器:sfLag动作如果是3集群例如sdm855,负载大多数时候在中核,因此中核需要更高的频率
- 配置文件生成器:高通EAS的费电模式提供更多性能
- 配置文件生成器:上调一点Exynos 9820中核频率
- 安装脚本:细分解析msm8916,修复sdm615平台始终安装失败
- Makefile:迁移到ndkbuild,编译后二进制大小67k->51k,或许能改进兼容性问题
Click uperf-dev-20200428.zip below to download.
点击下方"Asserts"中的uperf-dev-20200428.zip开始下载。
DEV 20200421
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm625(HMP)
- sdm625(EAS)
- sdm660(HMP)
- sdm82x(HMP)
- sdm82x(EAS)
- sdm835(HMP)
- sdm835(EAS)
- sdm675
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP)
- exynos 8895(EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- wipev2:配置文件:限制above_hispeed_delay的使用,降低性能释放延迟
- 配置文件生成器:修改9810 9820最低频设置,据说可以解决一部分睡死
- uperf:进入standby的延时减少到20秒
- uperf:动态uxAffinity,配置如下,平衡型双集群仍然始终开启
HMP:
pwr: normal=off interaction=off
bala: normal=off interaction=on
perf: normal=on interaction=on
EAS:
pwr: normal=off interaction=on
bala: normal=on interaction=on
perf: normal=on interaction=on
Click uperf-dev-20200421.zip below to download.
点击下方"Asserts"中的uperf-dev-20200421.zip开始下载。
DEV 20200419
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm625(HMP)
- sdm625(EAS)
- sdm660(HMP)
- sdm82x(HMP)
- sdm82x(EAS)
- sdm835(HMP)
- sdm835(EAS)
- sdm675
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP)
- exynos 8895(EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- wipev2:结果导出:更改导出json三档模式的对应性能评分
- wipev2:配置文件:降低孤立卡顿权重,重点关注连续卡顿
- 配置文件生成器:下调9810 9820滑动时的最低频率
- once:uperf限制在background cgroup
- once:修复默认模式设定滞后于uperf启动
- 安装脚本:去除伪装为system binary
Click uperf-dev-20200419.zip below to download.
点击下方"Asserts"中的uperf-dev-20200419.zip开始下载。
DEV 20200416
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm625(HMP)
- sdm625(EAS)
- sdm660(HMP)
- sdm82x(HMP)
- sdm82x(EAS)
- sdm835(HMP)
- sdm835(EAS)
- sdm675
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP)
- exynos 8895(EAS)
- exynos 9810
- exynos 9820/9825(可能有兼容性问题)
更新日志:
- 状态转移:触摸发生500ms内不停止渲染监控,避免滞后200ms以上的UI响应没有得到hint
- 状态转移:修复某些时候LoadMonitor才监控100ms就提前退出
- 状态转移:加长low_ready等待,减少进入heavyload的频率
- 状态转移:滑动操作禁止转移到AndroidAM,避免游戏时切换造成调频不稳定
- uperf:缩短AffinityHelper延时到25ms,减少绑定滞后
- uperf:多线程程序调用strtok会产生意外的问题,因为多个线程共用同一个strtok内部的静态变量
- uperf:关闭一些重复打开的文件描述符
- 配置文件生成器:调整calc_load_thd算法,减少核心较少的SOC例如sdm82x冲heavyload的概率
- HMP平台:仅平衡型多集群需要开启UxAffinity减少UI线程被其他任务抢占,包含82x、62x、616
- once:修复system_server的binder在大小核来回震荡,实测的同频性能与EAS模型存在差距,补偿到migrate阈值
- once:lpmHyst设置为固定值即可,不再需要动态调整了
- 安装脚本:禁止在Recovery中安装,因为识别不到设备平台名称
- 安装脚本:添加exynos 982x平台兼容性问题警告
Click uperf-dev-20200416.zip below to download.
点击下方"Asserts"中的uperf-dev-20200416.zip开始下载。
DEV 20200414
此版本用于收集反馈,支持的SOC有:
- sdm615/616
- sdm625(HMP)
- sdm625(EAS)
- sdm660(HMP)
- sdm82x(HMP)
- sdm82x(EAS)
- sdm835(HMP)
- sdm835(EAS)
- sdm675
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP)
- exynos 8895(EAS)
- exynos 9810
- exynos 9820/9825
更新日志:
- uperf:添加AffinityHelper固定高优先级的UX线程到大核,并减少低优先级线程的性能需求响应
- uperf:由于CPU核心热插拔,取消缓存cpufreq的fd
- uperf:写入器始终动态申请fd,测试是否因为缓存fd导致睡死
- uperf:修复一处可能的空指针引用
- uperf:移除不再使用的HintRotation
- wipev2:openga适配器:sdm625和sdm820使用平衡型负载迁移
- wipev2:CPU模型:限制sdm821 v2 v3的小核最大频率为1.59ghz
- wipev2:Uperf:在渲染结束后至多300ms,或者触摸停止后3000ms,停止hint
- 配置文件生成器:开启EAS和HMP平台的ux affinity,stune方式依赖层次不齐的EAS实现
- 配置文件生成器:修复845的l3LatBig和ddrLatBig路径错误
- 配置文件生成器:增加msm8939 615/616支持
- 配置文件生成器:修复8895 eas最低频设置
- once:补上stop perfd
- once:上调内核的inotify事件数量限制
- 安装脚本:再次尝试支持exynos 982x
Click uperf-dev-20200414.zip below to download.
点击下方"Asserts"中的uperf-dev-20200414.zip开始下载。
DEV 20200411
此版本用于收集反馈,支持的SOC有:
- sdm625/626(HMP)
- sdm625/626(EAS)
- sdm660(HMP)
- sdm82x(HMP)
- sdm82x(EAS)
- sdm835(HMP)
- sdm835(EAS)
- sdm675
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP)
- exynos 8895(EAS)
- exynos 9810
更新日志:
- wipe-v2:PELT HMP采用位于exynos8890.dtsi的固定值
- wipe-v2:屏蔽部分平台不支持的max_freq_hysteresis
- wipe-v2:降低孤立卡顿权重,以连续卡顿为主
- 高通EAS:区分是否支持cpuLoadBoost和lowlat的平台调参,尽量把top-app的负载固定在大核
- 配置文件生成器:补上PELT eas的lowlat设置
- 配置文件生成器:修复845的l3LatBig和ddrLatBig路径错误
- 配置文件生成器:相同的两个集群不需要设置负载迁移阈值,默认值即可
- 安装脚本:屏蔽会睡死的9820/9825
Click uperf-dev-20200411.zip below to download.
点击下方"Asserts"中的uperf-dev-20200411.zip开始下载。
DEV 20200409
此版本用于收集反馈,支持的SOC有:
- sdm625(HMP)
- sdm625(EAS)
- sdm660(HMP)
- sdm82x(HMP)
- sdm82x(EAS)
- sdm835(HMP)
- sdm835(EAS)
- sdm675
- sdm845
- sdm865/865+ lpddr5
- exynos 8890
- exynos 8895(HMP)
- exynos 8895(EAS)
- exynos 9810
- exynos 9820/9825
更新日志:
- wipe-v2:负载模型:按降序排列,对于骁龙82x这种2+2的平台只会使用前2个负载值
- wipe-v2:评分函数:给孤立卡顿、连续卡顿、严重连续卡顿设置独立的权重
- once:对于三星可能更改的knobs不使用lock_val,或许能防止三星系统修改失败导致睡死
- 配置文件生成器:改进hmp平台解锁偏慢
- 配置文件生成器:关闭sdm62x亮屏的热插拔
- 配置文件生成器:sdm62x小核大核使用一样的参数
- 配置文件生成器:下调高通hmp在heavyload的负载迁移值
- panel:关闭uperf running状态显示
Click uperf-dev-20200409.zip below to download.
点击下方"Asserts"中的uperf-dev-20200409.zip开始下载。