OpenHarmony南向开发:SmartPerf-Device使用说明

简介

SmartPerf 端是一款基于 OpenHarmony 系统开发的性能功耗测试工具,操作简单易用,可提供包括性能、功耗的关键 KPI 指标,给出具体指标的测试值,包括采集设备的 FPS、CPU、GPU、Ftrace 等指标数据;

目前 SmartPerf 工具提供了两种使用方式,分别为 hap 应用可视化操作方式(SmartPerf-Device)和 shell 命令行方式(SmartPerf-Daemon),其中 SmartPerf-Device 支持可视化操作、悬浮窗控制暂停,悬浮窗实时展示数据,SmartPerf-Daemon 主要适用于无屏设备、性能较差的设备,对 3568 等设备同样支持。

实现原理

SmartPerf 工具主要包括 SmartPerf-Device、SmartPerf-Daemon 两个部分,其中 Device 采集的 FPS、RAM、Trace 等指标需要通过发送消息给 Daemon 端去采集数据,然后接收 Daemon 回传的数据展示,同时 Daemon 端也提供了 shell 命令的方式单独执行采集

约束与限制

1.SmartPerf-Device、SmartPerf-Daemon 在 3.2 系统版本后开始预制使用。

2.其中 SmartPerf-Device 的使用必须是具备屏幕的设备。

环境准备

SmartPerf-Daemon 执行需要 PC 连接 OpenHarmony 设备,如 RK3568 开发板等。

执行性能测试

SmartPerf-Device 应用可视化使用示例

以下 SmartPerf-Device 应用内截图以 RK3568 设备为例。

1.应用采集配置。

启动 SmartPerf-Device 进入首页,选择测试应用、测试指标项,点击"开始测试",拉起测试应用。

2.悬浮窗控制采集。

点击悬浮窗"start"开始采集,单击悬浮窗"计时器"暂停采集,再次单击继续采集双击计时器,实时展示采集数据,可拖动悬浮框更改悬浮框位置,长按"计时器",结束采集。

3.查看报告。

点击"报告",查看测试报告列表,点击"报告列表",查看测试指标项详情。

SmartPerf-Daemon 命令行使用示例

1.进入 shell, 执行查看帮助命令。

:# SP_daemon --help
​

2.执行采集命令。

:# SP_daemon -N 2 -PKG com.ohos.contacts -c -g -t -p -r
​

采集命令使用示例解析

命令 功能 是否必选
-N 设置采集次数
-PKG 设置包名
-PID 设置进程 pid(对于 ram 适用)
-c 是否采集 cpu
-g 是否采集 gpu
-f 是否采集 fps
-t 是否采集温度
-p 是否采集电流
-r 是否采集内存

测试结果默认输出路径如下

报告存放路径:/data/local/tmp/data.csv
​

data.csv 数据名描述

被测数据项 含义 备注
cpuFrequ CPU 的频率 单位 Hz
cpuLoad CPU 的负载占比 %
currentNow 当前读到的电流值 单位 mA
fps 屏幕刷新帧率 单位 fps
fpsJitters 每一帧绘制间隔 单位 ns
gpuFrequ GPU 的频率 单位 Hz
gpuLoad GPU 的负载占比 %
shell_front 前壳温度 单位 °C
shell_frame 边框温度 单位 °C
shell_back 后壳温度 单位 °C
soc_thermal SOC 温度 单位 °C
system_h 系统温度 单位 °C
timeStamp 当前时间戳 对应采集时间
voltageNow 当前读到的电压值 单位 μV(微伏)

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

希望这一份鸿蒙学习资料能够给大家带来帮助~


鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员: 想要拓展职业边界
零基础小白: 鸿蒙爱好者,希望从0到1学习,增加一项技能。
**技术提升/进阶跳槽:**发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.视频学习资料+学习PDF文档

(鸿蒙语法ArkTS、TypeScript、ArkUI教程......)

纯血版鸿蒙全套学习资料(面试、文档、全套视频等)

鸿蒙APP开发必备

​​

总结

参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:为了确保高效学习,建议规划清晰的学习路线

相关推荐
pan_junbiao8 分钟前
Vue3.0组合式API:setup()函数
前端·javascript·vue.js
黄毛火烧雪下9 分钟前
React 中,Hook 是一个特定的概念
前端·javascript·react.js
正小安11 分钟前
Vue 3 中 useRouter 与 useRoute 的深度解析
前端·javascript·vue.js
Missying5514 分钟前
vue前端实现下载导入模板文件
前端·vue.js·elementui·html
洗发水很好用14 分钟前
vue2制作高复用页面
前端·javascript·vue.js
aidroid18 分钟前
linux配置远程ssh服务
linux·运维·ssh
533_18 分钟前
[vue] vue-seamless-scroll 滚动到第二遍的时候不能进行点击的问题
前端·javascript·vue.js
2301_7969821423 分钟前
requests-html的详细使用方法
前端·python·html
iFulling35 分钟前
【Linux实践】实验二:LINUX操作基础
linux·运维·服务器
给朕把屎铲了39 分钟前
Anolis OS 8.8 & CentOS8离线安装mysql-8.0.9
linux·mysql