动画显示流畅度的监控方法、装置及其设备与流程

文档序号:11285705阅读:240来源:国知局
动画显示流畅度的监控方法、装置及其设备与流程

本发明涉及互联网技术领域,特别涉及一种动画显示流畅度的监控方法、装置及其设备。



背景技术:

终端设备的动画显示的流畅度,受到终端设备的cpu的运行频率、内存的大小、显存的大小和硬盘的转速等的限制,因而终端设备的动画显示的流畅度作为衡量终端设备的性能的重要指标之一被广泛使用。

相关技术中,为了获知动画显示的流畅度,开发出对终端设备的动画显示的流畅度进行测试的性能分析工具,但是这些性能分析工具的监控粒度较大,监控的灵活性和精准度较低,且占用内存较大,从而导致易用性较差。

比如,对于已经开发出的性能分析工具wpt(windowsperformancetoolkit,xperfwindows性能工具包),其可以通过win32k的provider来捕获uidelay从而获得到界面卡顿,以及相关的堆栈数据。然而,对于wpt监控存在一些缺陷,其一是其监控只能监控界面卡顿100ms以上的情况,监控粒度较大,对于100ms以内的掉帧情况是无法监控到的;其二是由于wpt组件模块较大,对于外网用户监控的话,使用该模块会拖慢系统运行速度。



技术实现要素:

本发明实施例提供一种动画显示流畅度的监控方法、装置及设备,以解决现有技术中,对衡量终端设备性能指标之一的动画显示流畅度进行监控时,现有的性能测试工具监控粒度较大,对于一些持续时间相对较短的卡顿现象无法监控到,且该独立的测试工具占用内存较大,拖慢了系统的运行速度的技术问题。

本发明实施例提供一种动画显示流畅度的监控方法,包括以下步骤:根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间;获取屏幕监控范围内每帧数据的界面更新时间;根据预设的流畅度测试算法对所述屏幕刷新时间和所述每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果;根据与所述流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定所述屏幕监控范围内的动画显示流畅度是否满足测试指标。

本发明另一实施例提供动画显示流畅度的监控装置,包括:第一获取模块,用于根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间;第二获取模块,用于获取屏幕监控范围内每帧数据的界面更新时间;第三获取模块,用于根据预设的流畅度测试算法对所述屏幕刷新时间和所述每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果;第一确定模块,用于根据与所述流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定所述屏幕监控范围内的动画显示流畅度是否满足测试指标。

本发明再一实施例提供一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现本发明第一方面实施例所述的动画显示流畅度的监控方法。

本发明还一实施例提供一种存储介质,用于存储应用程序,所述应用程序用于执行本发明第一方面实施例所述的动画显示流畅度的监控方法。

本发明实施例提供的技术方案可以包括以下有益效果:

根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间,获取屏幕监控范围内每帧数据的界面更新时间,根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果,根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。由此,提高了动画显示流畅度的监控精度和易用性,拓展了动画显示流畅度监控的多样性。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1(a)是根据本发明一个实施例的电脑管家中杀毒进度指示动画显示示意图;

图1(b)是根据本发明一个实施例的聊天应用程序中好友列表动画显示示意图;

图2是根据本发明一个实施例的动画显示流畅度的监控方法的流程图;

图3(a)是根据现有技术的屏幕刷新频率显示的界面示意图;

图3(b)是根据现有技术的包含多个可选屏幕刷新频率的界面示意图;

图3(c)是根据现有技术的修改后的屏幕刷新频率显示的界面示意图;

图4(a)是根据现有技术的语音搜索模式下的智能手机的界面示意图;

图4(b)是根据现有技术中在智能手机界面上显示屏幕刷新频率显示的界面示意图;

图5(a)是根据本发明一个实施例的包含确定的监控应用程序范围的界面示意图;

图5(b)是根据本发明另一个实施例的包含确定的监控应用程序范围的界面示意图;

图6(a)是根据本发明一个实施例的针对电脑管家的动画显示监控情况的界面示意图;

图6(b)是根据本发明一个实施例的屏幕监控范围确定示意图;

图7是根据本发明另一个实施例的屏幕监控范围确定示意图;

图8是根据本发明一个实施例的某个时间段数据帧的时间对应关系图;

图9是根据本发明另一个实施例的动画显示流畅度的监控方法的流程图;

图10是根据本发明又一个实施例的动画显示流畅度的监控方法的流程图;

图11是根据本发明再一个实施例的动画显示流畅度的监控方法的流程图;

图12是根据本发明一个应用场景下的动画显示流畅度的监控方法的流程图;

图13是根据本发明第一个实施例的动画显示流畅度的监控装置的结构示意图;

图14是根据本发明第二个实施例的动画显示流畅度的监控装置的结构示意图;

图15是根据本发明第三个实施例的动画显示流畅度的监控装置的结构示意图;

图16是根据本发明第四个实施例的动画显示流畅度的监控装置的结构示意图;

图17是根据本发明第五个实施例的动画显示流畅度的监控装置的结构示意图;

图18是根据本发明第六个实施例的动画显示流畅度的监控装置的结构示意图;

图19是根据本发明第七个实施例的动画显示流畅度的监控装置的结构示意图;以及

图20是根据本发明一个实施例的动画显示流畅度的监控方法的交互流程示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的动画显示流畅度的监控方法、装置及其设备。

由于现有技术中,对衡量终端设备性能指标之一的动画显示流畅度进行监控时,现有的性能测试工具监控粒度较大,对于一些持续时间相对较短的卡顿现象无法监控到,且该独立的测试工具占用内存较大,拖慢了系统的运行速度。

为了解决上述问题,本发明实施例的动画显示流畅度的监控方法中,流畅度监控细化到任意时长,大大提高了监控的精细度,为终端设备的性能评估的可靠性带来重大意义,并且,本发明实施例中提供的动画显示流畅度的监控方法,可以合入到项目工程中实施,有效降低了测试时的占用内存,避免了对系统运行速度带来的负面影响。

其中,需要说明的是,本发明实施例中的动画并不仅仅表示狭义上的视频动画,它还包括应用中的各种可动态显示的元素,比如,对于电脑管家应用程序,动画可以包括如图1(a)所示的杀毒进度指示动画,又比如,如图1(b)所示,在聊天应用程序中,如图1(b)左图所示可知,用户往上滑动好友列表,则如图1(b)右图所示,可控制列表向上滑动出新的好友列表的界面,即可上下滑动显示的好友列表,也是本发明实施例中所描述的动画。

下面参考附图和具体的实施例,对本发明实施例的动画显示流畅度的监控方法进行具体描述。

图2是根据本发明一个实施例的动画显示流畅度的监控方法的流程图,如图2所示,该动画显示流畅度的监控方法包括:

s101,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间。

其中,本发明实施例的终端设备可以是具有显示屏幕的手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统的硬件设备,该穿戴式设备可以是智能手环、智能手表、智能眼镜等。在此不作限制。

应当理解的是,终端设备的屏幕刷新频率受到支持显示屏幕显示的硬件的限制,比如,对于使用crt进行显示的屏幕而言,屏幕上显示的动画由于是由一个个电子束击打而发光的荧光点组成的,由于荧光粉受到电子束击打后发光的时间很短,因而,电子束必须不断击打荧光粉使其持续发光。也就是说,该显示屏幕的屏幕刷新频率受到荧光粉发光时间的限制。

因此,终端设备的支持屏幕显示动画的硬件不同,其屏幕刷新显示频率不同,这种刷新显示频率一般由终端设备的生产厂家在设备生产时标定好。

举例而言,当终端设备是个人电脑时,如图3(a)所示,可以找到监视器菜单后,在监视器设置的选项下获知屏幕刷新频率为60hz。

需要强调的是,获知终端设备的屏幕刷新频率的方式受到终端设备支持的功能的限制,因而,除了上述描述的方式外,还可存在其他方式获取终端设备的屏幕刷新频率。

比如,如图4(a)所示,当终端设备为支持语音搜索功能的智能手机时,如果在语音搜索模式下,接收到用户的语音搜索指令“屏幕数显频率是多少”,则可自动识别该语音指令,并且获知如图4(b)示出的屏幕刷新频率。

另外,由于在实际执行过程中,屏幕刷新频率越低,图像闪烁和抖动的就越厉害,眼睛疲劳得就越快,有时会引起眼睛酸痛,头晕目眩等症状。因为60hz正好与日光灯的刷新频率相近,所以当显示器处于60hz的刷新频率时可能会使得某些用户难受的频闪效应,因而,为了满足某些用户的个性化需求,一些终端设备提供了多个可选择的屏幕刷新频率。

举例而言,继续参照图3(a),用户可点击屏幕刷新频率显示框后的下拉菜单触发按键,并在如图3(b)所示的下拉菜单中选择其需要的屏幕刷新频率,比如选中75hz,则如图3(c)所示,当前的屏幕刷新频率被更改为75hz。

在获取终端设备的屏幕刷新频率后,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间,该屏幕刷新时间对应于每帧动画的显示时长,从而,每到一个屏幕刷新时间就显示下一帧的动画中的数据帧,通过不断刷新显示的数据帧形成动画效果。

其中,需要说明的是,在不同的应用场景下,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间的方式不同,示例说明如下:

第一种示例,在获取终端设备的屏幕刷新频率后,由于屏幕刷新频率为每秒钟屏幕刷新的次数,因而,可根据公式屏幕刷新时间=1/屏幕刷新频率,计算获得屏幕刷新时间。

在本示例中,举例而言,如果获知的屏幕刷新频率为60hz,则获得的屏幕刷新时间为1/60,合计16.66ms。

其中,本实施例的计算过程可以由用户自行计算完成后在相关界面输入,也可由系统自行计算。

第二种示例,由于屏幕刷新频率的可选择个数有限,因而可预先存储屏幕刷新与屏幕刷新时间的对应关系,从而,在获取屏幕刷新频率后,查询上述对应关系,获取对应的屏幕刷新时间。

在本示例中,可由用户手动在相关界面输入屏幕刷新频率以获取反馈的屏幕刷新时间,也可由系统自行获知。

需要强调的是,上述实施例公开的将屏幕刷新频率在终端设备上直观的显示给用户,是为了描述的清楚,然而,在实际操作过程中,如果上述获取屏幕刷新时间是由系统自行完成的,可以不在终端设备上显示屏幕刷新频率。

s102,获取屏幕监控范围内每帧数据的界面更新时间。

由于在实际应用中,终端设备的屏幕上显示的包含动画的应用数量可能有多个,甚至一个应用包含的动画就有多个,而用户可能只希望监控其中部分应用的动画,或者一个应用中的部分动画,因而,在本发明的实施例中,针对屏幕监控范围进行动画显示的流畅度的监控。

其中,在实际应用中,该屏幕监控范围的确定方式,随着具体应用场景的不同而不同。

作为一种可能的实现方式,该屏幕监控范围可以是用户自定义设置监控应用程序范围。

其中,在该实例中的一些应用场景下,用户可以通过实施一个闭合的触摸轨迹圈定应用程序的范围,从而,系统通过轨迹识别确定出该轨迹内所包含的应用程序范围。其中,该应用程序的范围可以是一个应用程序内的范围,也可以是多个应用程序范围。

即如果用户实施的一个闭合的触摸轨迹是1,则如图5(a)所示,识别出的自定义设置的监控的应用程序范围是针对应用程序a的部分区域。

如果用户实施的一个闭合的触摸轨迹是2,则如图5(b)所示,识别出的自定义设置的监控的应用程序范围是针对应用程序a的部分区域,和应用程序b的全部区域。

或者,在该实施例的一些应用场景下,如图6(a)所示,可以在针对电脑管家的相关界面中输入应用程序范围,比如输入如图6(a)所示的应用程序的长和宽,从而如图6(b)所示,系统可通过坐标识别,识别出当前屏幕中显示的应用程序的左上角的顶点,并且以该顶点的坐标为原点,根据应用程序的显示展开方向和用户输入的应用程序的长和宽确定出应用程序范围。

当然,在本实施例中,如果当前终端设备的屏幕中显示的应用程序为多个,则在输入如图7所示,终端设备可以显示屏幕的一个边界点为原点,识别出对应的长和宽范围内的包含的应用程序范围。

作为另一种可能的实现方式,该屏幕监控范围可以通过获取当前监控的应用程度显示的窗口范围,即如图6(b)所示,在当前窗口显示的为电脑管家应用程序时,则自动定位并识别出该应用程序显示的窗口范围为屏幕的监控范围。

进一步地,在获取屏幕监控范围后,获取屏幕监控范围内每帧数据的界面更新时间,以便于后续根据该每一帧数据的界面的更新时间判断动画显示的流畅度。

也就是说,在终端设备显示动画的过程中,虽然其根据屏幕刷新频率刷新数据帧,但是,是否在屏幕刷新频率对应的屏幕刷新时间内,成功刷新并显示出下一帧数据帧,以使得动画连续播放,还受到屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间的影响,该屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间通过本实施例中的界面更新时间体现。

具体而言,如图8所示,终端设备当前显示的数据帧为图中标注的第一帧时,下一帧待显示的数据帧为图8中显示的第二帧,该第二帧的绘制耗时为ft,第一帧到第二帧的显示间隔是it,该it的大小与cpu的处理效率等相关,由此,第一帧到第二帧的实际耗时即界面更新时间为t=it+ft,无论是该第二帧的绘制耗时ft过长,还是第一帧到第二帧的显示间隔时间it过长,都可能导致界面更新时间t大于屏幕刷新频率,在屏幕的再次刷新到达时,无法成功显示出下一个数据帧,从而导致动画的播放出现卡顿。

s103,根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果。

具体而言,在获取界面更新时间后,根据预设的流畅度测试算法计算界面更新时间和屏幕刷新时间的相差情况,该相差情况即为每帧数据的测试结果,其中,测试结果的表现形式与预设流畅度算法相关。

需要说明的是,根据具体应用场景的不同,上述预设的流畅度测试算法可以是能体现出每帧数据的更新时间和屏幕刷新时间的相差情况的不同的算法,下面举例说明。

第一种示例,该预设的流畅度算法可以是对每帧数据的更新时间和屏幕刷新时间进行相减的减法算法。

具体而言,可以在获知每帧数据的更新时间后,与屏幕刷新时间相减,从而将得到的每帧数据的更新时间和屏幕刷新时间相减的时间差值作为测试结果。

在本示例中,每帧数据的更新时间和屏幕刷新时间的相差情况可以直接体现,即如果相减结果大于0,则每帧数据的更新时间大于屏幕刷新时间,相减结果越大,每帧数据的更新时间越大于屏幕刷新时间,该帧数据越卡顿,如果不大于0,则每帧数据的更新时间不大于屏幕刷新时间。

第二种示例,该预设的流畅度算法可以是对每帧数据的更新时间和屏幕刷新时间进行相除的比值算法。

具体而言,可以在获知每帧数据的更新时间后,与屏幕刷新时间相除,从而将得到的每帧数据的更新时间和屏幕刷新时间,相除获得的占用的帧的数目结果作为测试结果。

举例而言,如果获知一个数据帧的更新时间为130ms,屏幕刷新时间位20ms,则测试结果为130/20=6.5帧。

在本示例中,每帧数据的更新时间和屏幕刷新时间的相差情况可以间接体现,即如果相除结果大于1,则每帧数据的更新时间大于屏幕刷新时间,相除结果越大,每帧数据的更新时间越大于屏幕刷新时间,该帧数据越卡顿,如果不大于1,则每帧数据的更新时间不大于屏幕刷新时间。

s104,根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。

可以理解,步骤s103中获得的测试结果,都可以间接或者直接的反映出每一帧数据帧显示的流畅度,而每一帧数据帧的流畅度与整个动画的显示流畅度息息相关。

具体而言,在本发明的实施例中,预设与流畅度测试算法对应的性能指标分析,并根据该与流畅度测试算法对应的性能指标分析每帧数据的测试结果,以结合每帧数据的测试结果,综合确定屏幕监控范围内的动画显示流畅度是否满足测试指标。其中,上述性能分析指标用于将每帧数据的测试结果量化为与测试指标对应的量化值。

其中,上述测试指标用以指示监控动画是否流畅,该测试指标与测试算法对应的性能指标相关,该测试指标可由用户根据需要自行设定,也可由用户自行标定,从而,在具体实施过程中,可以通过设置测试指标,灵活控制监控的粒度,避免了现有技术中监控粒度有限的缺点,比如,在一些应用场景下,可以通过将测试指标的粒度设置为10ms,从而可根据步骤s103获取的测试结果,监控到所有界面更新时间和屏幕刷新时间的差值大于10ms的数据帧,大大提高了动画显示的流畅度的测试精度。

为了更加清楚的说明步骤s104,下面进行举例。

第一种示例,如果预设的流畅度测试算法是对每帧数据的更新时间和屏幕刷新时间进行相减的差值运算,则对应的性能分析指标对应于相减得到的时间差值的具体分布情况。

其中,在本示例中,对应于相减得到的时间差值的具体分布情况的性能分析指标,根据应用场景的不同而不同。

作为一种可能的实现方式,该性能分析指标对应于每帧数据的更新时间和屏幕刷新时间进行相减得到的时间差值,在预设的时间差值的分布区间内的数据帧的数量。

如果预设的时间差值的分布区间是小于等于0的区间,大于0到等于30的区间,大于30到等于50的区间,大于50的区间,将获得的每个数据帧的时间差值与上述分布区间比对,获取的小于等于0的区间内的数据帧的数量是50个,大于0到等于30的区间内的数据帧的数量是20个,大于30到等于50的区间内的数据帧的数量是20个,大于50的区间内的数据帧的数量是10个。

在本示例中,如果测试指标为属于小于等于0区间内的数据帧数目不小于50%,则根据上述数据计算确定该动画显示的流畅度满足测试指标。

如果测试指标为小于等于0区间内的数据帧的数目不小于50%,且在大于50的区间内的数据帧的数目小于5%,则根据上述数据计算确定当前动画显示的流畅度不满足测试指标。

如果预先针对每个区间与显示流畅度的关系设置不同的权重值,比如针对小于等于0区间、于0到等于30的区间,大于30到等于50的区间,大于50的区间设置的权重值分别为0.5,0.3,0.2,0.1,测试指标为权重值大于30,则由于得到的权重值为31大于30,从而判断当前动画显示的流畅度满足测试指标。

作为另一种可能的实现方式,如果该性能分析指标对应于相减得到的时间差值组成的分布曲线的斜率。

则在本示例中,如果测试指标为分布曲线的斜率为正的持续时间长度不超过t,则计算由每个数据帧的时减差值组成的曲线的斜率,并统计斜率为正的时间长度是否超过t,如果超过,则认为屏幕监控范围内的动画显示流畅度不满足测试指标,如果不超过,则认为屏幕监控范围内的动画显示流畅度满足测试指标。

第二种示例,如果流畅度测试算法是对每帧数据的更新时间和屏幕刷新时间进行相比的除法的算法,则对应的性能分析指标对应于相除得到的占用帧数在分布情况。

其中,该示例下的根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标的处理原理,与如果流畅度测试算法是对每帧数据的更新时间和屏幕刷新时间进行相减的算法下的处理原理类似,在此不再赘述。

由此,本发明实施例的动画显示流畅度的监控方法,根据屏幕刷新时间和每帧数据的界面更新时间判定动画显示的流畅度,监控的粒度可根据需要设置为任意值,可大大提高监控的精确度,且上述监控方法不依赖于集成的模块,在实际操作过程中,可将相关执行代码合入到项目工程中,大大降低了对内存的占用,易用性较高。

综上所述,本发明实施例的动画显示流畅度的监控方法,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间,获取屏幕监控范围内每帧数据的界面更新时间,根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果,根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。由此,提高了动画显示流畅度的监控精度和易用性,拓展了动画显示流畅度监控的多样性。

基于以上描述,还应当理解的是,在不同的应用场景下,获取屏幕监控范围内每帧数据的界面更新时间的方式不同,因此,为了更加清楚的描述上述步骤s102中,如何获取屏幕监控范围内每帧数据的界面更新时间,下面分别结合不同的实施例进行说明。

图9是根据本发明另一个实施例的动画显示流畅度的监控方法的流程图,如图9所示,步骤s102可包括:

s201,获取屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间。

s202,对每帧数据的绘制时间以及与上一帧数据之间的间隔时间进行求和处理,获取每帧数据的界面更新时间。

具体地,继续参见图8,每帧的界面更新时间t包括屏幕监控范围内每帧数据的绘制时间ft,以及每帧数据与上一帧数据之间的间隔时间it,因而,可对每帧数据的绘制时间以及与上一帧数据之间的间隔时间进行求和处理,获取每帧数据的界面更新时间。

需要说明的是,在不同的应用场景下,获取屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间的方式不同,下面举例说明。

作为一种可能的实现方式,由于每一帧的数据帧在绘制的开始和结束都会触发相应的绘制事件函数,因而,可以通过监听绘制事件函数的调用情况获知屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间。

在本示例中,当系统在屏幕监控范围内开始绘制数据帧时调用开始绘制函数,通过与开始绘制函数对应的钩子函数读取数据帧的开始绘制时间,并且,当系统在屏幕监控范围内结束绘制数据帧时调用结束绘制函数,通过与结束绘制函数对应的钩子函数读取数据帧的结束绘制时间。

进而,根据数据帧的开始绘制时间和结束绘制时间计算数据帧的绘制时间,比如,将结束绘制时间减去开始绘制时间获知数据帧的绘制时间。

根据数据帧的开始绘制时间和预存的上一帧数据的结束绘制时间计算数据帧与上一帧数据之间的间隔时间,比如将数据帧的开始绘制时间减去预存的上一帧数据的结束绘制时间,以得到数据帧与上一帧数据之间的间隔时间。

举例而言,当钩子函数为hook函数,开始绘制函数为beginpaint函数,结束绘制函数为endpaint函数时,先对系统函数beginpaint和endpaint进行hook,hook后系统调用这两个函数时候就会调用到指定的mine_beginpaint以及mine_endpaint,进而,在屏幕监控范围内的数据帧绘制时,在mine_beginpaint和mine_endpaint中分别记录该帧开始和结束时间,根据mine_beginpaint记录的时间和mine_endpaint记录的时间计算数据帧的绘制时间,进而,数据帧的开始绘制时间和预存的mine_endpaint记录的上一帧数据的结束绘制时间计算数据帧与上一帧数据之间的间隔时间。

另外,需要强调的是,在实际应用中,对于有一些动画的“卡顿”,可能是提供功能服务的过程中由于用户的无操作而导致的“伪卡顿”,比如,对于如图1(b)所示的聊天应用程序,如果用户不下拉好友列表,则好友列表不会发生滑动进行界面的刷新等。因此,为了保证流畅度判定的准确性,在本发明的实施例中,设置一数据帧之间的最大间隔时间,比如设置为250ms,一旦数据帧之间的间隔大于该最大间隔时间,则认为当前显示的数据帧和上一个数据帧不属于连续的数据帧,从而以当前显示的数据帧为起始帧进行流畅度的监控。

具体而言,判断每帧数据与上一帧数据之间的间隔时间是否大于预设的第一门限值,该预设的第一门限值相对于正常的数据帧卡顿消耗时间较大,若检测获知间隔时间大于第一门限值,则将间隔时间置零,从而以当前显示的数据帧为起始帧进行流畅度的监控。

图10是根据本发明又一个实施例的动画显示流畅度的监控方法的流程图,如图10所示,步骤s102可包括:

s301,当系统接收数据帧的显示驱动信号时调用图像显示函数,通过与图像显示函数对应的钩子函数读取数据帧的界面显示时间。

s302,根据数据帧的界面显示时间与预存的上一帧数据的界面显示时间,获取数据帧的界面更新时间。

具体地,由于终端设备的所有的数据帧的显示输出都需要调用图像显示函数,因而,在本发明的实施例中,当系统接收数据帧的显示驱动信号时调用图像显示函数,通过与图像显示函数对应的钩子函数读取数据帧的界面显示时间,并根据数据帧的界面显示时间与预存的上一帧数据的界面显示时间,获取数据帧的界面更新时间。

作为一种可能的实现方式,由于终端设备的所有的图像显示输出都是由时钟驱动的,这个驱动信号称为vsync,vsync一般由硬件产生,当然,如果软件的记录准确率较高时,也可以由软件产生vsync,因此,可以通过钩子函数监控驱动信号vsync对应的图像显示函数获取屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间。

举例而言,如果终端设备的操作系统是android系统,则由于该android系统下vsync来自于hwcomposer,当vsync信号到达时,choreographer.doframe()函数被调用,就可以使用钩子函数监控该函数,统计每次时间的间隔就可以得到数据帧显示的时间间隔,即每帧数据的界面更新时间。

同样的,在实际应用中,对于有一些动画的“卡顿”,可能是提供功能服务的过程中由于用户的无操作而导致的“伪卡顿”。因此,为了保证流畅度判定的准确性,在本发明的实施例中,如果界面更新时间较大,则将根据当前数据帧与预存的上一帧数据帧的界面显示时间获取的数据帧的界面更新时间进行修改,通过将其修改为一个较小的时间,以将其确定为一个流畅度较优的起始帧。

具体而言,判断数据帧的界面更新时间是否大于预设的第二门限值,其中,预设的第二门限值相对于正常的数据帧卡顿消耗时间较大,进而,若检测获知界面更新时间大于第二门限值,则将界面更新时间修改为预设时间,其中,所述预设时间小于等于屏幕刷新时间。

综上所述,本发明实施例的动画显示流畅度的监控方法,根据具体应用场景的需要,灵活的选取获取屏幕监控范围内每帧数据的界面更新时间的方式,提高了本发明实施例的动画显示流畅度的监控方法的实用性和可靠性。

基于以上实施例,为了提高用户的使用体验,在确定屏幕监控范围内的动画显示流畅度是否满足测试指标之后,还可对发生卡顿的原因进行分析确定,以便于及时对发生卡顿的位置进行处理,恢复系统的正常运行。

为了描述的更加清楚,下面结合整个动画显示流畅度的监控方法的处理流程,说明确定屏幕监控范围内动画显示的卡顿原因的实施时机和实施方式。其中,在本示例中,根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果的方式,为步骤s104中描述的第二种示例中的方式。

图11是根据本发明再一个实施例的动画显示流畅度的监控方法的流程图,如图11所示,该动画显示流畅度的监控方法包括:

s401,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间。

s402,获取屏幕监控范围内每帧数据的界面更新时间。

s403,计算每帧数据的界面更新时间与屏幕刷新时间的比值,获取每帧数据界面更新所占用的帧数。

在本实施例中,将每帧数据的界面更新时间与屏幕刷新时间的比值作为每帧数据的测试结果。

举例而言,如果50hz的屏幕刷新频率下,每帧屏幕刷新时间为20ms,如果该帧数据的界面更新时间是130ms,那么计算每帧数据的界面更新时间与屏幕刷新时间的比值为130/20=6.5,即获取的每帧数据界面更新所占用的帧数是6.5帧。

s404,将每帧数据界面更新所占用的帧数与预设的帧数分布区间进行比对,获取各帧数分布区间对应的数据帧数量,以根据数据帧数量确定屏幕监控范围内的动画显示流畅度是否满足测试指标。

举例而言,继续参照如图6(a)所示的针对电脑管家应用程序的动画显示流畅度监控的情况,如果预设的帧数的分布区间为小于一帧的区间,大于1帧到等于2帧的区间,大于2帧到等于4帧的区间,大于4帧到等于8帧的区间,大于8帧到等于15帧的区间,大于15帧的区间。则如果获取的一帧数据帧的界面更新所占用的帧数为6.5帧,则与预设的帧数分布区间进行比对,发现6.5帧属于大于4帧到等于8帧的区间,从而对该区间对应的数据帧的数量加1。

进而,由于数据帧的界面更新所占用的帧数越多,实际刷新到该数据帧所需的耗时越长,动画越卡顿,因而,预先设置指标值对应的帧数分布区间来衡量动画的流畅度。

