CN108664377A - 一种用户界面的卡顿确定方法、装置及存储介质 - Google Patents

一种用户界面的卡顿确定方法、装置及存储介质 Download PDF

Info

Publication number
CN108664377A
CN108664377A CN201810409472.0A CN201810409472A CN108664377A CN 108664377 A CN108664377 A CN 108664377A CN 201810409472 A CN201810409472 A CN 201810409472A CN 108664377 A CN108664377 A CN 108664377A
Authority
CN
China
Prior art keywords
interim card
parameter value
value
card parameter
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810409472.0A
Other languages
English (en)
Other versions
CN108664377B (zh
Inventor
吴伟江
罗彧成
黄进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Music Entertainment Technology Shenzhen Co Ltd
Original Assignee
Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Music Entertainment Technology Shenzhen Co Ltd filed Critical Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority to CN201810409472.0A priority Critical patent/CN108664377B/zh
Publication of CN108664377A publication Critical patent/CN108664377A/zh
Application granted granted Critical
Publication of CN108664377B publication Critical patent/CN108664377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了用户界面的卡顿确定方法、装置及存储介质,应用于信息处理技术领域。在本实施例的方法中,终端设备中的应用模块在确定卡顿程度信息时,需要根据终端设备开始绘制用户界面的各个时间点计算卡顿参数值,并根据卡顿参数值划分这些时间点,得到多个卡顿分段,从而根据多个卡顿分段对应的卡顿参数值,确定终端设备在一段时间内显示用户界面的卡顿程度信息。这样,按照计算得到的卡顿参数值,将开始绘制用户界面的各个时间点划分为多个卡顿分段,从而可对各个卡顿分段进行各自的处理,并分段地反映出显示模块显示用户界面时的卡顿情况,使得在较长一段时间中只有一小段时间内发生卡顿的情况下,卡顿的数据不会被流畅的数据淹没。

Description

一种用户界面的卡顿确定方法、装置及存储介质
技术领域
本发明涉及信息处理技术领域,特别涉及一种用户界面的卡顿确定方法、装置及存储介质。
背景技术
一般情况下,在终端设备中都包括显示模块,渲染模块和各个应用模块,为了使得应用模块绘制各个应用模块的用户界面(user interface,UI)的频率,与终端设备中显示模块刷新显示屏幕的频率一致,以稳定显示模块输出的画面质量,终端设备中的显示模块一般会按照一定周期(比如16.6毫秒)发出同步信号,即垂直同步(verticalsynchronization,VSYNC)信号,该同步信号用于通知应用模块重新绘制用户界面。其中,显示模块发出同步信号的周期表示该显示模块刷新一帧屏幕的频率。
应用模块每一次绘制用户界面时,都会记录开始绘制用户界面的时间点,这样,如果应用模块开始绘制用户界面的两个相邻时间点之间的时间间隔,超出终端设备的显示模块发出同步信号的周期,则说明这个时间间隔内,应用模块显示的用户界面的过程中发生掉帧现象,即发生卡顿。
现有技术中,终端设备中的各个应用模块还会获取每次开始绘制用户界面的时间点,并计算得到开始绘制用户界面的两个相邻时间点之间的掉帧数,即开始绘制用户界面的两个相邻时间点之间的时间间隔与显示模块刷新屏幕的频率的比值;然后通过掉帧数,来衡量显示模块显示用户界面时出现卡顿的严重程度。
但是很多时候,终端设备的显示模块在显示用户界面的较长一段时间内,只有一小段时间发生卡顿,而在其它时间都是流畅的,这样通过掉帧数就无法准确地反映出显示模块显示用户界面时的卡顿情况。
发明内容
本发明实施例提供一种用户界面的卡顿确定方法、装置及存储介质,实现了根据多个卡顿分段分别对应的卡顿参数值,确定终端设备显示用户界面的卡顿程度信息。
本发明实施例第一方面提供一种用户界面的卡顿确定方法,包括:
获取终端设备开始绘制用户界面的各个时间点;
根据所述各个时间点计算卡顿参数值;
根据所述卡顿参数值划分所述各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段;
根据所述多个卡顿分段分别对应的卡顿参数值,确定所述终端设备显示用户界面的卡顿程度信息。
本发明实施例第二方面提供一种终端设备,包括:
时间获取单元,用于获取终端设备开始绘制用户界面的各个时间点;
参数计算单元,用于根据所述各个时间点计算卡顿参数值;
分段单元,用于根据所述卡顿参数值划分所述各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段;
卡顿确定单元,用于根据所述多个卡顿分段分别对应的卡顿参数值,确定所述终端设备显示用户界面的卡顿程度信息。
本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的用户界面的卡顿确定方法。
本发明实施例第四方面提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的用户界面的卡顿确定方法。
可见,在本实施例的方法中,终端设备中的应用模块在确定卡顿程度信息时,需要根据终端设备开始绘制用户界面的各个时间点计算卡顿参数值,并根据卡顿参数值划分这些时间点,得到多个卡顿分段,从而根据多个卡顿分段对应的卡顿参数值,确定终端设备在一段时间内显示用户界面的卡顿程度信息。这样,按照计算得到的卡顿参数值,将开始绘制用户界面的各个时间点划分为多个卡顿分段,从而可对各个卡顿分段进行各自的处理,并分段地反映出显示模块显示用户界面时的卡顿情况,使得在较长一段时间中只有一小段时间内发生卡顿的情况下,卡顿的数据不会被流畅的数据淹没。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的用户界面的卡顿确定方法所应用于的终端设备的结构示意图;
图2是本发明一个实施例提供的一种用户界面的卡顿确定方法的流程图;
图3是本发明应用实施例中用户界面的卡顿确定方法所应用于的终端设备的结构示意图;
图4是本发明应用实施例提供的一种用户界面的卡顿确定方法的流程图;
图5是本发明实施例提供的一种终端设备的结构示意图;
图6是本发明实施例提供的另一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种用户界面的卡顿确定方法,主要可以应用于如图1所示的终端设备中,在终端设备中包括:显示模块,渲染模块和各个应用模块(图1中以一个应用模块为例说明),其中,任一应用模块用于绘制关于该应用的各帧用户界面并储存到缓存中;渲染模块用于在发起渲染流程时,对缓存中储存的应用模块绘制的用户界面执行渲染操作;显示模块则用于在终端设备的显示屏幕的刷新周期到来时,将渲染模块渲染的用户界面刷新到显示屏幕。
其中的应用模块可以是执行任意应用操作的模块,比如音乐应用,游戏应用,或视频应用等。
本发明实施例中的任一应用模块可以按照如下方法确定用户界面的卡顿,具体地:
获取终端设备开始绘制用户界面的各个时间点;根据各个时间点计算卡顿参数值;根据卡顿参数值划分各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段;根据多个卡顿分段分别对应的卡顿参数值,确定终端设备显示用户界面的卡顿程度信息。
这样,按照计算得到的卡顿参数值,将开始绘制用户界面的各个时间点划分为多个卡顿分段,从而可对各个卡顿分段进行各自的处理,并分段地反映出显示模块显示用户界面时的卡顿情况,使得在较长一段时间中只有一小段时间内发生卡顿的情况下,卡顿的数据不会被流畅的数据淹没。
本发明一个实施例提供一种用户界面的卡顿确定方法,主要是上述的终端设备中的某一应用模块所执行的方法,流程图如图2所示,包括:
步骤101,获取终端设备开始绘制用户界面的各个时间点。
可以理解,终端设备中的应用模块每次在绘制该应用的用户界面时,都会记录开始绘制用户界面的时间点。具体地,应用模块会在调用绘制触发接口,比如在调用帧回调(FrameCallback)接口时,将调用绘制触发接口的时间点记录到一个文件中,该文件可以命名为卡顿信息文件。
而终端设备中的应用模块可以按照一定的周期发起本实施例的方法,当在某一周期发起本实施例的方法时,应用模块会提取该卡顿信息文件,该卡顿信息文件中记录了从发起本实施例的上一周期到当前周期之间这段时间内,应用模块开始绘制该应用的用户界面的各个时间点。
步骤102,根据上述步骤101获取的各个时间点计算卡顿参数值,这里卡顿参数值是指用于衡量终端设备中显示装置显示该应用的用户界面时,用户界面卡顿情况的参数的参数值,具体可以包括但不限于如下几种参数的参数值:
(1)卡顿参数值可以为流畅度(Smoothness,SM)值。
流畅度值是指应用模块每秒执行绘制操作的次数,终端设备中的应用模块具体在执行本步骤时,可以按照1秒的时间间隔将上述获取的各个时间点进行分组,然后统计各个分组中时间点的个数,即可将各个分组中时间点的个数减一的值作为对应的流畅度值。
例如,上述步骤101获取的时间点为T1,T2,……,Tn,按照1秒的时间间隔将这些时间点进行分组得到分组l1,l2,……,lm,这里m小于n。其中,分组l1中的时间点为T1,T2和T3,分组l2中的时间点为T4,T5,T6,T7和T8,……,分组lm中的时间点为Tn-3,Tn-2,Tn-1和Tn,则分组l1中时间点的个数为3,对应的流畅度值为2;分组l2中时间点的个数为5,对应的流畅度值为4;……;分组lm中时间点的个数为4,对应的流畅度值为3。
(2)卡顿参数值还可以为掉帧数。
掉帧数是指终端设备中的显示模块在显示用户界面时,漏掉的用户界面的帧数。终端设备中的应用模块具体在执行本步骤时,可以计算任意两个相邻的时间点之间的时间差值,与终端设备中显示模块显示用户界面时的刷新频率的比值,将该比值作为任意两个相邻的时间点之间的掉帧数。
例如,上述步骤101获取的时间点为T1,T2,……,Tn,则T1和T2之间的掉帧数为(T2-T1)/F,T2与T3之间的掉帧数为(T3-T2)/F,……,Tn-1与Tn之间的掉帧数为(Tn-Tn-1)/F。
步骤103,根据卡顿参数值划分各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段。具体地,应用模块可以将相同卡顿参数值对应的时间点划分为同一个卡顿分段的时间点,进而可以得到一个卡顿分段所包括的时间分段;应用模块也可以将同一范围内的卡顿范数值对应的时间点划分为同一卡顿分段的时间点。
需要说明的是,一个卡顿分段中包括的一个时间分段由多个相邻的时间点组成,而两个时间分段之间的时间点不相邻。例如,一个卡顿分段中包括的时间分段为:上午11:00到11:30之间的时间分段,下午2:40到3:00之间的时间分段等。
终端设备中的应用模块在执行本步骤时,可以包括但不限于如下几种方式:
(1)如果卡顿参数值为流畅度值,则在划分各个时间点时,应用模块可以将流畅度值相同的至少一个分组所包括的时间点划分为一个卡顿分段的时间点。也可以将同一范围内的流畅度值对应的至少一个分组所包括的时间点划分为同一卡顿分段的时间点。
例如,如果上述步骤101获取的时间点为T1,T2,……,Tn,在计算流畅度值的过程中,对上述步骤101获取的多个时间点进行分组后,得到分组l1对应的流畅度值为2,分组l1中的时间点为T1,T2和T3;分组l2对应的流畅度值为2,分组l2中的时间点为T4,T5和T6;分组l3对应的流畅度值为4,分组l3中的时间点为T7,T8,T9,T10和T11;……;分组lm对应的流畅度值为2,分组lm中的时间点为Tn-2,Tn-1和Tn。则在执行本步骤的划分时,可以将分组l1,分组l2和分组lm中所包括的时间点划分为一个卡顿分段的时间点,该卡顿分段包括T1到T6之间的时间分段和Tn-2到Tn之间的时间分段;分组l3中所包括的时间点划分为另一个卡顿分段的时间点,该卡顿分段为从T7到T11之间的时间分段;……。
(2)如果卡顿参数值为掉帧数,则在划分各个时间点时,应用模块可以将相同掉帧数对应的多个时间点划分为一个卡顿分段的时间点。也可以将同一范围内的掉帧数对应的多个时间点划分为同一卡顿分段的时间点。
例如,上述步骤101获取的时间点为T1,T2,……,Tn,则T1和T2之间的掉帧数为f1,T2与T3之间的掉帧数为f2,T3与T4之间的掉帧数为f2,……,Tn-1与Tn之间的掉帧数为f2。则在执行本步骤的划分时,可以将掉帧数f1对应的时间点T1和T2划分为一个卡顿分段的时间点,该卡顿分段为T1到T2之间的时间段;将掉帧数f2对应的时间点T2,T3,T4,Tn-1和Tn划分为另一个卡顿分段的时间点,该卡顿分段为T2到T4之间的时间分段,及Tn-1到Tn之间的时间分段;……。
步骤104,根据多个卡顿分段对应的卡顿参数值,确定终端设备显示用户界面的卡顿程度信息。这里,卡顿程度信息是指在发起本实施例的流程的上一次周期到当前周期之间的时间段内,终端设备中的显示模块显示该应用的用户界面的卡顿程度的信息。
具体地,应用模块在确定卡顿程度信息时,可以包括但不限于如下几种方式:
(1)可以根据任一卡顿分段对应的卡顿参数值,确定任一卡顿分段所包括的各个时间分段内,终端设备中显示模块显示用户界面时的卡顿程度信息,即一般卡顿,卡顿严重,流畅,或一般流畅的信息等。这样,就可以得到各个卡顿分段分别对应的卡顿程度信息。
(2)根据多个卡顿分段对应的卡顿参数值,分别确定多个卡顿分段对应的卡顿分值;然后根据多个卡顿分段对应的卡顿分值确定终端设备显示用户界面的卡顿程度信息。
其中,在确定某一卡顿分段对应的卡顿分值时,应用模块可以按照该卡顿分段各个维度的信息来确定对应的卡顿分值。具体地,可以根据该卡顿分段所包括的时间分段的数量,各个时间分段的时长及卡顿分值等维度的信息,分别确定一个对应的分值;将这些维度对应的分值的相加值确定为该卡顿分段对应的卡顿分值,或者,将这些维度对应的分值的加权值相加后得到的值确定为该卡顿分段对应的卡顿分值。
例如,根据一个卡顿分段包括的时间分段的数量,确定一个分值a;根据各个时间分段的时长,确定一个分值b;根据一个卡顿分段的卡顿分值,确定一个分值c,则将a+b+c的值作为该卡顿分段的卡顿分值。
在根据多个卡顿分段对应的卡顿分值确定卡顿程度信息时,应用模块可以先计算多个卡顿分段的卡顿分值的加权值的相加值,然后将该相加值作为卡顿总分,并用该卡顿总分来表示卡顿程度信息。
其中,任一时间分段的卡顿分值的加权值具体可以为该卡顿分段的卡顿分值与对应的权重值的乘积;对应的权重值具体可以根据卡顿分值得到,比如,某一卡顿分段的卡顿分值表示该卡顿分段对应的时间分段内,显示模块显示用户界面时的卡顿比较严重,则可以设置该卡顿分段对应的权重值较大,如果某一卡顿分段的卡顿分值表示该卡顿分段对应的时间分段内,显示模块显示用户界面时较流畅,则可以设置该卡顿分段对应的权重值较小。
可见,在本实施例的方法中,终端设备中的应用模块在确定卡顿程度信息时,需要根据终端设备开始绘制用户界面的各个时间点计算卡顿参数值,并根据卡顿参数值划分这些时间点,得到多个卡顿分段,从而根据多个卡顿分段对应的卡顿参数值,确定终端设备在一段时间内显示用户界面的卡顿程度信息。这样,按照计算得到的卡顿参数值,将开始绘制用户界面的各个时间点划分为多个卡顿分段,从而可对各个卡顿分段进行各自的处理,并分段地反映出显示模块显示用户界面时的卡顿情况,使得在较长一段时间中只有一小段时间内发生卡顿的情况下,卡顿的数据不会被流畅的数据淹没。
在一个具体的实施例中,为了增强用于表示卡顿的卡顿参数值在确定卡顿程度信息的过程中的影响,进一步地防止在较长一段时间中只有一小段时间内发生卡顿的情况下,卡顿的数据被流畅的数据淹没。终端设备中的应用模块在执行步骤103时,可以先对上述步骤102计算得到的卡顿参数值进行预处理;然后再根据预处理后的卡顿参数值划分各个时间点,得到多个卡顿分段,具体地,将相同的预处理后的卡顿参数值对应的时间点,划分为同一卡顿分段的时间点;或者,将同一范围内的预处理后的卡顿参数值对应的时间点,划分为同一卡顿分段的时间点。其中,对于卡顿参数值的预处理可以包括但不限于如下的方式:
将卡顿参数值进行分组,得到多个卡顿参数分组;并从各个卡顿参数分组分别选取第一卡顿参数值,将第一卡顿参数值与对应权重值的乘积,作为预处理后的第一卡顿参数值。
其中,在对卡顿参数值进行分组时,可以按照卡顿参数值对应的各个时间点进行分组,比如将M秒(比如5秒)内包括的上述步骤101获取的时间点对应的卡顿参数值,划分到一个卡顿参数分组中。
第一卡顿参数值可以为一个或多个,且第一卡顿参数值的选取可以根据卡顿参数值的实际应用来选取。如果卡顿参数值为流畅度值,则卡顿参数值越小,说明终端设备中显示模块显示用户界面的卡顿程度越严重,因此,选取的第一卡顿参数值为卡顿参数分组的卡顿参数值中最小的至少一个卡顿参数值;如果卡顿参数值为掉帧数,则卡顿参数值越大,说明终端设备中显示模块显示用户界面的卡顿程度越严重,因此,选取的第一卡顿参数值为卡顿参数分组的卡顿参数值中最高的至少一个卡顿参数值。
且,如果某一个卡顿参数分组中至少一个卡顿参数值超出预置范围,则该卡顿参数分组对应的第一卡顿参数值对应的权重值为:1与第一乘积的相减值;这里第一乘积为该卡顿参数分组中超出预置范围的至少一个卡顿参数值的个数,与0.1的乘积。
这里预置范围可以根据卡顿参数值的实际应用来确定,如果卡顿参数值为流畅度值,则预置范围为小于或等于一定预置值(比如40),如果卡顿参数值为掉帧数,则预置范围为大于或等于一定预置值。
以下以一个具体的实施例来说明本发明实施例的方法,本实施例中,应用模块为音乐应用,且计算的卡顿参数值为流畅度值。具体地,本实施例的方法所应用于的终端设备的结构可以如图3所示,包括:
显示模块,用于在终端设备的显示屏幕的刷新周期到来时,将表层着色(SurfaceFlinger)模块渲染的用户界面刷新到显示屏幕;还用于按照一定的周期(比如16.6ms)发出同步信号,比如VSYNC信号。
显示信号(DispSync)模块,用于将显示模块发出的同步信号分成两个信号,一个信号为垂直同步信号,即VSYNC信号;另一个信号为表层着色的垂直信号(SF_Vsync),这些信号的流向见图3中虚线箭头所示。
舞动(Choreographer)模块,用于接收到显示信号模块发出的垂直同步信号后,调用执行帧(doFrame)流程,该doFrame流程具体为:调用帧回调(FrameCallback)接口,以绘制相应应用的用户界面。
音乐应用,用于执行与音乐相关的操作;在音乐应用中包括上述舞动模块,当舞动模块在调用FrameCallback接口后,通过测量(onMeasure)、布局(onLayout)和绘制(onDraw)的操作,得到与该音乐应用相关的各帧用户界面的数据,并将用户界面的数据表层(Surface)缓存中。
表层着色模块,用于接收显示信号模块发出的表层着色的垂直同步信号,对表层缓存中储存的音乐应用绘制的用户界面执行渲染操作,并将渲染的用户界面传送给显示模块,由显示模块刷新到终端设备的显示屏幕。
在本实施例中,音乐应用还可以如下的步骤来实现用户界面的卡顿确定方法,示意图如图4所示,包括:
步骤201,音乐应用中的舞动模块会每次在调用FrameCallback接口时,将每次调用的时间点以文件形式记录到缓存中,该文件可以命名为“卡顿信息文件”。
步骤202,音乐应用在发起卡顿确定的流程时,提取缓存中的“卡顿信息文件”,得到表层着色模块开始绘制用户界面的各个时间点。
步骤203,音乐应用按照1秒的时间间隔将各个时间点进行分组,统计各个分组中时间点的个数,并将各个分组中时间点的个数减1的值作为各个分组对应的流畅度值,得到多个流畅度值。
步骤204,音乐应用对多个流畅度值进行预处理。具体地,可以将M秒(比如5秒)内包括的时间点对应的流畅度值划分为一个流畅度分组(即卡顿参数分组),得到多个流畅度分组。
然后从每一个流畅度分组中选取一个最低的流畅度值(即上述的第一卡顿参数值),将该最低的流畅度值与对应权重值相乘得到预处理后的流畅度值。
其中,如果某一流畅度分组中至少一个流畅度值大于预置值(比如40),则从该流畅度分组中选取的最低的流畅度值对应权重值具体为:1-该流畅度分组中大于预置值的流畅度值的个数*0.1。
步骤205,对于预处理后的流畅度值,音乐应用根据预处理后的流畅度值划分各个时间点,得到多个卡顿分段,每个卡顿分段可以包括至少一个时间分段,即将同一范围内的流畅度值对应的时间点,划分为同一卡顿分段的时间点。例如,可以得到如下表1所示的卡顿分段:
SM值 各卡顿分段中的时间分段
20 t0到t1
20-30 t1到t3,t5到t6
30-40 t3到t5
40 t6以后
表1
步骤206,音乐应用根据多个卡顿分段对应的流畅度值,分别确定多个卡顿分段对应的卡顿分值。例如,可以得到如下表2的卡顿分值:
表2
步骤207,音乐应用根据多个卡顿分段对应的卡顿分值确定终端设备显示用户界面的卡顿程度信息,具体地,可以将各个卡顿分段对应的卡顿分值的加权值相加后得到的相加值作为卡顿总分,通过卡顿总分来表示卡顿程度信息。
其中,在计算卡顿总分时,可以将大于预置分值的卡顿分值的权重值降低,并提高小于或等于预置分值的卡顿分值的权重值增加,提高了用于表示卡顿的数据的影响。
本发明实施例还提供一种终端设备,其结构示意图如图5所示,具体可以包括:
时间获取单元10,用于获取终端设备开始绘制用户界面的各个时间点,具体地,时间获取单元10可以获取所述终端设备调用绘制触发接口的时间点,将所述调用绘制触发接口的时间点作为所述终端设备开始绘制用户界面的时间点。
参数计算单元11,用于根据所述时间获取单元10获取的各个时间点计算卡顿参数值。
参数计算单元11,具体用于按照1秒的时间间隔将所述各个时间点进行分组,统计各个分组中时间点的个数,将所述各个分组中时间点的个数减1的值作为所述各个分组对应的流畅度值。
或者,参数计算单元11,具体用于计算任意两个相邻的时间点之间的时间差值,与所述终端设备显示所述用户界面时的刷新频率的比值,将所述比值作为所述任意两个相邻的时间点之间的掉帧数。
分段单元12,用于根据所述参数计算单元11计算的卡顿参数值划分所述各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段。
卡顿确定单元13,用于根据所述分段单元12得到的多个卡顿分段分别对应的卡顿参数值,确定所述终端设备显示用户界面的卡顿程度信息。
该卡顿确定单元13,具体用于根据所述多个卡顿分段分别对应的卡顿参数值,分别确定所述多个卡顿时间分段对应的卡顿分值;根据所述多个卡顿分段对应的卡顿分值确定所述终端设备显示用户界面的卡顿程度信息。
其中,在确定卡顿程度信息时,卡顿确定单元13可以计算所述多个卡顿分段的卡顿分值的加权值的相加值,将所述相加值作为卡顿总分;通过所述卡顿总分表示所述卡顿程度信息。
进一步地,上述分段单元12具体可以包括:预处理单元120和划分单元121,其中:
预处理单元120,用于对所述卡顿参数值进行预处理;划分单元121,用于将相同的所述预处理单元120得到的预处理后的卡顿参数值对应的时间点,划分为同一卡顿分段的时间点。
其中,预处理单元120,具体用于将所述卡顿参数值进行分组,得到多个卡顿参数分组;从各个卡顿参数分组中分别选取第一卡顿参数值,将所述第一卡顿参数值与对应权重值的乘积,作为预处理后的第一卡顿参数值。
所述预处理单元120在选取第一卡顿参数值时,具体用于如果所述卡顿参数值为流畅度值,则所述第一卡顿参数值为所述卡顿参数分组的卡顿参数值中最小的至少一个卡顿参数值;如果所述卡顿参数值为掉帧数,则所述第一卡顿参数值为所述卡顿参数分组的卡顿参数值中最高的至少一个卡顿参数值;
其中,如果某一卡顿参数分组中的至少一个卡顿参数值超出预置范围,则所述某一卡顿参数分组对应的第一卡顿参数值对应的权重值为:1与第一乘积的相减值,所述第一乘积为所述某一卡顿参数分组中超出预置范围的至少一个卡顿参数值的个数,与0.1的乘积。
可见,在本发明实施例的终端设备在确定卡顿程度信息时,需要参数计算单元11根据终端设备开始绘制用户界面的各个时间点计算卡顿参数值,并由分段单元12根据卡顿参数值划分这些时间点,得到多个卡顿分段,从而卡顿确定单元13根据卡顿分段对应的卡顿参数值,最终得到终端设备在一段时间内显示用户界面的卡顿程度信息。这样,按照计算得到的卡顿参数值,将开始绘制用户界面的各个时间点划分为多个卡顿分段,从而可对各个卡顿分段进行各自的处理,并分段地反映出显示模块显示用户界面时的卡顿情况,使得在较长一段时间中只有一小段时间内发生卡顿的情况下,卡顿的数据不会被流畅的数据淹没。
本发明实施例还提供另一种终端设备,其结构示意图如图6所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括用户界面的卡顿确定的应用程序,且该程序可以包括上述终端设备中的时间获取单元10,参数计算单元11,分段单元12中的划分单元121和预处理单元120,及卡顿确定单元13,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的用户界面的卡顿确定的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由上诉终端设备所执行的步骤可以基于该图6所示的终端设备的结构。
本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述终端设备中应用模块所执行的用户界面的卡顿确定方法。
本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行上述终端设备中应用模块所执行的用户界面的卡顿确定方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的用户界面的卡顿确定方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种用户界面的卡顿确定方法,其特征在于,包括:
获取终端设备开始绘制用户界面的各个时间点;
根据所述各个时间点计算卡顿参数值;
根据所述卡顿参数值划分所述各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段;
根据所述多个卡顿分段分别对应的卡顿参数值,确定所述终端设备显示用户界面的卡顿程度信息。
2.如权利要求1所述的方法,其特征在于,所述获取终端设备开始绘制用户界面的各个时间点,具体包括:
获取所述终端设备调用绘制触发接口的时间点,将所述调用绘制触发接口的时间点作为所述终端设备开始绘制用户界面的时间点。
3.如权利要求1所述的方法,其特征在于,所述卡顿参数值为流畅度值,则所述根据所述各个时间点计算卡顿参数值,具体包括:
按照1秒的时间间隔将所述各个时间点进行分组,统计各个分组中时间点的个数,将所述各个分组中时间点的个数减1的值作为所述各个分组对应的流畅度值。
4.如权利要求1所述的方法,其特征在于,所述卡顿参数值为掉帧数,则所述根据所述各个时间点计算卡顿参数值,具体包括:
计算任意两个相邻的时间点之间的时间差值,与所述终端设备显示所述用户界面时的刷新频率的比值,将所述比值作为所述任意两个相邻的时间点之间的掉帧数。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述卡顿参数值划分所述各个时间点,得到多个卡顿分段,具体包括:
对所述卡顿参数值进行预处理;
将相同的所述预处理后的卡顿参数值对应的时间点,划分为同一卡顿分段的时间点。
6.如权利要求5所述的方法,其特征在于,所述对所述卡顿参数值进行预处理,具体包括:
将所述卡顿参数值进行分组,得到多个卡顿参数分组;
从各个卡顿参数分组中分别选取第一卡顿参数值,将所述第一卡顿参数值与对应权重值的乘积,作为预处理后的第一卡顿参数值。
7.如权利要求6所述的方法,其特征在于,
如果所述卡顿参数值为流畅度值,则所述第一卡顿参数值为所述卡顿参数分组的卡顿参数值中最小的至少一个卡顿参数值;
如果所述卡顿参数值为掉帧数,则所述第一卡顿参数值为所述卡顿参数分组的卡顿参数值中最高的至少一个卡顿参数值。
8.如权利要求6所述的方法,其特征在于,如果某一卡顿参数分组中的至少一个卡顿参数值超出预置范围,则所述某一卡顿参数分组对应的第一卡顿参数值对应的权重值为:
1与第一乘积的相减值,所述第一乘积为所述某一卡顿参数分组中超出预置范围的至少一个卡顿参数值的个数,与0.1的乘积。
9.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述多个卡顿分段分别对应的卡顿参数值,确定所述终端设备显示用户界面的卡顿程度信息,具体包括:
根据所述多个卡顿分段分别对应的卡顿参数值,分别确定所述多个卡顿时间分段对应的卡顿分值;
根据所述多个卡顿分段对应的卡顿分值确定所述终端设备显示用户界面的卡顿程度信息。
10.如权利要求9所述的方法,其特征在于,所述根据所述多个卡顿分段对应的卡顿分值确定所述终端设备显示用户界面的卡顿程度信息,具体包括:
计算所述多个卡顿分段的卡顿分值的加权值的相加值,将所述相加值作为卡顿总分;通过所述卡顿总分表示所述卡顿程度信息。
11.一种终端设备,其特征在于,包括:
时间获取单元,用于获取终端设备开始绘制用户界面的各个时间点;
参数计算单元,用于根据所述各个时间点计算卡顿参数值;
分段单元,用于根据所述卡顿参数值划分所述各个时间点,得到多个卡顿分段,其中,任一卡顿分段包括至少一个时间分段;
卡顿确定单元,用于根据所述多个卡顿分段分别对应的卡顿参数值,确定所述终端设备显示用户界面的卡顿程度信息。
12.如权利要求11所述的终端设备,其特征在于,所述分段单元包括:
预处理单元,用于对所述卡顿参数值进行预处理;
划分单元,用于将相同的所述预处理后的卡顿参数值对应的时间点,划分为同一卡顿分段的时间点。
13.如权利要求12所述的终端设备,其特征在于,
所述预处理单元,具体用于将所述卡顿参数值进行分组,得到多个卡顿参数分组;从各个卡顿参数分组中分别选取第一卡顿参数值,将所述第一卡顿参数值与对应权重值的乘积,作为预处理后的第一卡顿参数值。
14.如权利要求12所述的终端设备,其特征在于,
所述预处理单元,具体用于如果所述卡顿参数值为流畅度值,则所述第一卡顿参数值为所述卡顿参数分组的卡顿参数值中最小的至少一个卡顿参数值;如果所述卡顿参数值为掉帧数,则所述第一卡顿参数值为所述卡顿参数分组的卡顿参数值中最高的至少一个卡顿参数值;
其中,如果某一卡顿参数分组中的至少一个卡顿参数值超出预置范围,则所述某一卡顿参数分组对应的第一卡顿参数值对应的权重值为:1与第一乘积的相减值,所述第一乘积为所述某一卡顿参数分组中超出预置范围的至少一个卡顿参数值的个数,与0.1的乘积。
15.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至10任一项所述的用户界面的卡顿确定方法。
16.一种终端设备,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至10任一项所述的用户界面的卡顿确定方法。
CN201810409472.0A 2018-05-02 2018-05-02 一种用户界面的卡顿确定方法、装置及存储介质 Active CN108664377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810409472.0A CN108664377B (zh) 2018-05-02 2018-05-02 一种用户界面的卡顿确定方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810409472.0A CN108664377B (zh) 2018-05-02 2018-05-02 一种用户界面的卡顿确定方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN108664377A true CN108664377A (zh) 2018-10-16
CN108664377B CN108664377B (zh) 2022-02-01

Family

ID=63781735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810409472.0A Active CN108664377B (zh) 2018-05-02 2018-05-02 一种用户界面的卡顿确定方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108664377B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806909A (zh) * 2019-11-01 2020-02-18 北京金山安全软件有限公司 一种应用程序页面掉帧信息确定方法、装置及电子设备
CN111427779A (zh) * 2020-03-18 2020-07-17 深圳市乐宜科技有限公司 应用程序的卡顿信息采集方法和装置
CN114727144A (zh) * 2021-01-05 2022-07-08 广州汽车集团股份有限公司 一种显示器显示卡滞的监测系统及方法
CN114845164A (zh) * 2021-02-02 2022-08-02 中国移动通信有限公司研究院 一种数据处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547504A (zh) * 2015-09-21 2017-03-29 腾讯科技(深圳)有限公司 流畅度评估方法及装置
CN106802935A (zh) * 2016-12-29 2017-06-06 腾讯科技(深圳)有限公司 一种页面流畅度的测试方法和装置
CN107066383A (zh) * 2017-03-15 2017-08-18 武汉斗鱼网络科技有限公司 一种应用程序流畅度检测方法及装置
CN107193515A (zh) * 2017-04-10 2017-09-22 腾讯科技(深圳)有限公司 动画显示流畅度的监控方法、装置及其设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547504A (zh) * 2015-09-21 2017-03-29 腾讯科技(深圳)有限公司 流畅度评估方法及装置
CN106802935A (zh) * 2016-12-29 2017-06-06 腾讯科技(深圳)有限公司 一种页面流畅度的测试方法和装置
CN107066383A (zh) * 2017-03-15 2017-08-18 武汉斗鱼网络科技有限公司 一种应用程序流畅度检测方法及装置
CN107193515A (zh) * 2017-04-10 2017-09-22 腾讯科技(深圳)有限公司 动画显示流畅度的监控方法、装置及其设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806909A (zh) * 2019-11-01 2020-02-18 北京金山安全软件有限公司 一种应用程序页面掉帧信息确定方法、装置及电子设备
CN111427779A (zh) * 2020-03-18 2020-07-17 深圳市乐宜科技有限公司 应用程序的卡顿信息采集方法和装置
CN114727144A (zh) * 2021-01-05 2022-07-08 广州汽车集团股份有限公司 一种显示器显示卡滞的监测系统及方法
CN114845164A (zh) * 2021-02-02 2022-08-02 中国移动通信有限公司研究院 一种数据处理方法、装置及设备

Also Published As

Publication number Publication date
CN108664377B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
CN108664377A (zh) 一种用户界面的卡顿确定方法、装置及存储介质
CN104965773B (zh) 终端、卡顿检测方法、装置及游戏卡顿检测方法、装置
CN107295387B (zh) 弹幕显示方法及装置
CN106547504B (zh) 流畅度评估方法及装置
EP3852014A1 (en) Method and apparatus for training learning model, and computing device
US20200160525A1 (en) Image processing method, apparatus and device, and image display method
CN109272044A (zh) 一种图像相似度确定方法、装置、设备及存储介质
CN107066383A (zh) 一种应用程序流畅度检测方法及装置
CN107038736B (zh) 一种基于帧率的动画展示方法及终端设备
CN110860086A (zh) 数据处理方法、可读存储介质和电子设备
CN109165154A (zh) 一种显示界面流畅度统计方法及系统、移动终端及服务器
CN109144858A (zh) 流畅度检测方法、装置、计算设备及存储介质
CN109600654A (zh) 弹幕处理方法、装置以及电子设备
CN116680060B (zh) 面向异构计算系统的任务分配方法、装置、设备和介质
CN109756622A (zh) 一种图像缓存方法、装置、移动终端及存储介质
CN107203303A (zh) 一种界面显示方法及装置
CN108932627A (zh) Cpa广告的消耗速度的预估方法、装置及可读存储介质
CN113554726A (zh) 基于脉冲阵列的图像重构方法、装置、存储介质及终端
CN109698960A (zh) 直播消息的展示方法、装置及系统
CN109218766B (zh) 一种召集粉丝的方法、直播平台服务器及主播端
CN110322525B (zh) 一种动图处理方法及终端
CN107645674A (zh) 一种视频播放方法和系统
CN110163935A (zh) 动画渲染方法、装置、设备及可读存储介质
CN109756730A (zh) 基于视频的评测处理方法、装置、智能设备及存储介质
CN106959922B (zh) 一种应用流畅度评价方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant