手机玩游戏正常cpu占用率(手机玩游戏cpu占用率多少正常)
昨天我们分享了APP性能测试上篇,启动时长、内存这两个模块的测试,感兴趣的朋友可以去看一下。本篇我们接着来看CPU、FPS这两个模块的性能测试。
1.CPU
CPU测试,主要关注的是cpu的占用率。很多时候,我们玩手机时,会出现发热发烫,那是因为CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差。也容易引起ANR(application not responding, 主线程(UI线程)如果在规定时间内没有处理完相应工作,就会出现ANR)等等一系列问题。
1.1 测试点
1) 在空闲时间(切换至后台)的消耗,基本没大应用使用cpu。
2) 在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况。
3) 在高负荷的情况下看CPU的表现(cpu占用应是在80%以上)
具体场景:
1) 应用空闲状态运行监测CPU占用率
空闲状态:应用按Home键退到后台,不再占用系统的状态(通常是灭屏半分钟后)
CPU占用率=0%
2) 应用中等规格运行监测CPU占用率
中等规格:模拟用户最常见的使用场景
CPU占用率≤30%
3) 应用满规格长时间正常运行监测CPU占用率
Monkey测试
CPU占用率≤30%
4) 应用正常运行期间监测CPU占用率峰值
应用正常运行:打开应用进行基本操作
CPU占用率≤50%
1.2 测试方法
1) 使用adb命令:
(1)输入:adb shell top -m 10,获得cpu占用前10的应用
top cpu 参数:
-m 显示最大数; -s 按指定行排序;
-t 显示进程名称; -n 在退出前刷新几次;
-d 刷新间隔。
输入:top -m -s cpu |grep packageName,获得某个软件的cpu占用
如果反复进行某个操作,cpu占用过高且一直无法释放,那便可能存在风险。
2)使用第三方测试工具:GT等。
3)使用一些测试工具,比如teslin云测平台
以手上测试APP为例,其cpu使用测试结果如下图所示:
4)使用AndroidStudio自带的检测工具Android Monitor。
2.FPS (应用的使用流畅度)
FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅。
一般来说,Android设备的屏幕刷新率为60帧/s,要保持画面流畅不卡顿,要求每一帧的时间不超过1000/60=16.6ms,这就是16ms的黄金准则,如果中间的某些帧的渲染时间超过16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面便发生了卡顿。
2.1测试方法
1)adb命令
(1)打开手机:开发者选项—>GPU呈现模式分析 —> adb shell dumpsys gfxinfo
(2) 打开要测试的apk
(3) cmd窗口输入命令: adb shell dumpsys gfxinfo packageName
(4) 得到一个矩阵数据,计算矩阵中帧率大于16的点所占比例,即为卡顿比
含义:
Draw: 表示在Java中创建显示列表部分中,OnDraw()方法占用的时间。
Process:表示渲染引擎执行显示列表所花的时间,view越多,时间就越长。
Execute:表示把一帧数据发送到屏幕上排版显示实际花费的时间。
Draw + Process + Execute = 完整显示一帧 ,这个时间要小于16ms才能保存每秒60帧。
2)除了使用adb shell, 还可以直接使用开发者选项自带的图表
(1)打开手机:开发者选项—> GPU呈现模式分析
(2) 操作被测的软件
(3)界面会显示如下的一个统计数据表
绿色的横向直线,是16ms的分隔线,可以看出,手上这款APP目前流畅度一般,仍需优化。
3)使用一些测试工具,比如teslin云测平台
以手上测试APP为例,其FPS测试结果如下图所示:
4)使用第三方测试工具: GT等。
5)使用AndroidStudio自带的检测工具Android Monitor。
以上便是性能测试中篇的内容。
都看到这里了,动动你的小手,来波收藏、转发、关注、点个赞呗[心][心][心]