掌桥专利:专业的专利平台
掌桥专利
首页

一种终端流畅度的确定方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 12:00:51


一种终端流畅度的确定方法、装置、电子设备和存储介质

技术领域

本公开涉及显示技术领域,尤其涉及一种终端流畅度的确定方法、装置、电子设备和存储介质。

背景技术

在终端使用应用程序时,应用程序通常需要不断地在该终端的显示屏上绘制该应用程序的数据帧,从而向用户展示该应用程序的显示内容。同一应用程序在不同类型的终端上绘制该应用程序的数据帧时,由于每个终端实际的配置信息存在差异,导致不同终端在绘制该应用程序的数据帧时的流畅度不同。

为此,现有技术中常见的做法是通过帧率来衡量不同终端在绘制同一应用程序的数据帧时的流畅度。这里所讲的帧率是终端在绘制应用程序的数据帧时,每秒所绘制的数据帧的数量。当通过帧率来衡量预设时间段内不同终端在绘制同一应用程序的数据帧时的流畅度时,若应用程序页面未更新时,现有技术中的帧率衡量方式也会统计该静止状态下的帧率,会导致统计数据有较大的误差判断,进而无法真实衡量不同终端在该预设时间段内绘制同一应用程序的数据帧时的流畅度。

发明内容

本公开提供一种终端流畅度的确定方法、装置、电子设备和存储介质,以至少解决相关技术中无法真实衡量不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度的问题。

本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种终端流畅度的确定方法,包括:获取预设时间段内满足预设条件的至少一个终端中每个终端的渲染数据;其中,渲染数据包括渲染帧数据和每一帧的帧耗时中的至少一项;根据获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,渲染帧数据包括额定渲染帧数和实际渲染帧数;在此情况下,上述“根据获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度”,具体可以通过下述方式实现:根据获取到的额定渲染帧数和实际渲染帧数,确定至少一个终端中每个终端的丢帧率;根据至少一个终端中每个终端的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,上述“根据至少一个终端中每个终端的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度”,具体可以通过下述方式实现:根据至少一个终端中每个终端的丢帧率,确定实际丢帧率;根据实际丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,上述“根据获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度”,具体可以通过下述方式实现:根据每一帧的帧耗时,确定缓慢帧率和冻结帧率,缓慢帧率用于指示帧耗时大于第一耗时阈值的总帧数与实际渲染帧数的比值,冻结帧率用于指示帧耗时大于第二耗时阈值的总帧数与实际渲染帧数的比值;根据缓慢帧率和冻结帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,渲染帧数据包括实际渲染帧数;在此情况下,上述“根据获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度”,具体可以通过下述方式实现:根据获取到的每一帧的帧耗时,确定每一个帧耗时对应的总帧数,最大总帧数以及最大总帧数对应的帧耗时;基于最大总帧数以及最大总帧数对应的帧耗时,确定耗时区间;若耗时区间对应的耗时概率超过预定阈值,则将该耗时区间确定为目标耗时区间;其中耗时区间的耗时概率为耗时区间包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值。

在一种可实施的方式中,预设条件至少包括安装有目标应用程序、相同品牌相同型号、相同配置信息、或者相同系统程序中的任一项。

根据本公开实施例的第二方面,提供一种终端流畅度的确定装置,其特征在于,包括获取单元和处理单元;获取单元,被配置为获取预设时间段内满足预设条件的至少一个终端中每个终端的渲染数据;其中,渲染数据包括渲染帧数据和每一帧的帧耗时中的至少一项;处理单元,被配置为根据获取单元获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,渲染帧数据包括额定渲染帧数和实际渲染帧数;在此情况下,处理单元,具体被配置为根据获取单元获取到的额定渲染帧数和获取单元获取到的实际渲染帧数,确定至少一个终端中每个终端的丢帧率;处理单元,具体被配置为根据至少一个终端中每个终端的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,处理单元,具体被配置为根据至少一个终端中每个终端的丢帧率,确定实际丢帧率;处理单元,具体被配置为根据实际丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,处理单元,具体被配置为根据获取单元获取的每一帧的帧耗时,确定缓慢帧率和冻结帧率,缓慢帧率用于指示帧耗时大于第一耗时阈值的总帧数与实际渲染帧数的比值,冻结帧率用于指示帧耗时大于第二耗时阈值的总帧数与实际渲染帧数的比值;处理单元,具体被配置为根据缓慢帧率和冻结帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,渲染帧数据包括实际渲染帧数;在此情况下,处理单元,具体被配置为根据获取单元获取到的每一帧的帧耗时,确定每一个帧耗时对应的总帧数,最大总帧数以及最大总帧数对应的帧耗时;处理单元,具体被配置为基于最大总帧数以及最大总帧数对应的帧耗时,确定耗时区间;处理单元,具体被配置为若耗时区间对应的耗时概率超过预定阈值,则将耗时区间确定为目标耗时区间;其中,耗时区间的耗时概率为耗时区间包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值。

