一、Openharmony的systrace文件打开主要有下面两种方式:

1. 通过Openharmony的开源性能分析工具Smartperf_Host,进行打开。(推荐使用)

2. 使用网站地址perfetto,进行打开查看。

推荐使用方式1 smartperf_Host工具打开查看,它可以同时打开多个systrace流畅不卡,有丰富案例指导文档,和Openharmony亲和度高。

二、systrace打开后,常用基本操作:

1. 使用Smartperf_Host打开trace入口:

img

操作说明:

1. 在当前页面可以通过键盘上的wasd四个键位操纵当前的时间轴进行缩放,w为放大,s为缩小,a为左移,d为右移。

2. M键测量功能

放大trace中的色块,选中色块,键盘按下M,会出现像标尺一样的形状。

img

3. 选中cpu时,如果右边出现GetWakeupList按键,点击可以看到cpu唤醒调用路径。

img

4. 在进程里面选中一块,可以看到里面函数执行时间和次数。

img

5.在cpu里面选中一块,可以看到每个线程执行时长负载。

img

三、性能Systrace分析常用关键点:

1. 常用TP报点(type为0表示done按下,1表示up松手, 2表示move移动)

H:DispatchTouchEvent id:0, pointX=756.000000 pointY=1235.000000 type=0

img

2. 手势滑动启动

H:HandleDragStart

img

3. 滑动信号量

H:APP_LIST_FLING=跟手时长+加上松手惯性动效时长
H:TRAILING_ANIMATION:松手后惯性滑动动效时长

img

4. 应用进程独立GPU绘制

img

5. Render_service进程合成送显

img

6. 亮灭打点

H:Screen_0 SetPowerStatus 3:屏幕灭屏

img

H:Screen_0 SetPowerStatus 0:屏幕亮屏

img

7. 锁屏灭屏绘制

H:ScreenLock:TracesleepToLockScreen:灭屏加载锁屏

img

8. 怎么确认应用帧率和送显帧率

应用帧率通过相邻帧时间确认(60:16ms, 90:11ms,120:9ms)

img

选中连续RS绘制帧,可以确认RS送显帧率

img

9. cpu调度相关

Running:线程运行中; Runnable:等待资源调度; Sleeping:休眠白色区域。

img

点击Runing, 可以确认当前线程调度优先级,值越小,优先级越高,越容易上大核。

img

CPU 提频限频,不同芯片厂商配置不一样:

img


应用业务场景提频限频,在资源调度子系统调频插件进行控制,这不进行扩展,后面单独讲资源调度子系统。

socperf_boost_config.xml 配置提频场景,使用的cmdID不能重复。

<Configs>
    ...
    <cmd id="10000" name="app_start">                        # 配置应用冷启动场景
        <Action>
            <duration>1000</duration>                        # 提频最大时长
            <lit_cpu0_min_freq>2002000</lit_cpu0_min_freq>   # 配置cpu小核最低频点
            <lit_cpu4_min_freq>2210000</lit_cpu4_min_freq>   # 配置cpu中核最低频点
            <lit_cpu7_min_freq>2548000</lit_cpu7_min_freq>   # 配置cpu大核最低频点
        </Action>
        <Action>
            <duration>1500</duration>                        # 提频最大时长
            <gpu_min_freq>384000000</gpu_min_freq>           # 配置GPU最低频点
        </Action>
    </cmd>
    ...
</Configs>
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