从而,将各帧数分布区间对应的数据帧数量与对应设置的指标值进行比较,若检测到数据帧数量不满足对应设置的指标值的帧数分布区间,则确定屏幕监控范围内的动画显示流畅度不满足测试指标,若检测到数据帧数量都满足对应设置的指标值的帧数分布区间,则确定屏幕监控范围内的动画显示流畅度满足测试指标。

举例而言,如果设置的数据帧的数量对应的指标值的帧数分布区间,为大于1帧到等于2帧的区间和大于2帧到等于4帧的区间的数据帧的数量不超过60,则可根据动画中的数据帧在大于1帧到等于2帧的区间和大于2帧到等于4帧的区间的数据帧的数量于60相比,如果大于则认为动画的显示的流畅度不满足测试指标。

s405,若确定屏幕监控范围内的动画显示流畅度不满足测试指标,则查看主线程的堆栈信息,确定屏幕监控范围内动画显示的卡顿原因。

具体地,因为一般界面显示和渲染线程都是主线程,主线程堵塞就会导致界面卡死,从而,一旦监控有较长的卡顿即确定屏幕监控范围内的动画显示流畅度不满足测试指标,就可以在相应的界面输入调用代码等以采集并查看主线程的堆栈信息,根据该堆栈信息确定屏幕监控范围内动画显示的卡顿究竟是何种操作业务造成的。

进而,在确定卡顿原因后,采取相应的措施进行处理,比如释放主线程等,以恢复能够的正常运行。或者,可根据卡顿原因进行总结,排除造成卡顿的隐患,比如如果卡顿原因基本是界面的渲染进程造成的,经过对该卡顿原因进行总结,获知该卡顿原因主要是显示内存有限,从而,对显示内存进行扩展,清除不必要的内存占用,避免下一次卡顿的发生。

为了使得本领域的技术人员能够更加清楚的了解本发明的特点,下面可将本发明实施例的动画显示流畅度的监控方法应用到具体的应用场景中进行描述。

其中,在该应用场景下,通过使用钩子函数分别hook函数,开始绘制函数beginpaint函数和结束绘制函数为endpaint函数,获知在屏幕监控范围内的数据帧绘制时,屏幕监控范围内的开始绘制时间bt和结束绘制时间et,预设的第一门限值是200ms。

具体而言,如图12所示,获取当前设置的终端设备的屏幕刷新频率f(s501),进而根据公式spf=1000/f计算出每帧数据的屏幕刷新时间(s502)。

由于系统在绘制图片时会调用beginpaint函数和beginpaint函数,因而,hookbeginpaint函数到自定义的mine_beginpaint函数中,并hookendpaint函数到自定义的mine_endpaint函数中(s503)。

进而,获取设定的屏幕监控范围(s504),在mine_beginpaint函数中读取数据帧的开始绘制时间bt,在mine_endpaint函数中读取数据帧的结束绘制时间et(s505)。在获取bt和et后,判断绘制的数据帧所在区域是否与屏幕监控区域是否有交集(s506),如果没有交集,则证明该bt和et并不对应于监控的动画,则返回步骤s505之前,再次获取bt和et,如果有交集,则根据公式ft=et-bt计算数据帧的绘制时间(s507),并存储当前数据帧的结束时间lt(lt=et)(s508)。

判断每帧数据与上一帧数据之间的间隔时间it=bt-lt是否大于200,若检测获知间隔时间大于200,则通过将间隔时间bt-lt置零(s509)。此时,绘制每帧数据帧的界面更新时间t=it+ft(s510),根据公式f=t/sft获取每帧数据占用的帧数,以根据每帧数据占用的帧数的分布情况和测试指标对应的指标值的比较,监控动画的显示的流畅度(s511)。

综上所述,本发明实施例的动画显示流畅度的监控方法,确定屏幕监控范围内的动画显示流畅度不满足测试指标后,查看主线程的堆栈信息,确定屏幕监控范围内动画显示的卡顿原因。以便于在获知卡顿原因后,进行相应的操作处理,以排除造成卡顿的隐患,快速恢复系统的正常运行,提升了用户的使用体验。

与上述几种实施例提供的动画显示流畅度的监控方法相对应,本发明的一种实施例还提供一种动画显示流畅度的监控装置,由于本发明实施例提供的动画显示流畅度的监控装置与上述几种实施例提供的动画显示流畅度的监控方法相对应,因此在前述动画显示流畅度的监控方法的实施方式也适用于本实施例提供的动画显示流畅度的监控装置,在本实施例中不再详细描述。

图13是根据本发明第一个实施例的动画显示流畅度的监控装置的结构示意图,如图13所示,该动画显示流畅度的监控装置包括:第一获取模块110、第二获取模块120、第三获取模块130和第一确定模块140。

其中,第一获取模块110,用于根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间。

需要强调的是,第一获取模块110获知终端设备的屏幕刷新频率的方式受到终端设备支持的功能的限制,可以通过手动查获知,可以通过语音搜索获知等。

其中,需要说明的是,在不同的应用场景下,第一获取模块110根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间的方式不同,示例说明如下:

第一种示例,在获取终端设备的屏幕刷新频率后,由于屏幕刷新频率为每秒钟屏幕刷新的次数,因而,第一获取模块110可根据公式屏幕刷新时间=1/屏幕刷新频率,计算获得屏幕刷新时间。

其中,本实施例的计算过程可以由用户自行计算完成后在相关界面输入,也可由系统自行计算。

第二种示例,由于屏幕刷新频率的可选择个数有限,因而可预先存储屏幕刷新与屏幕刷新时间的对应关系,从而,在获取屏幕刷新频率后,第一获取模块110查询上述对应关系,获取对应的屏幕刷新时间。