在一种可实施的方式中,预设条件至少包括安装有目标应用程序、相同品牌相同型号、相同配置信息、或者相同系统程序中的任一项。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现第一方面提供的流畅度的确定方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当存储介质中的指令由第三方面提供的电子设备的处理器执行时,使得电子设备能够执行第一方面提供的流畅度的确定方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面的设计方式的流畅度的确定方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

由上述可知,当预设条件为安装有目标应用程序时,本公开实施例提供的终端流畅度的确定方法,通过获取预设时间段内满足安装有目标应用程序的至少一个终端中每个终端的渲染数据,并根据每个终端的渲染数据确定满足预设条件的终端在预设时间段内的流畅度,从而可以准确地反映出不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度,解决相关技术中无法真实衡量不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种实施环境的架构图;

图2是根据一示例性实施例示出的一种终端流畅度的确定方法的流程图之一;

图3是根据一示例性实施例示出的一种终端流畅度的确定方法的流程图之二;

图4是根据一示例性实施例示出的一种终端流畅度的确定方法的流程图之三;

图5是根据一示例性实施例示出的一种终端流畅度的确定方法的流程图之四;

图6是根据一示例性实施例示出的一种终端流畅度的确定方法的流程图之五;

图7是根据一示例性实施例示出的一种终端流畅度的确定方法的帧耗时与帧数的示意图;

图8是根据一示例性实施例示出的一种终端流畅度的确定装置的结构示意图之一;

图9是根据一示例性实施例示出的一种终端流畅度的确定装置的结构示意图之二。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种实施环境的架构图,如图1所示,下述终端流畅度的确定方法可以应用于该实施环境中。该实施环境包括至少一个电子设备01和服务器02。服务器02用于获取预设时间段内满足预设条件的至少一个终端中每个终端的渲染数据;电子设备01至少包括存储器101,处理器102、显示器103和电源104。其中,存储器101可用于存储软件程序以及各种数据。存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)。当存储器101中的软件程序启动时,处理器102根据该软件程序的数据帧控制该显示器103显示该软件程序的显示内容。电源104(比如电池)可以用于为各个部件供电,可选的,电源104可以通过电源管理系统与处理器102逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

在一种可实施的方式中,电子设备01用于向用户提供语音和/或数据连通性服务。电子设备01可以有不同的名称,例如用户设备(user equipment,UE)、接入终端、终端单元、终端站、移动站、移动台、远方站、远程终端、移动设备、无线通信设备、车辆用户设备、终端代理或终端装置等。可选的,客户端02可以为各种具有通信功能的手持设备、车载设备、可穿戴设备、计算机,本公开实施例对此不作任何限定。例如,手持设备可以是智能手机。车载设备可以是车载导航系统。可穿戴设备可以是智能手环。计算机可以是个人数字助理(personal digital assistant,PDA)电脑、平板型电脑以及膝上型电脑(laptopcomputer)。

本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。

在本公开中所用的一些术语具有其在业界普通和习惯的意义。另外,对一些术语在本说明书中出现时会加以解释。但理解在本文中特别使用的几个术语会有所帮助。

每秒传输帧数(Frames Per Second,FPS)是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。

现有技术中,通过FPS来衡量不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度,若该应用程序处于未被使用的状态,此时该应用程序并不需要在终端的显示屏上绘制数据帧,使得不同终端在该预设时间段内采集的数据帧的总数存在差异,进而无法真实衡量不同终端在该预设时间段内绘制同一应用程序的数据帧时的流畅度。

为此,本公开实施例提供的终端流畅度的确定方法,对于满足预设条件的终端,通过每个终端的渲染帧数据和每一帧的帧耗时,确定出预设条件的终端在预设时间段内的流畅度。如此,当预设条件为安装有目标应用程序时,电子设备通过获取预设时间段内满足安装有目标应用程序的至少一个终端中每个终端的渲染数据,并根据每个终端的渲染数据确定满足预设条件的终端在预设时间段内的流畅度,从而可以准确地反映出不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度,解决相关技术中无法真实衡量不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度的问题。

