Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >性能优化测试中的相关名词

性能优化测试中的相关名词

原创
作者头像
WeTest质量开放平台团队
修改于 2020-04-28 02:05:38
修改于 2020-04-28 02:05:38
3.1K0
举报

当一个APP或游戏各种功能越来越多时,性能优化的重要性就不言而喻了,况且现在APP或游戏的功能逐渐趋同,提升用户体验已从产品设计本身转到了APP或游戏的流畅性上,这也让越来越多的开发者更加关注性能优化与测试。前段时间PerfDog研发团队曾带来《腾讯游戏性能实战案例分享之帧率陡变1.0》和《APP&游戏需要关注Jank卡顿吗?》两篇关于帧率与Jank的专业分析文章,本次我们就来看看在性能优化测试中会遇到的哪些名词。

FPS

FPS是图像领域中的定义,是指画面每秒渲染帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量,每秒钟帧数越多,所显示的动作就会越流畅。FPS也可以理解为我们常说的刷新率,1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS。

    1.Avg(FPS):平均帧率(一段时间内平均FPS)

    2.Var(FPS):帧率方差(一段时间内FPS方差)

    3.Drop(FPS):降帧次数(平均每小时相邻两个FPS点下降大于8帧的次数)

可以参考下面的表格,用户打游戏的时候延迟不应该大于100毫秒,否则用户的体验就会非常差。100—300毫秒用户就可以感受到延迟,再多到了1秒的话用户的注意力会转移,10秒以上用户就会抛弃这款应用。

Jank

1s内卡顿次数,类似Android的Jank卡顿和iOS的FramePacing平滑度统计原理。帧率FPS高并不能反映流畅或不卡顿。比如:FPS为50帧,前200ms渲染一帧,后800ms渲染49帧,虽然帧率50,但依然觉得非常卡顿。同时帧率FPS低,并不代表卡顿,比如无卡顿时均匀FPS为15帧。所以,平均帧率FPS与卡顿无任何直接关系。

关于Jank的详细内容可以查看《APP&游戏需要关注Jank卡顿吗?》这篇文章。

PerfDog计算方法:同时满足两条件,则认为是一次卡顿Jank.

    1.当前帧耗时>前三帧平均耗时2倍。

    2.当前帧耗时>两帧电影帧耗时(1000ms/24*2=84ms)。

同时满足两条件,则认为是一次严重卡顿BigJank.

    1.当前帧耗时>前三帧平均耗时2倍。

    2.当前帧耗时>三帧电影帧耗时(1000ms/24*3=125ms)。

计算思路:考虑视觉惯性,假设以前三帧的平均帧耗时为参考,作为vsync时间间隔,连续两次vsync没有新渲染画面刷新,则认为是一次潜在卡顿,也就是说下一帧耗时大于前三帧平均帧耗时2倍,则认为一次潜在卡顿。同时单帧耗时满足大于两倍电影帧耗时1000ms/24*2 (由于人眼低于24帧才能辨别画面不连续性),则认为是一次真正卡顿。同时若单帧耗时大于3倍电影帧耗时,则认为是一次严重卡顿。

注解:为什么是两次vsync?GPU一般是3重缓冲buffer,当前帧已占用一个buffer,即剩余2缓冲buffer,人眼一般可容忍2帧延迟。为什么是两帧电影帧耗时?低于24帧画面,人眼就能感知到画面不连续性,电影一般都是24帧。即电影帧耗时1000ms/24=41.67ms,两帧电影帧耗时也就是41.67ms*2,三帧电影帧耗时是41.67ms*3。

    1.BigJank:1s内严重卡顿次数

    2.Jank(/10min):平均每10分钟卡顿次数。

    3.BigJank(/10min):平均每10分钟严重卡顿次数

FTime

上下帧画面显示时间间隔,即认为帧耗时。

    1.Avg(FTime):平均帧耗时

    2.Delta(FTime):增量耗时(平均每小时两帧之间时间差>100ms的次数)

CPU Usage

Total整机/App进程,CPU使用率其实就是你运行的程序占用的CPU资源,表示你的机器在某个时间点的运行程序的情况。使用率越高,说明你的机器在这个时间上运行了很多程序,反之较少。使用率的高低与你的CPU强弱和程序优化的好坏有直接关系。

CPU Clock

各个CPU核心的频率和使用率

Memory

内存用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要移动端在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存占用多少决定了移动端是否能稳定运行。Android PSS Memory实际使用的物理内存,统计结果和Android Java API标准结果一致,与Meminfo也一致。iOS是统计FootPrint,注:OOM与FootPrint有关,与系统、机型无关。只与RAM有关,如1G内存机器。FootPrint超过650MB,引发OOM。

