概要
本文会对本人在使用白鹭做h5游戏进行性能测试的过程送使用的工具做一些简单记录。
包括 内存,cpu,耗电,启动时间,网络监控,弱网络,流量几个方面介绍。
背景
玩吧提测有一个性能需要求列表。需要每项指标达到要求。
测试性能基于公司项目的游戏,使用游戏引擎是egret,在android端是使用的webview加载游戏链接来展示游戏的方式。
性能要求列表
项目 | 指标 |
---|---|
内存 | 1.游戏内反复切换tab,切换场景,滑动页面等场景不存在内存泄露,给出数据并说明结论; 2.运行过程中内存峰值<单个应用程序最大可能内存的60%;3.退出游戏后内存恢复到进入游戏前的占用值; |
电量 | 程序放后台或处于飞行模式的情况下耗电小于10mAh; |
流量 | 无异常流量消耗;不存在资源的重复拉取; |
弱网络 | 1.无crash;2.体验方面提示用户网络环境差;3.拉取失败能正常返回; |
cpu | CPU 启动时cpu占比<20%;运行时cpu占比峰值<80%; |
Crash | 网络/网络状态发生变化时/连续8小时运行,无crash; |
流畅度 | avgFPS不小于40;inFPS大于0; |
打开速度 | (从空间“正在进入游戏”页面消失开始算,到用户看到游戏界面为止)分ios/andriod 社交类游戏(指消除类、益智类等小游戏)首次启动时间,分wifi/3G/2G网络,wifi和3G下小于2秒,2G下小于8秒非首次启动时间,分wifi/3G/2G网络,wifi和3G下小于1.5秒,2G下小于6秒;中度重度游戏(指卡牌、RPG等题材类游戏)首次启动时间,分wifi/3G/2G网络,wifi和3G下小于3秒,2G下小于10秒非首次启动时间,分wifi/3G/2G网络,wifi和3G下小于2秒,2G下小于7秒 |
需要检查项
1. 内存
2. cpu占用
3. 耗电监控
4. 启动耗时监控
5. 网络
6. 流量监控
内存
方法一:TBs hybrid h5调试
手机qq,空间,微信,打开 http://debugx5.qq.com , 点“信息”,”是否打开TBS内核inspector 调试功能”,
android手机usb连电脑,chrome ,chrome://inspect/#devices.
手机上打开h5界面,,在chrome里找到对应的手机的webview,点inspect开始调试。
(可以通过timeline来查看和保存,也可以通过profile中,heap snapshot的方式截取对比内存查看是否内存泄露,也可以进行data的dump )
(可分析js函数内存使用) (https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/timeline-tool?hl=zh-cn)
Summary 视图可以显示按构造函数名称分组的对象。使用此视图可以根据按构造函数名称分组的类型深入了解对象(及其内存使用)。此视图特别适用于跟踪 DOM 泄漏。
Comparison 视图可以显示两个快照之间的不同。使用此视图可以比较两个(或多个)内存快照在某个操作前后的差异。检查已释放内存的变化和参考计数让您可以确认是否存在内存泄漏及其原因。
Containment 视图允许您探索堆内容。此视图提供了一种更好的对象结构视图,有助于分析全局命名空间 (window) 中引用的对象以找出是什么让它们始终如影随形。使用此视图可以分析闭包以及在较低级别深入了解您的对象。
Dominators 视图可以显示支配树,并且对于查找聚集点非常有用。此视图有助于确认对对象的意外引用已消失,以及删除/垃圾回收正在运行。
感受:
优点是因为腾讯的浏览器是基于chrome内核的优化,所以可以进行远程debug调试