上线半年后的一个稳定项目的数据情况(截取一段分享)
/*使用drmemory,这里需要发布1个32位的程序*/ 具体配置安装这里就不说了,会有几个必须装的东西。
[游戏名]做了一版性能测试
xxxxxx 应用版本1.1.2 1212资源版本
应用包:cc.xxxxx.xxxxx.qihoo --adb获取包名
操作手机:xiaomi mi4w 操作系统:4.4.4 (稳定) --每个公司最好都维护一份硬件库
游戏内运行30分钟 30分钟是一种基本游戏标准
---------------------------------------------------------------------------------------------------------------
cpu avg: 27.52% 略高
cpu max: 53.23% 略高 是瞬间 控制在3秒内
mem avg:150.961Mb 较之前2个版本前的包高了20mb
mem max: 194.94Mb 内存增长平缓 --游戏操作内容这里隐藏掉了
os distribution mem: 64Mb 自动分配 根据硬件自己分配的
Ah 2.3%/h ok
--------------------------------------------------------------------------------------------------------------
1)悬停在聊天界面cpu会增长5~7%-非瞬间行为
在销毁界面后恢复正常,多次操作也会增长内存。但移动到其他界面等待xx秒会恢复正常,这里发现某些页面加载过多的信息导致。(同样在超过3个图层,登陆领取奖励也存在,3个图层中有多个透明通道问题,3个图层重叠写法也会有一定关系。)
2)如果连接usb也会影响部分数据,尤其是耗电。
3)drmemory虽然简单,但这是1个很好学习所有可能会引发内存问题的工具。
NO ERRORS FOUND:
0 unique, 0 total unaddressable access(es) -无非法的内存访问,这里出问题,需要看堆栈信息
0 unique, 0 total uninitialized access(es) -初始化地址,方式一
0 unique, 0 total invalid heap argument(s) -内存堆栈,方式二
0 unique, 0 total GDI usage error(s) -GDI对象,方式三
0 unique, 0 total handle leak(s) -句柄问题
0 unique, 0 total warning(s) -内存预警
0 unique, 0 total, 0 byte(s) of leak(s)
0 unique, 0 total, 0 byte(s) of possible leak(s)
性能测试 基准测试
1.对于非功能点的进行性能测试,结合壳和游戏,这里可以用包进程 看内存。
set package1=xxx
set process=com.xxxx.xxxx.xxxx
adb shell dumpsys meminfo %package1% | findstr "Pss" > ./meminfo.txt
:start
adb shell dumpsys meminfo %package1% | findstr "TOTAL" >> ./meminfo.txt
2.场景设计:主场景和固定操作进行性能测试 ,主场景就是核心场景和每个场景分别进入时记录,固定操作是指打开/关闭,a界面->b界面->a界面,a界面->a1界面->a2界面
monkey里的一些性能设置,不太合适使用,可以在内网pc上记录或者线上环境记录。
以上2种都是记录参数,每个里程碑版本比对一次差值,如果每个版本差值变化较大,开始分析是新增资源问题(gdi,内存纹理预警)还是代码问题,是否存在优化代码被覆盖等,关键字是差值。
性能测试启动的时机,debug版本问题结束后,才有做的必要,开发阶段做的必要不大。