CN111338934A - 页面刷新测试的方法、装置、计算机设备和存储介质 - Google Patents

页面刷新测试的方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111338934A
CN111338934A CN202010091785.3A CN202010091785A CN111338934A CN 111338934 A CN111338934 A CN 111338934A CN 202010091785 A CN202010091785 A CN 202010091785A CN 111338934 A CN111338934 A CN 111338934A
Authority
CN
China
Prior art keywords
page
frame
time
duration
determining
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.)
Pending
Application number
CN202010091785.3A
Other languages
English (en)
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010091785.3A priority Critical patent/CN111338934A/zh
Publication of CN111338934A publication Critical patent/CN111338934A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种页面刷新测试的方法、装置、计算机设备和存储介质,所述方法包括:响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度,提高了确定的页面流畅度的准确度。

Description

页面刷新测试的方法、装置、计算机设备和存储介质
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种页面刷新测试的方法、装置、计算机设备和存储介质。
背景技术
伴随着移动互联网技术的高速发展,移动用户界面框架(Flutter)技术作为当下最火热的移动端跨平台框架,能大幅度提升研发效率。
在评价Flutter技术的性能时,可以通过终端设备中呈现的页面的页面流畅度进行评价,在确定页面流畅度时,可以获取一段时间段内绘制每一帧页面的线程的耗时时长,计算绘制该时间段内的全部页面的平均耗时时长,利用平均耗时时长,确定页面流畅度,但是,这种方式得到的页面流畅度的准确度比较低。
发明内容
本公开实施例至少提供一种页面刷新测试的方法、装置、计算机设备和存储介质,以提高确的页面流畅度的准确度。
第一方面,本申请实施例提供了一种页面刷新测试的方法,所述方法包括:
响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;
根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在一种实施方式中,根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度,包括:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在一种实施方式中,针对每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量,包括:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
在一种实施方式中,所述页面刷新操作包括以下操作中的任一种:
页面滑动操作;页面切换操作。
在一种实施方式中,每一帧页面对应的所述耗时时长还包括图形处理器GPU线程处理时长;GPU线程用于对UI线程的绘制结果进行处理。
第二方面,本申请实施例提供了一种页面刷新测试的装置,所述装置包括:
处理模块,用于响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;
确定模块,用于根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在一种实施方式中,所述确定模块用于根据以下步骤确定在响应所述页面刷新操作时的页面流畅度:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在一种实施方式中,所述确定模块用于根据以下步骤确定绘制该帧页面需要占用的时间格的数量:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
在一种实施方式中,所述页面刷新操作包括以下操作中的任一种:
页面滑动操作;页面切换操作。
在一种实施方式中,每一帧页面对应的所述耗时时长还包括图形处理器GPU线程处理时长;GPU线程用于对UI线程的绘制结果进行处理。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一方面,或任一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一方面,或任一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的页面刷新测试的方法中,响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长,这里,每一帧页面对应的耗时时长除了UI线程绘制时长,还加入了UI线程调度时长,使得得到的耗时时长更符合实际情况,从而根据每一帧页面的耗时时长确定出的页面流畅度更准确,进而可以更好地评价页面的刷新性能。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种页面刷新测试的方法的流程示意图;
图2示出了本公开实施例所提供的一种页面滑动操作的示意图;
图3示出了本公开实施例所提供的一种页面切换操作的示意图;
图4示出了本公开实施例所提供的一种页面绘制流程的示意图;
图5示出了本公开实施例所提供的一种确定耗时时长占用的时间格的示意图;
图6示出了本公开实施例所提供的一种页面刷新测试的装置的结构示意图;
图7示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
伴随着移动互联网的高速发展,Flutter作为当下最火热的移动端跨平台框架,能幅度提升研发端的研发效率,且相比其他跨平台技术有着突出的高性能优势,能保障高研发效率的同时兼顾高性能,那么,评估跨平台技术的性能优劣则显得尤为重要。
在获取通过跨平台技术实现页面刷新的页面流畅度时,通过获取一段时间内的每一帧用户界面的用户界面(User Interface,UI)线程的耗时时长,即,通过应用层的handleBeginFrame和handleDrawFrame之间的时间间隔计算刷新每一帧用户界面的耗时时长,在某一帧页面的绘制时长超过16.6ms*N时,则认为是丢N帧,页面流畅度为(60*绘制次数)/(绘制次数+丢帧总次数)。但是,上述方法只考虑UI线程的执行耗时,没有考虑图形处理器(Graphics Processing Unit,GPU)线程的耗时时长,相比简单求平均值方法,计算的页面流畅度的准确度有一定的提升,但是通过ui.window回调方法来计算的UI线程的耗时时长并不准确。
基于上述研究,本公开实施例提供了一种页面刷新测试的方法,响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长,这里,每一帧页面对应的耗时时长除了UI线程绘制时长,还加入了UI线程调度时长,使得得到的耗时时长更符合实际情况,从而根据每一帧页面的耗时时长确定出的页面流畅度更准确,进而可以更好地评价页面的刷新性能。
需要说明的是,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种页面刷新测试的方法进行详细介绍,本公开实施例所提供的页面刷新测试的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该页面刷新测试的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为终端设备为例对本公开实施例提供的页面刷新测试的方法加以说明。
参见图1所示,为本公开实施例一提供的页面刷新测试的方法的流程图,具体包括以下步骤:
S101,响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长。
这里,页面刷新操作至少包括页面滑动操作和页面切换操作。
页面滑动操作可以为用户在一个页面执行的上下滑动操作,该页面滑动操作可以为用户通过手指在终端设备执行的滑动操作,可以参考图2,该页面滑动操作的开始可以为用户的手指触摸到移动终端的屏幕,该页面滑动操作的结束可以为手指离开移动终端的屏幕,比如,用户手指触摸页面A,并使页面A缓缓向上移动,在用户手指离开移动终端的屏幕时,页面停止移动;考虑到用户在使用应用过程中,可能会进行上下拖动,也就是说,在用户手指离开屏幕时,页面依然在移动,那么此时,该页面滑动操作的结束点可以为页面停止移动的时刻,比如,用户手指触摸页面A,并在页面中执行了向上拖动操作,在用户手指离开移动终端的屏幕时,页面依然在移动,那么,此时页面滑动操作的结束点为页面停止移动的时刻。
页面切换操作可以为用户在一个页面执行的切换操作,以从一个页面切换到另一个页面,该切换操作可以为用户通过点击第一个页面中的返回按钮实现从第一个页面切换到第二个页面,也可以为用户在第一个页面中执行的左右滑动操作从而实现从第一个页面切换到第二个页面,左右滑动操作的图示可以参考图3。
此处需要注意,在执行页面切换操作时,页面一般为同一个应用中的不同的页面,比如,在新闻应用中,通过执行页面切换操作从应用首页切换到新闻推荐页面。
在执行页面刷新操作后,终端设备向服务器发送内容获取请求,从而获取页面刷新操作对应的多帧页面内容,多帧页面内容可以是执行页面刷新操作开始时,终端设备向服务器发送的内容获取请求,也可以为页面刷新结束前,终端设备向服务器请求的发送的内容获取请求;为了减少用户在进行页面刷新时终端设备与服务器之间的交互频次,在用户进入应用中的页面时,终端设备向服务器请求该页面对应的所有页面内容,并在终端设备的存储空间中存储上述页面内容,在用户执行页面刷新操作时,终端设备从存储空间中获取页面刷新操作对应的多帧页面内容,可以根据实际情况确定。
比如,用户在应用A中的页面B中执行了页面滑动操作,使得页面B从位置点B1滑动到了位置点B2,在用户执行页面滑动操作时,终端设备从服务器获取位置点B1到位置点B2的页面内容,或者,终端设备从自身的存储空间中获取位置点B1到位置点B2的页面内容。
针对每一帧页面的耗时时长可以包括终端设备调度UI线程的调度时长以及UI线程绘制页面的绘制时长,考虑到在绘制页面时,GPU线程也在参与页面的绘制,GPU线程用于对UI线程的绘制结果进行处理,比如,GPU线程对UI线程的绘制结果进行栅格化处理,并显示在终端设备的屏幕上,因此,针对每一帧页面的耗时时长还可以包括GPU线程处理时长,在进行页面刷新时,绘制页面的三个阶段可以参考图4,其中,图4中的engine time为UI线程调度时长和UI线程绘制时长,frame time为GPU线程处理时长。
由于一次页面刷新操作可能需要绘制多帧页面,而每帧页面的绘制需要一个UI线程完成,当终端设备接收到底层硬件触发的屏幕刷新频率(vsync)信号后,需要调度一个UI线程完成当前帧页面的绘制,那么,从接收到vsync信号到UI线程开始绘制页面的时长则为UI线程的调度时长。
vsync信号为底层硬件自动触发的,由于不同设备的画面每秒传输帧数(刷新率)不同,那么,在保持画面分辨率的前提下进行页面刷新的最大耗时时长为1000/刷新率,在刷新页面且不发生卡顿时,即,页面的绘制时长未超过最大耗时时长,vsync信号则是每隔1000/刷新率毫秒触发一次,比如,刷新率为60Hz,也就是指屏幕一秒内只扫描60帧,即60帧/秒,最大耗时时长为1000/60=16.7ms,vsync信号每隔16.7ms触发一次。
而在实际应用中,由于各种原因页面会发生卡段,如,发生丢帧现象,或者页面的绘制时长超过上述最大耗时时长,当页面发生卡顿时,vsync信号则是在丢帧之后、且为最大耗时时长的整数倍的时间点触发,或者,在绘制完超过N(N为正整数)个最大耗时时长的页面后、且为最大耗时时长的整数倍时间点触发,比如,最大耗时时长为16.7ms,第一帧页面的绘制时长为20ms,那么,vsync信号则是在16.7*2=33.4ms触发;又如,最大耗时时长为16.7ms,第一帧的绘制时长各位15ms,第二帧页面丢帧,那么,绘制第三帧页面的vsync信号则是在33.4ms触发。
UI线程绘制时长则为UI线程接收到绘制任务开始到UI线程完成绘制任务结束的时长,GPU线程处理时长的开始时间点为UI线程完成绘制任务的结束时间点,GPU线程处理时长的结束时间点为GPU线程完成对绘制任务的处理的时间点,GPU线程处理时长中包括GPU线程的调度时长。
在具体实施过程中,用户在终端设备的屏幕执行页面刷新操作后,终端设备获取多帧页面内容,基于每帧页面内容绘制对应的页面,也就是,基于每帧页面内容渲染生成每一帧页面,在绘制每一帧页面时,终端设备获取每一帧页面的耗时时长,此耗时时长可以为UI线程调度时长和UI线程绘制时长的时长之和,也可以为GPU线程处理时长,还可以为UI线程调度时长、UI线程绘制时长、GPU线程处理时长的和,可以根据实际情况确定。
S102,根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
这里,多帧页面内容对应的页面总数目为响应页面刷新操作需要绘制的页面的总数目,比如,响应页面滑动操作需要绘制10帧页面,则页面总数目为10。
在根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度时,可以包括以下步骤:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在针对每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量时,可以包括以下步骤:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
这里,在保持画面分辨率的前提下进行页面刷新的最大耗时时长表征在页面刷新过程中不发生卡顿时,绘制每帧页面的最大耗时时长,最大耗时时长可以根据设备的刷新率确定,也就是,最大耗时时长为1000/刷新率,单位为毫秒;在绘制页面时,为了便于统计丢帧数,这里将每个最大耗时时长确定为一个时间格,也就是,一个时间格的时长等于最大耗时时长;向上取整用于对小数点后不为零的数进行向上取整,比如,0.7进行向上取整后的结果为1。
在具体实施过程中,在确定绘制的每帧页面的耗时时长后,计算该帧页面的耗时时长和保持画面分辨率的前提下进行页面刷新的最大耗时时长的比值,若确定的比值为整数,那么,该整数则为绘制该帧页面需要占用的时间格的数量。
若确定的比值不是整数,则需要对该比值进行向上取整处理,并将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量,比如,比值为2.35,进行向上取整处理后的数值为3,那么,绘制该帧页面需要占用的时间格的数目为3。
在得到绘制每帧页面需要占用的时间格的数量后,计算响应页面刷新操作绘制的全部帧页面需要占用的时间格的总数量,也就是,计算绘制各帧页面需要占用的时间格的数量的和值,计算多帧页面内容对应的页面总数目和上述总数量的比值,计算该比值与刷新率的乘积,将该乘积作为相应页面刷新操作时的页面流畅度。
例如,参考图5,终端设备的刷新率为60,响应页面刷新操作时绘制的页面总数目为6,绘制第二帧页面时需要占用的时间格的数量为2,绘制第5帧页面时需要占用的时间格的数量为3,绘制其它帧页面需要占用的时间格的数量均为1,那么,绘制6帧页面需要占用的时间格的总数目为9,页面流畅度60*6/9=40。
通过无侵入方式的跨平台技术进行页面滑动或页面转场时,通过在Flutter框架层,也就是,通过gestures和animation库来识别用户的滑动操作、转场动画等用户场景,比如,通过ScrollStartNotification和ScrollEndNotification的分发接口来识别用户滑动场景,通过Route的分发接口来识别转场,通过AnimationController的动画控制接口来监控页面变化,再把这些场景中绘制页面的耗时时长报到监控中心,由监控中心来统一调度并启动监控机制,而不是依靠业务使用方每次都手动触发监控的开始和结束,在减少业务接入成本的同时还能提升有效监控率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与页面刷新测试的方法对应的页面刷新测试的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述页面刷新测试的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参考图6,本申请实施例提供了一种页面刷新测试的装置的示意图,所述装置包括:
处理模块61,用于响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;
确定模块62,用于根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在一种实施方式中,所述确定模块62用于根据以下步骤确定在响应所述页面刷新操作时的页面流畅度:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
在一种实施方式中,所述确定模块62用于根据以下步骤确定绘制该帧页面需要占用的时间格的数量:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
在一种实施方式中,所述页面刷新操作包括以下操作中的任一种:
页面滑动操作;页面切换操作。
在一种实施方式中,每一帧页面对应的所述耗时时长还包括图形处理器GPU线程处理时长;GPU线程用于对UI线程的绘制结果进行处理。
对应于图1中的页面刷新测试的方法,本公开实施例还提供了一种计算机设备70,如图7所示,为本公开实施例提供的计算机设备70结构示意图,包括:
处理器71、存储器72、和总线73;存储器72用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当所述计算机设备70运行时,所述处理器71与所述存储器72之间通过总线73通信,使得所述处理器71在用户态执行以下指令:
响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;
根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
一种可能的实施方式中,处理器71执行的指令中,根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度,包括:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
一种可能的实施方式中,处理器71执行的指令中,针对每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量,包括:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
一种可能的实施方式中,处理器71执行的指令中,所述页面刷新操作包括以下操作中的任一种:
页面滑动操作;页面切换操作。
一种可能的实施方式中,处理器71执行的指令中,每一帧页面对应的所述耗时时长还包括图形处理器GPU线程处理时长;GPU线程用于对UI线程的绘制结果进行处理。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的页面刷新测试的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的评论信息获取方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的页面刷新测试的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种页面刷新测试的方法,其特征在于,所述方法包括:
响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;
根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
2.如权利要求1所述的方法,其特征在于,根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度,包括:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
3.如权利要求2所述的方法,其特征在于,针对每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量,包括:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
4.如权利要求1所述的方法,其特征在于,所述页面刷新操作包括以下操作中的任一种:
页面滑动操作;页面切换操作。
5.如权利要求1所述的方法,其特征在于,每一帧页面对应的所述耗时时长还包括图形处理器GPU线程处理时长;GPU线程用于对UI线程的绘制结果进行处理。
6.一种页面刷新测试的装置,其特征在于,所述装置包括:
处理模块,用于响应页面刷新操作,基于获取的多帧页面内容绘制每一帧页面,并确定绘制每一帧页面的耗时时长;其中,每一帧页面对应的所述耗时时长包括用户界面UI线程调度时长和UI线程绘制时长;
确定模块,用于根据所述每一帧页面的耗时时长,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
7.如权利要求6所述的装置,其特征在于,所述确定模块用于根据以下步骤确定在响应所述页面刷新操作时的页面流畅度:
针对所述每一帧页面,根据该帧页面对应的所述耗时时长,以及在保持画面分辨率的前提下进行页面刷新的最大耗时时长,确定绘制该帧页面需要占用的时间格的数量;每个时间格的时长等于所述最大耗时时长;
基于确定的绘制各帧页面需要占用的时间格的数量,以及所述多帧页面内容对应的页面总数目,确定在响应所述页面刷新操作时的页面流畅度。
8.如权利要求7所述的装置,其特征在于,所述确定模块用于根据以下步骤确定绘制该帧页面需要占用的时间格的数量:
针对每一帧页面,确定该帧页面对应的所述耗时时长与所述最大耗时时长的比值;
对确定的所述比值进行向上取整处理,将向上取整处理后的数值作为绘制该帧页面需要占用的时间格的数量。
9.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1~5任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1~5任一所述方法的步骤。
CN202010091785.3A 2020-02-13 2020-02-13 页面刷新测试的方法、装置、计算机设备和存储介质 Pending CN111338934A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010091785.3A CN111338934A (zh) 2020-02-13 2020-02-13 页面刷新测试的方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010091785.3A CN111338934A (zh) 2020-02-13 2020-02-13 页面刷新测试的方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN111338934A true CN111338934A (zh) 2020-06-26