Xcode Memory 

XCode Debug Gauges统计方式即XCode Memory。

Real Memory

Xcode Instrument统计方式即Real Memory,实际占用物理内存。注:物理内存与系统策略有关,关注意义不大

Swap Memory

Swap Memory,部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低

Virtual Memory

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

内存耗用 VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

OOM

OOM,全称“Out Of Memory”,就是内存溢出,一般是由于程序编写者对内存使用不当,如对该释放的内存资源没有释放,导致其一直不能被再次使用而使计算机内存被耗尽的现象。重启计算机即可,但根本解决办法还是对代码进行优化。

内存溢出可以引发很多的问题:     1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC)     2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长)     3.直接崩溃(OutOfMemoryError)

ANR

在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现ANR,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。

Wakeups

线程唤醒次数。注:超过150进程很大可能会被系统kill

CSwitch

上下文切换测试。注:单核超过14000进程会被系统Kill

GPU Usage

GPU使用率,PerfDog目前支持高通芯片手机

GPU Frequency

GPU频率,PerfDog目前支持高通芯片手机

GPU Utilization

Render/Tilter/Device

    1.Render:渲染器利用率(像素着色处理阶段,若占比高,说明是PS阶段出现瓶颈,shader过于复杂或纹理大小、采样复杂等)

    2.Tilter:Tilter利用率(顶点着色处理阶段,若占比高,说明是VS阶段出现瓶颈,顶点数太多等原因)

    3.Device:设备利用率(整体GPU利用率)

Network

Recv目标进程接收流量速率,Send目标进程接收、发送流量速率。

CTemp

CPU温度

BTemp

电池温度

Battery Power

整机实时Current电流、Voltage电压、Power功耗(注:PerfDog目前在Android平台每秒获取多次;在iOS平台20s获取一次,目前最精准的统计方式,结果和Battery life结果一致,支持所有iOS机型)

Energy Usage

即为Xcode Energy Impact。监控应用使用的能耗情况(包括CPU、GPU、NetWork、Location、Display (iPhone X only)、Overhead)。

注:和Xcode Energy Impact结果一致。有线模式下测试。Total Energy<270为Low,270 < Total Energy < 1000为High,Total Energy>1000为Very High。

