性能测试实践|PerfDog助力微信小游戏/小程序性能调优
概述
随着近年来微信生态圈的发展,小游戏,小程序也随之爆火,同样伴随着的便是对于小游戏/小程序的用户体验的严格要求;微信团队也在自家的微信平台推荐使用PerfDog测试小游戏/小程序的性能。
1.评测指标
从小游戏的运行周期来看,开发者必须主要关注启动和运行两个阶段产生性能问题。
启动阶段: 启动时长,该数据将显著影响用户打开留存率
运行阶段: 内存峰值、Crash率、CPU占用、流畅度、网络等
兼容性问题: 包括JS异常、黑屏等严重问题
Android现网性能评测标准
Android现网性能评测标准
2.评测工具
1.PerfDog:
可以使用PerfDog完成性能数据获取
运行性能: 完成游戏主流程对局5~10min, PerfDog记录性能数据并上传,取平均值,每种机型测试3组数据再取平均,内存峰值取最大值。
启动性能: 采用录屏分帧方法获取,取10次测试平均值。
2.小游戏数据助手
也可以使用小游戏数据助手应用中的“数据-性能分析”获取现网玩家的性能采集数据:
小游戏数据助手
3.PerfDog测试流程
1.运行性能数据获取:
首先我们用同一款手机测试3次小游戏的主流对局5~10min,取均值
需要注意的是,微信是多线程运行的为了更准确的测试,我们可以用PerfDog对小游戏的线程进行测试:
注意: 每次测试均要尽最大可能保证测试用例的一致性,记得区分游戏是否限制了帧率
我这里使用的是限帧30的小游戏
我们可以使用对比功能查看详细的数据
概览对比可以快速查看每组测试用例的数据,
基于以上的数据,我们算出3组测试用例的各项数据的均值就是
FPS均值 | CPU占用均值 | 内存峰值均值 |
---|---|---|
23.63 | 25.2 | 387.2 |
我这里除了FPS有些不稳定,其他的性能数据还不错;
2.启动耗时
启动耗时微信推荐使用的是
采用录屏分帧方法获取,取10次测试平均值
同样我们可以开启PerfDog的截图功能,轻松获取耗时
我在00:06启动小游戏,由于在00:10的时候进度条还有一部分没加载完,所以加载完成算在00:11
本次的启动耗时就是:11-6=5(S)=5000(毫秒)
需要注意是冷启动的耗时 !!! 也就是把进程在后台彻底杀死再启动的耗时。
这是我第二次测试的耗时
由于00:09时未完成算00:10,所以:
第二次耗时: 10-5=5(秒)=5000(毫秒)
我们需要共测试10次,然后算出均值。
这里就不一一放出截图了,最后算出来的均值再去上面的表格找到自己的标准就可以确定小游戏的性能情况了;
4.补充
小程序和小游戏的测试测试流程一样的。PerfDog 同样也可以测试IOS的性能,操作过程同样简单,感兴趣的可以自行测试哟!
围绕核心就是:
运行性能: 完成游戏主流程对局5~10min, PerfDog记录性能数据并上传,取平均值,每种机型测试3组数据再取平均,内存峰值取最大值。
启动性能: 采用录屏分帧方法获取,取10次测试平均值。
附上IOS的标准:
iOS开发阶段性能评测标准:
iOS现网性能评测标准:
附上小游戏官方文档:
小游戏性能优化
这里与本篇文章无关
喜欢二次元动漫的小伙伴可以微信扫一扫关注一下哟,点赞关注,鼓励一下博主呦
性能测试实践|PerfDog助力微信小游戏/小程序性能调优相关推荐
- DB2 最佳实践: 性能调优和问题诊断最佳实践
最佳实践的相关文章可见:http://www.ibm.com/developerworks/cn/data/bestpractices/ DB2 最佳实践: 性能调优和问题诊断最佳实践,第 1 部分 ...
- iOS如何测试微信小游戏小程序?
"微信小游戏性能评测标准建立的初衷是希望能引导开发者优化相关性能数据,提升用户体验.评测标准根据小游戏整体的性能数据表现.玩家体验评价,结合操作系统.机型分档.网络条件等多种维度建立.&qu ...
- android调用微信程序,Android如何测试微信小游戏小程序?
"微信小游戏性能评测标准建立的初衷是希望能引导开发者优化相关性能数据,提升用户体验.评测标准根据小游戏整体的性能数据表现.玩家体验评价,结合操作系统.机型分档.网络条件等多种维度建立.&qu ...
- android 微信检测工具,Android 如何测试微信小游戏小程序?
"微信小游戏性能评测标准建立的初衷是希望能引导开发者优化相关性能数据,提升用户体验.评测标准根据小游戏整体的性能数据表现.玩家体验评价,结合操作系统.机型分档.网络条件等多种维度建立.&qu ...
- 微信小游戏 - 小游戏 vs H5 游戏性能对比和分析
这是个人关于微信小游戏系列文章的第三篇,在这系列文章里会描述 -- 如何把一些 Canvas/WebGL Demo 移植到小游戏环境并支持双端运行: 对小游戏在 Android 平台的运行时架构进行分 ...
- 用C语言实现推箱子小游戏基础程序plus
目录 设计一个简单的推箱子游戏 功能设计要求: 代码实现 数据定义头文件data_def.h 窗口设置头文件WindowsSet.h WindowsSet.cpp 上移函数 矩阵旋转函数 游戏帧 菜单 ...
- cocos creator 接QQ小游戏小程序RewardedVideoAd 激励视频广告sdk
cocos creator 接QQ小游戏小程序RewardedVideoAd 激励视频广告sdk 开发者工具 0.1.26 版本开始支持调试广告组件 话说你们看完为什么不留言点赞? 首先,你需要初始化 ...
- python小游戏小恐龙1
python小游戏小恐龙1 #coding=utf-8 #coding=gbk import pygame from itertools import cycle from pygame.locals ...
- 【Python】这10个Python性能调优的小技巧,你知道几个?
这篇文章关于Python性能调优的10个小技巧,每天花5-10分钟阅读我的文章,对你技术提升一定会有帮助. 1 多多使用列表生成式 替换下面代码: cube_numbers = []for n in ...
最新文章
- oracle 状态unknown,Oracle RAC 一个节点的instance资源状态为unknown
- 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶 1
- 字母全排列快速算法C代码
- centos 配置yum源
- python执行cmd并返回是否成功_python脚本执行CMD命令并返回结果的例子
- 作为程序员,这些实用工具你必须要知道!
- 香蕉派 Banana pi BPI-M1+ 双核开源单板计算机. 板载WIFI
- 怎么委婉地不让婆婆每天来我家?
- python 解析pb文件_将tensorflow模型打包成PB文件及PB文件读取方式
- 两轮差速驱动机器人运动模型及应用分析
- kotlin set 私有_Kotlin可见性修改器–公共,受保护,内部,私有
- More Exceptional C++起步于Exceptional C++驻足之处
- CentOS 6.X配置 NFS以及启动和mount挂载
- 卡方检验详解分析与实例
- 【渝粤题库】陕西师范大学209004道德教育案例研究 作业 (高起专)
- 阿里巴巴 html圆代码,阿里巴巴国际站HTML代码全透视
- 陈莉君教授: 回望踏入Linux内核之旅(下篇)
- php中文搜索工具,Laravel 下 TNTSearch+jieba-PHP 实现中文全文搜索
- GZIPOutputStream GZIPInputStream 数据压缩解压
- ACM图论+数据结构杂题总结