一种获取运行帧率的方法及终端技术

技术编号:17441981 阅读:109 留言:0更新日期:2018-03-10 14:40
本发明专利技术实施例公开了一种获取运行帧率的方法及终端,该方法包括:获取应用程序的运行界面在终端屏幕上每次刷新的时间;计算相邻两次刷新之间的时间差;根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。本发明专利技术实施例还公开了一种终端。本发明专利技术实施例能够获取应用程序的运行帧率,以便开发者了解该应用程序的性能瓶颈并进行优化。

【技术实现步骤摘要】
一种获取运行帧率的方法及终端
本专利技术涉及电子
,尤其涉及一种获取运行帧率的方法及终端。
技术介绍
随着移动终端设备的普及,开发高性能的应用程序也变得越来越重要。运行帧率是应用程序的运行性能的一个重要指标,应用程序的运行帧率越高,其显示效果就会越流畅,用户的使用体验就越好。然而,应用程序的开发过程中通常存在瑕疵,致使应用程序的运行帧率无法达到要求如出现卡顿现象等,这时就需要获取应用程序的运行帧率以供开发者找到该应用程序的性能瓶颈并进行优化。
技术实现思路
本专利技术实施例提供一种获取运行帧率的方法及终端,其能够获取应用程序的运行帧率,以便开发者了解该应用程序的性能瓶颈并进行优化。第一方面,本专利技术实施例提供了一种获取运行帧率的方法,该方法包括:获取应用程序的运行界面在终端屏幕上每次刷新的时间;计算相邻两次刷新之间的时间差;根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。另一方面,本专利技术实施例提供了一种终端,该终端包括:获取单元,用于获取应用程序的运行界面在终端屏幕上每次刷新的时间;计算单元,用于计算相邻两次刷新之间的时间差,以及根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。本专利技术实施例通过获取应用程序的运行界面在终端屏幕上每次刷新的时间,并计算相邻两次刷新之间的时间差,根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。本专利技术实施例能够获取应用程序的运行帧率,以便开发者了解该应用程序的性能瓶颈并进行优化。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种获取运行帧率的方法的示意流程图;图2是图1中步骤S101的子流程示意图;图3是本专利技术另一实施例提供的一种获取运行帧率的方法的示意流程图;图4是本专利技术又一实施例提供的一种获取运行帧率的方法的示意流程图;图5是本专利技术实施例提供的一种终端的示意性框图;图6是图5中获取单元的示意性框图;图7是本专利技术另一实施例提供的一种终端的示意性框图;图8是本专利技术又一实施例提供的一种终端的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。参见图1,是本专利技术实施例提供的一种获取运行帧率的方法的示意流程图。如图所示,该获取运行帧率的方法包括步骤S101~S103。S101,获取应用程序的运行界面在终端屏幕上每次刷新的时间。具体地,在本专利技术实施例中,该方法能够适用于各类不同的应用程序,在该方法开始之前需要先将对应的应用程序打开以使该应用程序运行在终端上,并获取应用程序的运行界面在终端屏幕上每次刷新的时间。需要说明的是,当该应用程序运行在终端上时,终端屏幕刷新率的大小与该应用程序的运行帧率的大小相同。其中,运行帧率用于测量显示帧数的量度,其测量单位为每秒显示帧数(FramesperSecond,简称:FPS),帧数是在1秒时间里传输的图片的量,也可以理解为终端的图形处理器每秒钟能够刷新几次。在影视制作和电子游戏中,每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象,且高运行帧率可以得到更流畅、更逼真的画面。参照图2,是步骤S101的子流程示意图。如图所示,步骤S101包括步骤S201~S204。S201,在所述应用程序中构建CADisplayLink对象。具体地,CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将应用程序的界面显示到中终端屏幕上的定时器。CADisplayLink具有timestamp属性,该timestamp属性表示终端屏幕显示的上一帧的时间戳,即终端屏幕的刷新时间。S202,将所述CADisplayLink对象添加到runloop函数中,所述runloop函数与所述应用程序相对应。具体地,进程是指在终端中正在运行的一个应用程序,一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,从而形成基于多线程的多任务。当该应用程序处于正在运行状态时,runloop函数运行在应用程序的主线程,runloop函数是一个不停的循环,不断的检测输入,runloop函数的作用在于当有事情要做时它使当前的线程工作,没有事情做时又使线程休眠。应用程序在启动时就设置了runloop函数和使用runloop函数来处理事件和更新基于视图的界面这样就确保与接收到用户相关的事件被有序地处理。在本专利技术实施例中,在该应用程序中构建了CADisplayLink对象之后,将该CADisplayLink对象添加到runloop函数中。S203,为所述CADisplayLink对象提供一个target和selector以使所述target与所述CADisplayLink对象进行绑定。S204,在终端屏幕每次刷新时所述runloop函数调用CADisplayLink对象绑定的target上的selector以使所述target获取CADisplayLink对象每次调用的时间戳,所述时间戳用于记录终端屏幕刷新的时间。S102,计算相邻两次刷新之间的时间差。具体地,在专利技术实施例中,步骤S101获取应用程序的运行界面在终端屏幕上每次刷新的时间之后,根据当前获取的刷新时间和前一次获取的刷新时间计算出相邻两次刷新的时间差。如当前获取的刷新时间为T1,前一次产生的刷新时间为T2,则终端屏幕相邻两次刷新的时间差ΔT=∣T1-T2∣,该时间差ΔT即为终端屏幕刷新周期。S103,根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。具体地,根据终端屏幕相邻两次刷新的时间差ΔT=∣T1-T2∣,则终端屏幕刷新率ΔF=1/ΔT,从而可知终端屏幕刷新率为ΔF=1/(∣T1-T2∣)。由于应用程序的运行帧率的大小与终端屏幕刷新率大小相同,故可以终端中正在运行的应用程序的运行帧率为ΔF=1/(∣T1-T2∣)。本专利技术实施例通过获取应用程序的运行界面在终端屏幕上每次刷新的时间,并计算相邻两次刷新之间的时间差,根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。本专利技术实施例能够获取应用程序的运行帧率,以便开发者了解该应用程序的性能瓶颈并进行优化。参见图3,是本专利技术另一实施例提供的一种获取运行帧率的方法的示意流程图。如图所示,该方法包括步骤S301~S305。S301,获取应用程序的运行界面在终端屏幕上每次刷新的时间。S302,计算相邻两次刷新之间的时间差。S303,根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。步骤S301~S303同上,此处不再赘述。S304,根据所述运行本文档来自技高网...
一种获取运行帧率的方法及终端