上面对性能优化测试中会遇到的一些名词做了简单的总结,难免会有一些遗漏,欢迎小伙伴们前往PerfDog社区(https://bbs.perfdog.qq.com/)交流补充。

PerfDog作为最新的移动全平台性能测试分析工具已经支持上述提到的绝大多数性能参数的测试,例如手机测评者最关心的游戏PFS、GPU使用率、CPU温度、电池功耗等和开发工程师与测试工程师最关心的CPU使用率、内存占用,网络流量速度等。如果您也对性能优化测试感兴趣,不妨前往PerfDog官网下载试用。后续PerfDog研发团队还会针对不同的性能参数继续为大家带来高质量的深度技术解析内容,敬请期待。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
移动端性能测试必备工具PerfDog性能狗
在项目研发支持过程中,经历如上障碍和痛苦。我们决定做一个完全独立、简单易用,与APP版本、系统版本、系统平台无任何关系的性能平台。
WeTest质量开放平台团队
2020/09/01
2.8K0
WeTest明星工具-移动端性能测试PerfDog初探
在十一月初,腾讯就官宣了一则消息,腾讯WeTest明星工具-PerfDog面向全球发布。官宣介绍如下:https://wetest.qq.com/lab/view/475.html。我在看到该新闻时,有种大开眼界的感觉,移动端的性能测试原来可以这么简单。今天闲暇之余,来了一波初探,简单体验了一番。
WeTest质量开放平台团队
2020/09/08
1.3K0
PerfDog 下性能测试分析记录(Android)
最近做的项目需要和Unity做交互, Unity作为一款游戏引擎, 还是很耗性能的, 所以找了找性能测试的工具, 发现了腾讯的PerfDog, 记录一下使用心得。
WeTest质量开放平台团队
2020/11/24
1.5K0
PerfDog 下性能测试分析记录(Android)
PerfDog使用说明书
English User's Guide:https://bbs.perfdog.qq.com/article-detail.htmlid=7
WeTest质量开放平台团队
2020/12/08
2.6K0
APP性能测试—PerfDog
PerfDog是一个移动全平台Android/iOS性能测试、分析工具。可以快速定位分析性能问题。手机无需ROOT/越狱,手机硬件、游戏及应用APP也无需做任何修改,极简化即插即用。
清风穆云
2021/08/09
4.2K0
APP性能测试—PerfDog
初识PerfDog
小编最近刚接触了一款性价比较高的性能评测工具-PerfDog,这是腾讯旗下的一款移动全平台iOS/Android性能测试及指标分析工具平台,简而言之就是测试采集手机在运行App时的性能指标数据:FPS、Jank、FTime、CPU、GPU、Memory、Battery 、Network、CTemp等性能参数,从而快速定位分析App的性能问题,小编在这里主要介绍下相关名词含义、使用技巧及案例分析。
用户5521279
2020/12/11
3K0
初识PerfDog
【PerfDog专家课堂】APP&游戏需要关注Jank卡顿吗?
导语   本次技术干货分享主要是讲解PerfDog卡顿Jank定义、原理及影响。内容将分为五部分:FrameTime、FPS、流畅度、Jank、影响。从深层次分析在性能测试工作中这五部分起到的重要意义。 第一部分:FrameTime FrameTime 的定义:两帧画面间隔耗时(也可简单认为单帧渲染耗时)。 对于FrameTime和卡顿是否有关联?请看下图的案例图示:   从图中可看出画面中B帧在GPU渲染耗时(帧生成时间)大于显示器刷新间隔,占用两次显示器刷新耗时。也就是说有一次画面没刷新。当出现多
WeTest质量开放平台团队
2019/12/24
3.8K0
【PerfDog专家课堂】APP&游戏需要关注Jank卡顿吗?
APP&游戏需要关注Jank卡顿吗?
    本次技术干货分享主要是讲解PerfDog卡顿Jank定义、原理及影响。内容将分为五部分:FrameTime、FPS、流畅度、Jank、影响。从深层次分析在性能测试工作中这五部分起到的重要意义。
WeTest质量开放平台团队
2020/04/07
1.5K0
APP&游戏需要关注Jank卡顿吗?
实战PerfDog优化小游戏性能
背景: 我们的引擎是Egret,使用的是原生的EUI,转微信小游戏; 工程第一版出来后使用PerfDog测试一波数据。结果发现很多问题,本文主要分两部分
WeTest质量开放平台团队
2020/08/25
1.1K0
Android深入卡顿分析与实践
1、视觉惯性 视觉预期帧率,用户潜意识里认为下帧也应该是当前帧率刷新比如一直60帧,用户潜意识里认为下帧也应该是60帧率。刷新一直是25帧,用户潜意识里认为下帧也应该是25帧率。但是刷新如果是60帧一下跳变为25帧,扰乱用户视觉惯性。这个时候就会出现用户体验的卡顿感。
QQ音乐技术团队
2023/12/20
1.9K0
Android深入卡顿分析与实践
PerfDog测试腾讯视频、优酷、爱奇艺视频类小程序性能
自从经朋友介绍PerfDog这款移动端测试神器后就一直在使用它测试大型游戏的流程度,前两天使用腾讯视频追剧分享到微信时发现发现的链接直接进入腾讯视频的小程序中,试了多个视频软件皆是如此,于是想要试试用PerfDog测试一下各家视频小程序实际使用的性能到底如何。
WeTest质量开放平台团队
2020/05/18
1.3K0
PerfDog测试腾讯视频、优酷、爱奇艺视频类小程序性能
克魔助手 - iOS性能检测平台
众所周知,如今的用户变得越来越关心app的体验,开发者必须关注应用性能所带来的用户流失问题。目前危害较大的性能问题主要有:闪退、卡顿、发热、耗电快、网络劫持等,但是做过iOS开发的人都知道,在开发过程中我们没有一个很直观的工具可以实时的知道开发者写出来的代码会不会造成性能问题,虽然Xcode里提供了耗电量检测、内存泄漏检测等工具,但是这些工具使用效果并不理想(如Leak无法发现循环引用造成的内存泄漏)。所以这篇文章主要是介绍一款实时监控app各项性能指标的工具,包括CPU占用率、内存使用量、内存泄漏、FPS、卡顿检测,并且会分析造成这些性能问题的原因。
爱学iOS的小麦子
2024/02/02
3340
Perfdog玩转内存泄漏
最近QC同学在跑游戏的过程中发现玩的时间久了游戏会发生闪退,经过搜集信息后排除了功能性bug的
WeTest质量开放平台团队
2020/06/30
8220
Perfdog玩转内存泄漏
腾讯游戏性能实战案例分享之帧率陡变
 在最近一次游戏性能专项测试过程中发现帧率陡降,开发同学分析源代码堆栈信息,折腾了很久一直无法定位原因,最终定位到原来是手机发热降频引起。
WeTest质量开放平台团队
2020/04/07
6500
腾讯游戏性能实战案例分享之帧率陡变
Android性能优化-渲染优化
我们在开发的过程中,可能经常会遇到测试的一些反馈,就是APP运行卡顿的问题。我们通常所讲的卡顿问题都是因为渲染掉帧的问题引起视觉上的卡顿感。所以了解渲染机制,我们在项目的开发过程中,可以有意识的少挖坑。同时要打造一款精品的应用,注意渲染优化也是非常重要的一件事情。
Anymarvel
2018/10/22
1.5K0
Android性能优化-渲染优化
腾讯游戏性能实战案例分享之帧率陡变
导语 在最近一次游戏性能专项测试过程中发现帧率陡降,开发同学分析源代码堆栈信息,折腾了很久一直无法定位原因,最终定位到原来是手机发热降频引起。 有经验一看完整的性能数据,基本一眼都能看出问题原因。需要强调一点:分析问题需要整体数据联动分析,单独看某单一信息是没是意义的。这个案例很典型,所以将本次性能实战经验分析出来,,希望对测试或者开发同学有些帮助。 一月一度的游戏性能专项回归测试过程中,我们在Galaxy S9 Plus手机上测试发现,帧率出现陡降问题,非常有规律的:进入游戏玩一段时间帧率FPS出现缓慢
腾讯Bugly
2019/12/16
3.6K0
腾讯游戏性能实战案例分享之帧率陡变
【PerfDog专家课堂】腾讯游戏性能实战案例分享之帧率陡变
导语   在最近一次游戏性能专项测试过程中发现帧率陡降,开发同学分析源代码堆栈信息,折腾了很久一直无法定位原因,最终定位到原来是手机发热降频引起。   有经验一看完整的性能数据,基本一眼都能看出问题原因。需要强调一点:分析问题需要整体数据联动分析,单独看某单一信息是没是意义的。这个案例很典型,所以将本次性能实战经验分析出来,希望对测试或者开发同学有些帮助。   一月一度的游戏性能专项回归测试过程中,我们在Galaxy S9 Plus手机上测试发现,帧率出现陡降问题,非常有规律的:进入游戏玩一段时间帧率
WeTest质量开放平台团队
2019/12/27
1.2K0
【PerfDog专家课堂】腾讯游戏性能实战案例分享之帧率陡变
PerfDog发布全新指标,为游戏量身打造
近日,移动性能测试工具Perfdog正式发布了V7.1版,迎来了“2022年的首次重大版本更新”,针对游戏性能评估创新发布全新指标稳帧指数Smooth、微小卡顿SmallJank等。同时,新版本独家新增安卓系统GPU、Battery、NPU温度、帧能耗指标FPower等众多内容,致力于为用户提供更便捷、更高效、更准确的测试体验。接下来,让我们一起看看具体的更新内容。 PerfDog 7.1版本更新内容速览 PerfDog 7.1版本现已上线,还没有体验的小伙伴们点击文末“阅读原文”前往PerfDog官网
WeTest质量开放平台团队
2022/05/16
1K0
PerfDog发布全新指标,为游戏量身打造
Android 性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个 方面展开,Android的渲染机制,内存与GC,电量优化。下面是对这些问题和建议的总结梳理。
Android架构
2019/07/09
1.1K0
直播回顾 | 移动产品质量管理如何实践?听听行业大咖怎么说(附直播回放)
6月24日,腾讯WeTest质量云首场专题直播《十年磨一剑,匠心铸造PerfDog》圆满收官。 本次直播,WeTest邀请MTSC中国互联网测试开发大会主席、腾讯资深测试技术总监、明星性能工具PerfDog创始人曹文升(Awen)老师,为大家揭秘和全面解读了明星产品背后的起源、诞生、成长故事,PerfDog创新指标的涵义与作用,并与线上观众共同探讨了移动产品质量管理的的前沿技术与应用实践。 下面让我们一起来回顾,Awen老师在直播过程中的精彩演讲吧。 01 厚积薄发 十年匠心打磨 PerfDog团队从20
WeTest质量开放平台团队
2022/07/12
7440
直播回顾 | 移动产品质量管理如何实践?听听行业大咖怎么说(附直播回放)
相关推荐
移动端性能测试必备工具PerfDog性能狗
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档