Family

ID=71185243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010091785.3A Pending CN111338934A (zh) 2020-02-13 2020-02-13 页面刷新测试的方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111338934A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112203150A (zh) * 2020-09-30 2021-01-08 腾讯科技(深圳)有限公司 一种耗时获取方法、装置、设备及计算机可读存储介质
CN113688019A (zh) * 2021-08-10 2021-11-23 荣耀终端有限公司 响应时长检测方法及装置
CN114461323A (zh) * 2022-01-26 2022-05-10 海信电子科技(深圳)有限公司 一种卡顿处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512695A (zh) * 2018-03-12 2018-09-07 腾讯音乐娱乐科技(深圳)有限公司 监控应用卡顿的方法及装置
CN109522208A (zh) * 2018-09-29 2019-03-26 中国平安人寿保险股份有限公司 页面流畅度测试方法及装置、计算机装置及存储介质
CN110764986A (zh) * 2019-10-12 2020-02-07 北京奇艺世纪科技有限公司 页面流畅度检测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512695A (zh) * 2018-03-12 2018-09-07 腾讯音乐娱乐科技(深圳)有限公司 监控应用卡顿的方法及装置
CN109522208A (zh) * 2018-09-29 2019-03-26 中国平安人寿保险股份有限公司 页面流畅度测试方法及装置、计算机装置及存储介质
CN110764986A (zh) * 2019-10-12 2020-02-07 北京奇艺世纪科技有限公司 页面流畅度检测方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112203150A (zh) * 2020-09-30 2021-01-08 腾讯科技(深圳)有限公司 一种耗时获取方法、装置、设备及计算机可读存储介质
CN112203150B (zh) * 2020-09-30 2022-03-11 腾讯科技(深圳)有限公司 一种耗时获取方法、装置、设备及计算机可读存储介质
CN113688019A (zh) * 2021-08-10 2021-11-23 荣耀终端有限公司 响应时长检测方法及装置
CN113688019B (zh) * 2021-08-10 2022-08-09 荣耀终端有限公司 响应时长检测方法及装置
CN114461323A (zh) * 2022-01-26 2022-05-10 海信电子科技(深圳)有限公司 一种卡顿处理方法、装置、电子设备及存储介质
CN114461323B (zh) * 2022-01-26 2023-04-28 海信电子科技(深圳)有限公司 一种卡顿处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111338934A (zh) 页面刷新测试的方法、装置、计算机设备和存储介质
CN106791212B (zh) 一种移动终端刷新率的控制方法、装置及移动终端
CN106936995B (zh) 一种移动终端帧率的控制方法、装置及移动终端
CN110704768B (zh) 基于图形处理器的网页渲染方法以及装置
US11372528B2 (en) User interface display method, device, and apparatus
CN103702216A (zh) 一种智能终端及其显示视频图片的方法
CN109064538A (zh) 视图渲染方法、装置、存储介质及智能终端
CN109361947A (zh) 网络资源批量加载方法、智能电视、存储介质及装置
CN111443914B (zh) 动画展示方法以及装置
CN111770351B (zh) 直播消息展示方法及装置
CN110012165A (zh) 一种呈现会话列表页面的方法与设备
CN111124668A (zh) 内存释放方法、装置、存储介质及终端
CN109388737B (zh) 一种内容项的曝光数据的发送方法、装置及存储介质
CN115658209A (zh) 通知消息显示方法、装置和电子设备
CN108021416B (zh) 一种媒体资源加载的方法及终端
CN111597009B (zh) 应用程序显示的方法、装置及终端设备
CN113592872A (zh) 一种图片展示的方法、装置以及计算机存储介质
JP2019125209A (ja) 情報提供装置、情報提供方法、情報提供プログラムおよび利用者端末制御プログラム
CN104699498A (zh) 基于Android平台的通过列表控件异步加载图片的优化方法
CN103179284A (zh) 终端和终端节能方法
JP2014085793A (ja) 表示装置及び表示制御方法
CN109885227A (zh) 内容显示方法、显示终端及计算机存储介质
CN113134234A (zh) 信息显示方法、装置、终端及存储介质
CN113805701A (zh) 确定虚拟形象显示范围的方法、电子设备及存储介质
CN105320421B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200626