【技术保护点】
一种获取运行帧率的方法,其特征在于,包括:获取应用程序的运行界面在终端屏幕上每次刷新的时间;计算相邻两次刷新之间的时间差;根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。

【技术特征摘要】
1.一种获取运行帧率的方法,其特征在于,包括:获取应用程序的运行界面在终端屏幕上每次刷新的时间;计算相邻两次刷新之间的时间差;根据所述时间差计算所述终端中正在运行的应用程序的运行帧率。2.如权利要求1所述的方法,其特征在于,所述根据所述时间差计算所述终端中正在运行的应用程序的运行帧率之后,所述方法还包括:根据所述运行帧率绘制运行帧率监控图;显示所述运行帧率监控图。3.如权利要求2所述的方法,其特征在于,所述运行帧率监控图上设置有运行帧率阈值,所述显示所述运行帧率监控图之后,所述方法还包括:在所述运行帧率监控图上标记运行帧率低于所述运行帧率阈值的位置。4.如权利要求1所述的方法,其特征在于,所述获取应用程序的运行界面在终端屏幕上每次刷新的时间具体包括:在所述应用程序中构建CADisplayLink对象;将所述CADisplayLink对象添加到runloop函数中,所述runloop函数与所述应用程序相对应;为所述CADisplayLink对象提供一个target和selector以使所述target与所述CADisplayLink对象进行绑定;在终端屏幕每次刷新时所述runloop函数调用CADisplayLink对象绑定的target上的selector以使所述target获取CADisplayLink对象每次调用的时间戳,所述时间戳用于记录终端...

【专利技术属性】
技术研发人员:何兵
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1