本公开的实施例提供的流畅度的确定方法的执行主体可以为上述的电子设备01,也可以为服务器中能够实现该终端流畅度的确定方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本公开的实施例不作限定。下面以执行主体为电子设备01为例,对本公开的实施例提供的终端流畅度的确定方法进行示例性的说明。

下面结合各个附图对本公开实施例提供的终端流畅度的确定方法进行示例性的说明。

图2是根据一示例性实施例示出的一种终端流畅度的确定方法的流程图,如图2所示,终端流畅度的确定方法用于电子设备中,该方法包括以下S11和S12。

S11、电子设备获取预设时间段内满足预设条件的至少一个终端中每个终端的渲染数据。其中,渲染数据包括渲染帧数据和每一帧的帧耗时中的至少一项。

具体的,预设条件至少包括安装有目标应用程序、或者相同品牌相同型号、或者相同配置信息(如:内存、处理器,屏幕刷新频率等)、或者相同系统程序(如:安卓(Android))中的任一项,从而方便对比满足预设条件的终端在预设时间段内的流畅度。

具体的,帧耗时包括以下8阶段的每个阶段的耗时之和。各个阶段如下:

1、InputHandlingDuration:瀑布流细分阶段耗时,为用户界面(user interface,UI)展示:输入耗时(InputHandlingDuration)。

2、AnimationDuration:瀑布流细分阶段耗时,为UI展示:动画耗时(AnimationDuration)。

3、LayoutMeasureDuration:瀑布流细分阶段耗时,为UI展示:布局耗时(LayoutMeasureDuration)。

4、DrawDuration:瀑布流细分阶段耗时,为UI展示:绘制耗时(DrawDuration)。

5、SyncDuration:瀑布流细分阶段耗时,为UI展示:同步耗时(SyncDuration)。

6、CommandIssueDuration:瀑布流细分阶段耗时,为UI展示:指令耗时(CommandIssueDuration)。

7、SwapBuffersDuration:瀑布流细分阶段耗时,为UI展示:缓冲区交换耗时(SwapBuffersDuration)。

8、UnknownDelayDuration:瀑布流细分阶段耗时,为UI展示:未知延时耗时(UnknownDelayDuration)。

S12、电子设备根据获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实现的方式中,本公开实施例提供的终端流畅度的确定方法中,流畅度包括N个分类。其中,N为大于或等于1的整数。

示例性的,N的取值越大,对应的流畅度的越低。

具体的,可以根据实际的情况,对流畅度进行分类,此处不再赘述。

由上述可知,为了避免无法真实衡量不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度的问题,本公开实施例提供的终端流畅度的确定方法,对于满足预设条件的终端,通过每个终端的渲染帧数据和每一帧的帧耗时,确定出预设条件的终端在预设时间段内的流畅度。

如此,当预设条件为安装有目标应用程序时,电子设备通过获取预设时间段内满足安装有目标应用程序的至少一个终端中每个终端的渲染数据,并根据每个终端的渲染数据确定满足预设条件的终端在预设时间段内的流畅度,从而可以准确地反映出不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度,解决相关技术中无法真实衡量不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度的问题。

在一种可实施的方式中,渲染帧数据包括额定渲染帧数和实际渲染帧数;在此情况下,结合图2,如图3所示,上述S12具体可以通过下述S120和S121实现。

S120、电子设备根据获取到的额定渲染帧数和实际渲染帧数,确定至少一个终端中每个终端的丢帧率。

需要说明的是,现有技术中根据帧耗时大于屏幕刷新间隔的帧数与实际渲染帧数的比值来确定丢帧率,会存在以下情景:

情景一、终端在预设时间段内绘制应用程序的数据帧时,每帧耗时都是100毫秒(ms),所有帧耗时都超过预设阈值,此时丢帧率为100%。其中,预设阈值等于

情景二、终端在预设时间段内绘制应用程序的数据帧时,每帧耗时都是18ms,所有帧耗时都超过预设阈值,此时丢帧率为100%。

可见,“根据帧耗时大于屏幕刷新间隔的帧数与实际渲染帧数的比值来确定丢帧率”无法准确地确定终端在预设时间段内绘制应用程序的数据帧时的流畅度。为此,本公开实施例提供的流畅度的确定方法,基于额定渲染帧数和实际渲染帧数,可以更加准确地确定出终端在预设时间段内绘制应用程序的数据帧时的流畅度。如:

情景三、终端在预设时间段内绘制应用程序的数据帧时,每帧耗时都是100ms(所有帧耗时都超过预设阈值)。此时,若终端在该预设时间段内实际渲染帧数为40帧,而额定渲染帧数应为60帧,根据本公开实施例提供的流畅度确定方法,可以确定该终端在预设时间段内绘制应用程序的数据帧时的丢帧率为

情景四、终端在预设时间段内绘制应用程序的数据帧时,每帧耗时都是18ms(所有帧耗时都超过预设阈值)。此时,若终端在该预设时间段内实际渲染帧数为55帧,而额定渲染帧数应为60帧,根据本公开实施例提供的流畅度确定方法,可以确定该终端在预设时间段内绘制应用程序的数据帧时的丢帧率为

由上述可知,当终端在预设时间段内绘制应用程序的数据帧时的丢帧率越小,则表示该终端在预设时间段内绘制应用程序的数据帧的流畅度越高。由于,情景四中终端在预设时间段内绘制应用程序的数据帧时的丢帧率小于情景三中终端在预设时间段内绘制应用程序的数据帧时的丢帧率,因此可以确定出情景四中的终端在预设时间段内绘制应用程序的数据帧时的流畅度好于情景三中的终端在预设时间段内绘制应用程序的数据帧时的流畅度。

S121、电子设备根据至少一个终端中每个终端的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实现的方式中,仅存在一个满足预设条件的终端时,可以根据该满足预设条件的终端的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。示例性的,电子设备该丢帧率查询预设关系,确定该满足预设条件的终端在预设时间段内的流畅度。其中,预设关系包括丢帧率区间与流畅度的对应关系。

示例性的,以流畅度包括5个分类,分别为第1流畅度(也称为流畅度良好)、第2流畅度(也称为流畅度较好)、第3流畅度(也称为流畅度正常)、第4流畅度(也称为流畅度较差)和第5流畅度(也称为流畅度差),并且N的取值越大对应的流畅度越低,为例,预设关系如表1所示。

表1

其中,A,B,C,D,E均大于0,并且,A<B、B<C、C<D、D<E。

在另一种可实现的方式中,仅存在两个满足预设条件的终端时,可以根据两个终端的丢帧率的平均值,确定满足预设条件的终端在预设时间段内的流畅度。示例性的,电子设备根据预先配置的不同丢帧率对应的流畅度,确定满足预设条件的终端在预设时间段内的流畅度。

在另一种可实现的方式中,存在三个以上的满足预设条件的终端时,可以根据所有终端的丢帧率的平均值,或者方差,确定满足预设条件的终端在预设时间段内的流畅度;或者,存在三个以上的满足预设条件的终端时,可以根据所有终端的丢帧率的最大值与最小值的平均值,确定满足预设条件的终端在预设时间段内的流畅度;或者,存在三个以上的满足预设条件的终端时,可以根据所有终端的丢帧率中出现次数最多的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

上述可知,通过本公开实施例提供的终端流畅度的确定方法,可以更加准确地确定出每个终端实际的丢帧率。然后,根据每个终端的丢帧率可以更加客观地反映出预设时间段内满足预设条件的终端的丢帧率的真实状态。最后,可以根据每个终端的丢帧率,更加准确地确定出预设时间段内满足预设条件的终端的流畅度。

在一种可实施的方式中,结合图3,如图4所示,上述S121具体可以通过下述S1210和S1211实现。

S1210、电子设备根据至少一个终端中每个终端的丢帧率,确定实际丢帧率。

具体的,实际丢帧率等于

具体的,实际丢帧率等于根据至少一个终端中每个终端的丢帧率确定的方差或者标准差,从而可以反映出满足预设条件的终端的丢帧率的变化趋势。

S1211、电子设备根据实际丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

示例性的,假设实际丢帧率落在了丢帧率区间[B,C)内时,由表1可知,确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。

需要说明的是,使用实际丢帧率确定满足预设条件的终端在预设时间段内的流畅度的过程,与使用丢帧率确定满足预设条件的终端在预设时间段内的流畅度的过程类似,此处不再赘述。

由上述可知,通过本公开实施例提供的终端流畅度的确定方法,可以更加准确地确定出每个终端实际的丢帧率。然后,根据每个终端的丢帧率确定出的实际丢帧率可以更加客观地反映出预设时间段内满足预设条件的终端的丢帧率的真实状态。最后,可以根据该实际丢帧率与预设阈值的大小关系,更加准确地确定出预设时间段内满足预设条件的终端的流畅度。

在一种可实施的方式中,结合图2,如图5所示,上述12具体可以通过下述S122和S123实现。

S122、电子设备根据每一帧的帧耗时,确定缓慢帧率和冻结帧率。缓慢帧率用于指示帧耗时大于第一耗时阈值的总帧数与实际渲染帧数的比值,冻结帧率用于指示帧耗时大于第二耗时阈值的总帧数与实际渲染帧数的比值。

具体的,在实际的应用中,当帧耗时大于第一耗时阈值时,在用户侧能感受到比较明显的卡顿;当帧耗时大于第二耗时阈值时,在用户侧能感受到清晰的卡死情况。因此,通过缓慢帧率和冻结帧率可以更加准确地衡量用户侧的流畅度体验。

示例性的第一耗时阈值为80ms,第二耗时阈值为160ms。

S123、电子设备根据缓慢帧率和冻结帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实现的方式中,可以根据缓慢帧率与第一帧率阈值的大小关系,以及冻结帧率与第二帧率阈值的大小关系,确定满足预设条件的终端在预设时间段内的流畅度。

示例性的,以流畅度包括2个等级,分别为第一流畅度(也称为流畅度较好)和第二流畅度(成为流畅度差)为例,根据缓慢帧率与第一帧率阈值的大小关系,以及冻结帧率与第二帧率阈值的大小关系,确定满足预设条件的终端在预设时间段内的流畅度,包括:

当确定缓慢帧率大于或等于第一帧率阈值,或者冻结帧率大于或等于第二帧率阈值,或者缓慢帧率大于或等于第一帧率阈值,并且冻结帧率大于或等于第二帧率阈值时,确定满足预设条件的终端在预设时间段内的流畅度为流畅度差。

当确定缓慢帧率小于第一帧率阈值,并且对冻结帧率小于第二帧率阈值时,确定满足预设条件的终端在预设时间段内的流畅度为流畅度较好。

由上述可知,为了更加准确地反映出预设时间段内满足预设条件的终端的流畅度,本公开实施例提供的终端流畅度的确定方法,在确定丢帧率大于或等于预设阈值时,通过缓慢帧率和冻结帧率可以更加准确地衡量用户侧的流畅度体验。因此,通过确定缓慢帧率与第一帧率阈值的大小关系,以及冻结帧率与第二帧率阈值的大小关系,更加准确地确定出预设时间段内满足预设条件的终端的流畅度。

在一种可实施的方式中,渲染帧数据包括实际渲染帧数;在此情况下,结合图2,如图6所示,上述S12具体可以通过下述S124-S126实现。

S124、电子设备根据获取到的每一帧的帧耗时,确定每一个帧耗时对应的总帧数,最大总帧数以及最大总帧数对应的帧耗时。

具体的,可以对每一帧的帧耗时进行数据分桶,从而为了更加直观地反映出每一个帧耗时对应的总帧数。示例性的,每一个帧耗时对应的总帧数如图7所示,其中帧耗时8ms对应的总帧数为最大总帧数。

S125、电子设备基于最大总帧数以及最大总帧数对应的帧耗时,确定耗时区间;若耗时区间对应的耗时概率超过预定阈值,则将耗时区间确定为目标耗时区间。其中,耗时区间的耗时概率为耗时区间包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值。

其中,当耗时区间的耗时概率超过预定阈值的差值在一定的预设范围内,则将耗时区间确定位目标耗时区域,其中预设范围可根据需要设定。

在一种可实现的方式中,电子设备按照大小顺序(如:从小到大的顺序)对每一帧的帧耗时进行排序,然后以最大总帧数对应的的帧耗时为参考轴,依次从该参考轴的两侧累加,直至累加的总帧数与实际渲染帧数的比值大于预定阈值(如40%)时,确定累加的总帧数与实际渲染帧数的比值大于预定阈值所对应的耗时区间为目标耗时区间。示例性的,结合图7,假设预设时间内实际渲染帧数为200帧,预定阈值为60%时,根据上述描述可以确定最大总帧数对应的帧耗时为8ms,帧耗时8ms对应的总帧数为50,此时由于50/200小于60%。因此,需要从两侧进行累加(如:从左到右进行累加)。由图7可知,帧耗时8ms的左侧为帧耗时7ms,并且帧耗时7ms对应的总帧数为30,由于(50+30)/200小于60%。此时,需要继续从两侧进行叠加,又由于是按照从左到右依次进行叠加,因此由图7可知,帧耗时8ms的左侧为帧耗时9ms,并且帧耗时9ms对应的总帧数为25,由于(50+30+25)/200小于60%。此时,需要继续从两侧进行叠加,又由于是按照从左到右依次进行叠加,因此由图7可知,帧耗时7ms的左侧为帧耗时6ms,并且帧耗时6ms对应的总帧数为25。由于(50+30+25+25)/200大于60%,可以确定耗时区间[6,9]为目标耗时区间。

当然,也可以是以最大总帧数对应的的帧耗时为参考轴,依次从该参考轴的一侧累加,直至累加的总帧数与实际渲染帧数的比值大于预定阈值(如40%)时,确定累加的总帧数与实际渲染帧数的比值大于预定阈值所对应的耗时区间为目标耗时区间。示例性的,结合图7,假设预设时间内实际渲染帧数为200帧,预定阈值为60%时,根据上述描述可以确定最大总帧数对应的帧耗时为8ms,帧耗时8ms对应的总帧数为50,此时由于50/200小于60%。因此,需要从一侧进行累加(如:以该参考轴的左侧为例)。由图7可知,帧耗时8ms的左侧为帧耗时7ms,并且帧耗时7ms对应的总帧数为30,由于(50+30)/200小于60%。此时,需要继续从左侧进行叠加,由图7可知,帧耗时7ms的左侧为帧耗时6ms,并且帧耗时6ms对应的总帧数为25,由于(50+30+25)/200小于60%。此时,需要继续从左侧进行叠加,由图7可知,帧耗时6ms的左侧为帧耗时5ms,并且帧耗时6ms对应的总帧数为20。由于(50+30+25+20)/200大于60%,可以确定耗时区间[5,8]为目标耗时区间。

示例性的,结合图7,假设预设时间内实际渲染帧数为200帧,预定阈值为60%时,根据上述描述可以确定最大总帧数对应的帧耗时为8ms,帧耗时8ms对应的总帧数为50,此时由于50/200小于60%。因此,需要从一侧进行累加(如:以该参考轴的右侧为例)。由图7可知,帧耗时8ms的右侧为帧耗时9ms,并且帧耗时9ms对应的总帧数为25,由于(50+25)/200小于60%。此时,需要继续从右侧进行叠加,由图7可知,帧耗时9ms的右侧为帧耗时10ms,并且帧耗时10ms对应的总帧数为18,由于(50+25+18)/200小于60%。此时,需要继续从右侧进行叠加,由图7可知,帧耗时10ms的右侧为帧耗时11ms,并且帧耗时11ms对应的总帧数为22,由于(50+25+18+22)/200小于60%。此时,需要继续从右侧进行叠加,由图7可知,帧耗时11ms的右侧为帧耗时12ms,并且帧耗时12ms对应的总帧数为22,由于(50+25+18+22+22)/200大于60%,可以确定耗时区间[8,12]为目标耗时区间。

S126、电子设备根据目标耗时区间,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实现的方式中,可以判别目标耗时区间中包含的最大帧耗时与最小帧耗时与预设阈值的大小关系,从而确定满足预设条件的终端在预设时间段内的流畅度。

示例性的,当目标耗时区间中包含的最大帧耗时小于或等于预设阈值,确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。当目标耗时区间中包含的最小帧耗时大于或等于预设阈值,确定满足预设条件的终端在预设时间段内的流畅度为流畅度较差。

需要说明的是,为了更加准确地分析出不同终端在预设时间段内绘制同一应用程序的数据帧时的流畅度,此处不同终端的显示器的每秒刷新次数应相同。

具体的,当目标耗时区间中包含的最大帧耗时大于预设阈值,并且目标耗时区间中包含的最小帧耗时小于于预设阈值时,此时可以根据该目标耗时区间中包含的所有帧耗时的平均帧耗时与预设阈值的大小关系,确定满足预设条件的终端在预设时间段内的流畅度。如:当平均帧耗时小于或等于预设阈值,确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。当平均帧耗时大于或等于预设阈值,确定满足预设条件的终端在预设时间段内的流畅度为流畅度较差。

在另一种可实现的方式中,在指定关系中查询该目标耗时区间对应的帧耗时区间,并根据该帧耗时区间,确定满足预设条件的终端在预设时间段内的流畅度。其中,指定关系包括帧耗时区间与流畅度的对应关系。

示例性的,指定关系如表2所示。

表2

其中,F大于0。

假设F为16ms,目标耗时区间为[3,15],此时由表2可知,目标耗时区间[3,15]位于帧耗时区间[0,16)中。因此,可以确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。

假设F为16ms,目标耗时区间为[17,25],此时由表2可知,目标耗时区间[17,25]位于帧耗时区间[16,+∞)中。因此,可以确定满足预设条件的终端在预设时间段内的流畅度为流畅度较差。

假设F为16ms,目标耗时区间为[12,18],此时由表2可知,目标耗时区间[12,18]的一部分([12,16))位于帧耗时区间[0,16)中,而目标耗时区间[12,18]的另一部分([16,18])位于帧耗时区间[16,+∞)。在此情况下,可以根据目标耗时区间内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值,来确定满足预设条件的终端在预设时间段内的流畅度。如:目标耗时区间中的区间[12,16)内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值为20%,而目标耗时区间中的区间[16,18]内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值为10%;由于20%大于10%,表示终端在预设时间段内绘制应用程序的每一帧的帧耗时落在该目标耗时区间的区间[12,16)内的概率大于终端在预设时间段内绘制应用程序的每一帧的帧耗时落在该目标耗时区间的区间[16,18]内的概率,从而可以用目标耗时区间的区间[12,16)对应的流畅度来表征该目标耗时区间对应的流畅度。由表2可知,区间[12,16)位于帧耗时区间[0,16)中。因此,可以确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。

假设F为16ms,目标耗时区间为[12,18],此时由表2可知,目标耗时区间[12,18]的一部分([12,16))位于帧耗时区间[0,16)中,而目标耗时区间[12,18]的另一部分([16,18])位于帧耗时区间[16,+∞)。在此情况下,可以根据目标耗时区间内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值,来确定满足预设条件的终端在预设时间段内的流畅度。如:目标耗时区间中的区间[12,16)内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值为20%,而目标耗时区间中的区间[16,18]内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值为20%;由于20%等于20%,表示终端在预设时间段内绘制应用程序的每一帧的帧耗时落在该目标耗时区间的区间[12,16)内的概率与终端在预设时间段内绘制应用程序的每一帧的帧耗时落在该目标耗时区间的区间[16,18]内的概率相同,此时可以通过计算区间[12,16)中包含的所有帧耗时的平均帧耗时,以及计算区间[16,18]中包含的所有帧耗时的平均帧耗时。然后,确定区间[12,16)中包含的所有帧耗时的平均帧耗时与区间[16,18]中包含的所有帧耗时的平均帧耗时的大小关系,从而确定满足预设条件的终端在预设时间段内的流畅度。具体包括如下情况:

情况一、在区间[12,16)中包含的所有帧耗时的平均帧耗时大于区间[16,18]中包含的所有帧耗时的平均帧耗时的情况下,用目标耗时区间的区间[12,16)对应的流畅度来表征该目标耗时区间对应的流畅度。由表2可知,区间[12,16)位于帧耗时区间[0,16)中。因此,可以确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。

情况二、在区间[12,16)中包含的所有帧耗时的平均帧耗时等于区间[16,18]中包含的所有帧耗时的平均帧耗时的情况下,此时确定满足预设条件的终端在预设时间段内的流畅度为流畅度正常。

由上述可知,本公开实施例提供的终端流畅度的确定方法,通过分析每一个帧耗时对应的总帧数,进而可以确定出耗时概率。由于耗时概率表征了预设时间段内满足预设条件的终端的帧耗时的分布状况,并不能表示预设时间段内满足预设条件的终端的全部帧耗时的分布。因此可以根据耗时概率,估计出预设时间段内的流畅度,便于用户灵活确定预设时间段内满足预设条件的终端的流畅度。

图8是根据一示例性实施例示出的一种终端流畅度的确定装置。参照图8,包括获取单元101和处理单元102。

获取单元101,被配置为获取预设时间段内满足预设条件的至少一个终端中每个终端的渲染数据;其中,渲染数据包括渲染帧数据和每一帧的帧耗时中的至少一项;处理单元102,被配置为根据获取单元101获取到的渲染数据,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,渲染帧数据包括额定渲染帧数和实际渲染帧数;在此情况下,处理单元102,具体被配置为根据获取单元101获取到的额定渲染帧数和获取单元101获取到的实际渲染帧数,确定至少一个终端中每个终端的丢帧率;处理单元102,具体被配置为根据至少一个终端中每个终端的丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,处理单元102,具体被配置为根据至少一个终端中每个终端的丢帧率,确定实际丢帧率;处理单元102,具体被配置为根据实际丢帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,处理单元102,具体被配置为根据获取单元101获取的每一帧的帧耗时,确定缓慢帧率和冻结帧率,缓慢帧率用于指示帧耗时大于第一耗时阈值的总帧数与实际渲染帧数的比值,冻结帧率用于指示帧耗时大于第二耗时阈值的总帧数与实际渲染帧数的比值;处理单元102,具体被配置为根据缓慢帧率和冻结帧率,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,渲染帧数据包括实际渲染帧数;在此情况下,处理单元102,具体被配置为根据获取单元101获取到的每一帧的帧耗时,确定每一个帧耗时对应的总帧数,以及最大总帧数;处理单元102,具体被配置为按照大小顺序对获取单元101获取的每一帧的帧耗时进行排序,确定目标耗时区间;其中,目标耗时区间内包含最大总帧数对应的帧耗时,并且目标耗时区间内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值小于或等于比值阈值,并且目标耗时区间内包含的每一个帧耗时对应的总帧数之和与实际渲染帧数的比值与比值阈值的差值最小;处理单元102,具体被配置为根据目标耗时区间,确定满足预设条件的终端在预设时间段内的流畅度。

在一种可实施的方式中,预设条件至少包括安装有目标应用程序、相同品牌相同型号、相同配置信息、或者相同系统程序中的任一项。

当然,本公开的实施例提供的终端流畅度的确定装置10包括但不限于上述模块,例如终端流畅度的确定装置10还可以包括存储单元103。存储单元103可以用于存储该写流畅度的确定装置的程序代码,还可以用于存储写流畅度的确定装置在运行过程中生成的数据,如写请求中的数据等。

另外,上述实施例提供的终端流畅度的确定装置10在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端流畅度的确定装置10的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

图9为本公开实施例提供的一种终端流畅度的确定装置10的结构示意图,如图9所示,该终端流畅度的确定装置10可以包括:至少一个处理器51、存储器52、通信接口53和通信总线54。

下面结合图9对终端流畅度的确定装置的各个构成部件进行具体的介绍:

其中,处理器51是流畅度的确定装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器51是一个中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路,例如:一个或多个DSP,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。

在具体的实现中,作为一种实施例,处理器51可以包括一个或多个CPU,例如图9中所示的CPU0和CPU1。且,作为一种实施例,流畅度的确定装置可以包括多个处理器,例如图9中所示的处理器51和处理器55。这些处理器中的每一个可以是一个单核处理器(Single-CPU),也可以是一个多核处理器(Multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

存储器52可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器52可以是独立存在,通过通信总线54与处理器51相连接。存储器52也可以和处理器51集成在一起。

在具体的实现中,存储器52,用于存储本公开中的数据和执行本公开的软件程序。处理器51可以通过运行或执行存储在存储器52内的软件程序,以及调用存储在存储器52内的数据,执行空调器的各种功能。

通信接口53,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)、终端、云端等。通信接口53可以包括接收单元实现接收功能。

通信总线54,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

作为一个示例,结合图8,终端流畅度的确定装置10中的获取单元101实现的功能与图9中的通信接口53的功能相同,处理单元102实现的功能与图9中的处理器51的功能相同,存储单元103实现的功能与图9中的存储器52的功能相同。

本公开另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法。

在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。

在示例性实施例中,本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器102,上述指令可由流畅度的确定装置的处理器101执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,本公开实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由终端流畅度的确定装置的处理器101执行以完成上述方法。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本公开的实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种终端流畅度的确定方法、装置、电子设备和存储介质
  • 一种视频流畅度确定方法、装置、电子设备及介质
技术分类

06120113135963