性能测试实践 | PerfDog助力微信小游戏/小程序性能调优
概述
随着近年来微信生态圈的发展,小游戏,小程序也随之爆火,同样伴随着的便是对于小游戏/小程序的用户体验的严格要求,微信团队也在自家的微信平台推荐使用PerfDog测试小游戏/小程序的性能。
1.评测指标
从小游戏的运行周期来看,开发者必须主要关注启动和运行两个阶段产生性能问题。
启动阶段: 启动时长,该数据将显著影响用户打开留存率
运行阶段: 内存峰值、Crash率、CPU占用、流畅度、网络等
兼容性问题: 包括JS异常、黑屏等严重问题
Android现网性能评测标准
Android现网性能评测标准
2.评测工具
1.PerfDog:
可以使用PerfDog完成性能数据获取
运行性能:完成游戏主流程对局5~10min, PerfDog记录性能数据并上传,取平均值,每种机型测试3组数据再取平均,内存峰值取最大值。
启动性能: 采用录屏分帧方法获取,取10次测试平均值。
2.小游戏数据助手
也可以使用小游戏数据助手应用中的“数据-性能分析”获取现网玩家的性能采集数据。
小游戏数据助手:https://developers.weixin.qq.com/minigame/analysis/assistant.html
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现网性能评测标准:
附上小游戏官方文档:
小游戏性能优化:https://developers.weixin.qq.com/minigame/dev/guide/performance/perf-overview.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2018-07-20 游戏人工智能 读书笔记(一)前言与介绍