在本示例中,可由用户手动在相关界面输入屏幕刷新频率以获取反馈的屏幕刷新时间,也可由系统自行获知。

第二获取模块120,用于获取屏幕监控范围内每帧数据的界面更新时间。

由于在实际应用中,终端设备的屏幕上显示的包含动画的应用数量可能有多个,甚至一个应用包含的动画就有多个,而用户可能只希望监控其中部分应用的动画,或者一个应用中的部分动画,因而,在本发明的实施例中,针对屏幕监控范围进行动画显示的流畅度的监控。

其中,屏幕监控范围的获取方式较为灵活,可以是自定义设置监控的应用程序范围,或者,也可以是获取的当前监控的应用程序显示的窗口范围。

第三获取模块130,用于根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果。

具体而言,在获取界面更新时间后,第三获取模块130根据预设的流畅度测试算法计算界面更新时间和屏幕刷新时间的相差情况,该相差情况即为每帧数据的测试结果,其中,测试结果的表现形式与预设流畅度算法相关。

需要说明的是,根据具体应用场景的不同,上述预设的流畅度测试算法可以是能体现出每帧数据的更新时间和屏幕刷新时间的相差情况的不同的算法,具有应用的灵活性。

第一确定模块140,用于根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。

可以理解,第三获取模块130获得的测试结果,都可以间接或者直接的反映出每一帧数据帧显示的流畅度,而每一帧数据帧的流畅度与整个动画的显示流畅度息息相关。

具体而言,在本发明的实施例中,预设与流畅度测试算法对应的性能指标分析,第一确定模块140根据该与流畅度测试算法对应的性能指标分析每帧数据的测试结果,以结合每帧数据的测试结果,综合确定屏幕监控范围内的动画显示流畅度是否满足测试指标。

其中,上述性能分析指标用于将每帧数据的测试结果量化为与测试指标对应的量化值。

其中,上述测试指标用以指示监控动画是否流畅,该测试指标与测试算法对应的性能指标相关,该测试指标可由用户根据需要自行设定,也可由用户自行标定,从而,在具体实施过程中,可以通过设置测试指标,灵活控制监控的粒度,避免了现有技术中监控粒度有限监控不够精确的缺点。

综上所述,本发明实施例的动画显示流畅度的监控装置,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间,获取屏幕监控范围内每帧数据的界面更新时间,根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果,根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。由此,提高了动画显示流畅度的监控精度和易用性,拓展了动画显示流畅度监控的多样性。

基于以上描述,还应当理解的是,在不同的应用场景下,第二获取模块120获取屏幕监控范围内每帧数据的界面更新时间的方式不同,因此,为了更加清楚的描述上第二获取模块120如何获取屏幕监控范围内每帧数据的界面更新时间,下面分别结合不同的实施例进行说明。

图14是根据本发明第二个实施例的动画显示流畅度的监控装置的结构示意图,如图14所示,在如图13所示的基础上,该第二获取模块120包括第一获取单元121和第二获取单元122。

其中,第一获取单元121,用于获取屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间。

第二获取单元122,用于对每帧数据的绘制时间以及与上一帧数据之间的间隔时间进行求和处理,获取每帧数据的界面更新时间。

具体地,每帧的界面更新时间t包括屏幕监控范围内每帧数据的绘制时间ft,以及每帧数据与上一帧数据之间的间隔时间it,因而,第二获取模块120可对每帧数据的绘制时间以及与上一帧数据之间的间隔时间进行求和处理,获取每帧数据的界面更新时间。

需要说明的是,在不同的应用场景下,第一获取单元121获取屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间的方式不同,下面举例说明。

作为一种可能的实现方式,由于每一帧的数据帧在绘制的开始和结束都会触发相应的绘制事件函数,因而,第一获取单元121可以通过监听绘制事件函数的调用情况获知屏幕监控范围内每帧数据的绘制时间,以及每帧数据与上一帧数据之间的间隔时间。

具体而言,图15是根据本发明第三个实施例的动画显示流畅度的监控装置的结构示意图,如图15所示,在如图14所示的基础上,第一获取单元121包括读取子单元1211和计算子单元1212。

读取子单元1211,用于在系统在屏幕监控范围内开始绘制数据帧时调用开始绘制函数时,通过与开始绘制函数对应的钩子函数读取所述数据帧的开始绘制时间。

读取子单元1211,还用于在系统在屏幕监控范围内结束绘制数据帧时调用结束绘制函数时,通过与结束绘制函数对应的钩子函数读取数据帧的结束绘制时间;

计算子单元1212,用于根据数据帧的开始绘制时间和结束绘制时间计算数据帧的绘制时间。

计算子单元1212,还用于根据数据帧的开始绘制时间和预存的上一帧数据的结束绘制时间计算数据帧与上一帧数据之间的间隔时间。

另外,在本发明的一个实施例中,为了避免卡顿是用户无操作而造成的导致的误判,还需要判断每帧数据与上一帧数据之间的间隔时间是否大于预设的第一门限值,该预设的第一门限值相对于正常的数据帧卡顿消耗时间较大,若检测获知间隔时间大于第一门限值,则将间隔时间置零,从而以当前显示的数据帧为起始帧进行流畅度的监控。

图16是根据本发明第四个实施例的动画显示流畅度的监控装置的结构示意图,如图16所示,在如图13所示的基础上,该第二获取模块120包括:读取单元123和第三获取单元124。

其中,读取单元123,用于在系统接收数据帧的显示驱动信号时调用图像显示函数时,通过与图像显示函数对应的钩子函数读取数据帧的界面显示时间。

第三获取单元124,用于根据数据帧的界面显示时间与预存的上一帧数据的界面显示时间,获取数据帧的界面更新时间。

具体地,由于终端设备的所有的数据帧的显示输出都需要调用图像显示函数,因而,在本发明的实施例中,当系统接收数据帧的显示驱动信号时调用图像显示函数,读取单元123通过与图像显示函数对应的钩子函数读取数据帧的界面显示时间,第三获取单元124根据数据帧的界面显示时间与预存的上一帧数据的界面显示时间,获取数据帧的界面更新时间。

同样的,在实际应用中,对于有一些动画的“卡顿”,可能是提供功能服务的过程中由于用户的无操作而导致的“伪卡顿”。因此,为了保证流畅度判定的准确性,在本发明的实施例中,如果界面更新时间较大,则将根据当前数据帧与预存的上一帧数据帧的界面显示时间获取的数据帧的界面更新时间进行修改,通过将其修改为一个较小的时间,以将其确定为一个流畅度较优的起始帧。

综上所述,本发明实施例的动画显示流畅度的监控则在,根据具体应用场景的需要,灵活的选取获取屏幕监控范围内每帧数据的界面更新时间的方式,提高了本发明实施例的动画显示流畅度的监控方法的实用性和可靠性。

基于以上实施例,为了提高用户的使用体验,在确定屏幕监控范围内的动画显示流畅度是否满足测试指标之后,还可对发生卡顿的原因进行分析确定,以便于及时对发生卡顿的位置进行处理,恢复系统的正常运行。

为了描述的更加清楚,下面结合第三获取模块130根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果的方式,为步骤s104中描述的第二种示例中的方式为例进行说明。

图17是根据本发明第五个实施例的动画显示流畅度的监控装置的结构示意图,如图17所示,在如图13所示的基础上,该第三获取模块130包括:第四获取单元131和第五获取单元132。

其中,第四获取单元131,用于计算每帧数据的界面更新时间与屏幕刷新时间的比值,获取每帧数据界面更新所占用的帧数。

第五获取单元132,用于将每帧数据界面更新所占用的帧数与预设的帧数分布区间进行比对,获取各帧数分布区间对应的数据帧数量。

进而,图18是根据本发明第六个实施例的动画显示流畅度的监控装置的结构示意图,如图18所示,在如图17所示的基础上,第一确定模块包括140包括比较单元141和确定单元142。

其中,比较单元141,用于将各帧数分布区间对应的数据帧数量与对应设置的指标值进行比较。

确定单元142,用于在检测到数据帧数量不满足对应设置的指标值的帧数分布区间时,确定屏幕监控范围内的动画显示流畅度不满足测试指标。

确定单元142,还用于在检测到数据帧数量都满足对应设置的指标值的帧数分布区间时,确定屏幕监控范围内的动画显示流畅度满足测试指标。

图19是根据本发明第七个实施例的动画显示流畅度的监控装置的结构示意图,如图19所示,在如图18所示的基础上,还包括第二确定模块150。

其中,第二确定模块150用于在第一确定模块140确定屏幕监控范围内的动画显示流畅度不满足测试指标时,查看主线程的堆栈信息,确定屏幕监控范围内动画显示的卡顿原因。

具体地,因为一般界面显示和渲染线程都是主线程,主线程堵塞就会导致界面卡死,从而,一旦监控有较长的卡顿即确定屏幕监控范围内的动画显示流畅度不满足测试指标,第二确定模块150就可以在相应的界面输入调用代码等以采集并查看主线程的堆栈信息,根据该堆栈信息确定屏幕监控范围内动画显示的卡顿究竟是何种操作业务造成的。

进而,在确定卡顿原因后,采取相应的措施进行处理,比如释放主线程等,以恢复能够的正常运行。或者,可根据卡顿原因进行总结,排除造成卡顿的隐患,比如如果卡顿原因基本是界面的渲染进程造成的,经过对该卡顿原因进行总结,获知该卡顿原因主要是显示内存有限,从而,对显示内存进行扩展,清除不必要的内存占用,避免下一次卡顿的发生。

综上所述,本发明实施例的动画显示流畅度的监控装置,确定屏幕监控范围内的动画显示流畅度不满足测试指标后,查看主线程的堆栈信息,确定屏幕监控范围内动画显示的卡顿原因。以便于在获知卡顿原因后,进行相应的操作处理,以排除造成卡顿的隐患,快速恢复系统的正常运行,提升了用户的使用体验。

为了实现上述实施例,本发明还提出了一种终端设备。图20是根据本发明一个实施例的动画显示流畅度的监控方法的交互流程示意图,该实施例以终端设备侧从存储器获取动画显示流畅度的监控数据为例进行描述。在对终端设备侧的动画显示流畅度的监控的过程为:根据用户在终端设备中手动查询获知的存储器中存储的终端设备的屏幕刷新频率,或者,由处理器向网络侧服务器获取的屏幕刷新频率,进而,终端设备的处理器根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间,并且,处理器根据存储在存储器中的绘制数据帧的时间数据,获取屏幕监控范围内每帧数据的界面更新时间。

进而,处理器根据存储器中预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果,并获取存储在存储器中的测试指标,以便于根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。

综上所述,本发明实施例的终端设备,根据终端设备的屏幕刷新频率获取数据帧的屏幕刷新时间,获取屏幕监控范围内每帧数据的界面更新时间,根据预设的流畅度测试算法对屏幕刷新时间和每帧数据的界面更新时间进行计算处理,获取每帧数据的测试结果,根据与流畅度测试算法对应的性能指标分析每帧数据的测试结果,确定屏幕监控范围内的动画显示流畅度是否满足测试指标。由此,提高了动画显示流畅度的监控精度和易用性,拓展了动画显示流畅度监控的多样性。

为了实现上述实施例,本发明还提出了一种存储介质,用于存储应用程序,应用程序用于执行本发明任一项实施例所述的画显示流畅度的监控方法。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1