CN112711519B - 画面流畅度检测方法、装置、存储介质和计算机设备 - Google Patents
画面流畅度检测方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN112711519B CN112711519B CN201911024492.7A CN201911024492A CN112711519B CN 112711519 B CN112711519 B CN 112711519B CN 201911024492 A CN201911024492 A CN 201911024492A CN 112711519 B CN112711519 B CN 112711519B
- Authority
- CN
- China
- Prior art keywords
- detection
- instruction
- picture
- pause
- application program
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
- G06F11/3419—Recording 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 for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种画面流畅度检测方法、装置、计算机可读存储介质和计算机设备,该方法包括:接收画面检测指令,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序;接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,根据渲染时间确定卡顿画面帧,并得到卡顿画面帧的渲染时间;接收检测完成指令,根据检测完成指令获取各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并确定检测时长;当监控线程监测到检测完成时,监控线程获取卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。本申请提高了检测画面流畅度的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种画面流畅度检测方法、装置、计算机可读存储介质和计算机设备。
背景技术
卡顿现象是出现在手机、笔记本等电子设备中的一种现象,出现状况为:进行各种电子设备操作过程中、例如玩游戏的时候卡,或者听歌的时候画面滞帧,也就是通常人们所说的“卡”。
目前在检测游戏软件、歌曲软件等的运行流畅度时,通常是检测画面的FPS(每秒传输帧数、Frames Per Second)来反映画面的运行流畅度。然而通过检测画面的FPS值来反映画面的运行流畅度,无法准确的反映出画面的卡顿情况,使检测运行画面得到的流畅度准确性较低。
发明内容
基于此,有必要针对检测得到的运行流畅度准确性较低的技术问题,提供一种画面检测方法、装置、计算机可读存储介质和计算机设备。
一种画面流畅度检测方法,包括:
接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的;
接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;
接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长;
当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
一种画面流畅度检测装置,包括:
程序运行模块,用于接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的;
检测模块,用于接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;
时长确定模块,用于接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长;
卡顿率确定模块,用于当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行程序时实现以下步骤:
接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的;
接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;
接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长;
当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的;
接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;
接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长;
当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
上述画面流畅度检测方法、装置、计算机可读存储介质和计算机设备,通过使用检测线程在检测环境检测应用程序中运行画面帧的渲染时间,根据渲染时间确定卡顿时长,并使用监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长计算得到的卡顿率,根据卡顿率确定检测结果。通过卡顿率来反映检测结果,能够提高得到检测画面流畅度结果的准确性。并且使用不同的线程来进行画面流畅度检测能够提高画面流畅度检测的效率。
附图说明
图1为一个实施例中画面流畅度检测方法的应用环境图;
图2为一个实施例中画面流畅度检测方法的流程示意图;
图3为一个实施例中建立检测环境的流程示意图;
图4为一个实施例中对目标画面场景进行检测的流程示意图;
图5为一个实施例中根据卡顿率和卡顿频率确定检测结果的流程示意图;
图6为一个实施例中展示检测结果的流程示意图;
图7为一个具体实施例中画面流畅度检测方法的流程示意图;
图8为图7实施例中待检测应用程序图标的界面示意图;
图9为一个实施例中场景选择画面的界面示意图;
图10为一个实施例中检测运行画面帧的界面示意图;
图11为一个实施例中检测结果的界面示意图;
图12为一个实施例中画面流畅度检测装置的结构框图;
图13为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中画面流畅度检测方法的应用环境图。参照图1,该画面流畅度检测方法应用于画面流畅度检测***。该画面流畅度检测***包括终端102。终端102具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。
具体地,终端102接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的;终端102接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;终端102接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长;当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
如图2所示,在一个实施例中,提供了一种画面流畅度检测方法。本实施例主要以该方法应用于上述图1中的终端102来举例说明。参照图2,该画面流畅度检测方法具体包括如下步骤:
S202,接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的。
其中,应用程序标识用于唯一标识应用程序,可以是名称,字符串等等。应用程序是指能够在计算机中进行安装使用的软件。检测环境是指应用程序在进行画面检测时所需要的相关信息,比如,应用程序安装后的文件,注册表文件等等。监控线程是用于监控应用程序是否检测完成的线程。检测线程是用于检测应用程序在运行时是否卡顿的线程。
具体地,终端接收到画面检测指令,画面检测指令携带有待检测应用程序标识,终端根据待检测应用程序标识调用检测线程在已建立的检测环境中运行对应的应用程序,并启动监控线程监控运行中的应用程序。
S204,接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间。
其中,运行画面帧是指应用程序在检测环境中进行运行时显示的画面帧。每一个画面帧在运行之前都要进行渲染,渲染成功之后才能进行显示。正常渲染时间是指预先设置好的画面帧的渲染时间,也可以是在检测时根据未卡顿的画面帧在进行渲染时所需要的时间得到的。
具体地,当用户点击终端的检测开始标志时,终端接收到检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当该运行画面帧的渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间,即计算出卡顿画面帧前一运行画面帧渲染结束的时间到卡顿画面帧渲染结束的时间。
S206,接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长。
其中,卡顿时长是指检测过程中各个卡顿画面帧的渲染时间之和。检测时长是指从检测开始到检测完成时的时间。
具体地,终端接收用户发送的检测完成指令,根据检测完成指令获取到在检测过程中确定的各个卡顿画面帧的渲染时间,将各个卡顿画面帧的渲染时间进行相加,得到卡顿时长。并根据检测开始的***时间和检测完成的***时间计算得到检测时长。在一个实施例中,可以设置计时器来统计检测时长。
S208,当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
其中,卡顿率用于表示在检测时间内的应用程序运行画面流畅度,卡顿率越低,说明画面流畅度越高。
具体地,当监控线程监测到检测线程完成应用程序的画面流畅度检测时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长计算得到卡顿率,当卡顿率小于预先设置好的标准阈值时,得到画面流畅度检测通过结果,当卡顿率超过预先设置好的标准阈值时,得到画面流畅度检测未通过结果。
在上述画面流畅度检测方法中,通过使用检测线程在检测环境检测应用程序中运行画面帧的渲染时间,根据渲染时间确定卡顿时长,并使用监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长计算得到的卡顿率,根据卡顿率确定检测结果。通过卡顿率来反映检测结果,能够提高得到检测画面流畅度结果的准确性。并且使用不同的线程来进行画面流畅度检测能够提高画面流畅度检测的效率。
在一个实施例中,可以对应用程序的不同版本进行测试,当更新版本的卡顿率超过未更新版本的卡顿率,得到更新版本的应用程序画面流畅度检测未通过结果。
在一个实施例中,如图3所示,在步骤S202之前,即在所述接收画面检测指令,所述画面检测指令携带有待检测应用程序标识,根据所述画面检测指令运行所述待检测应用程序标识对应的应用程序,并启动监控线程监控所述应用程序之前,还包括步骤:
S302,接收检测环境建立指令,根据检测环境建立指令获取各个已安装应用程序标识,将各个已安装应用程序标识进行展示。
S304,接收目标已安装应用程序标识的选择指令,根据选择指令将目标已安装应用程序标识对应的目标应用程序文件进行备份,得到目标已安装应用程序的检测环境。
其中,目标已安装应用程序标识用于标识需要建立检测环境,并且已经在终端中安装好的应用程序。
具体地,终端接收检测环境建立指令,根据检测环境建立指令获取终端中各个已安装应用程序标识,将各个已安装应用程序标识在显示界面进行展示。用户可以在显示界面中选择需要进行检查环境建立的应用程序标识。当用户在显示界面点击要选择的应用程序标识时,终端接收到目标已安装应用程序标识的选择指令根据选择指令将目标已安装应用程序标识对应的目标应用程序文件进行复制,得到备份的目标应用程序文件,即得到目标已安装应用程序的检测环境。即在进行该目标应用程序画面流畅度检测时,使用备份的目标应用程序文件启动目标应用程序。
在一个实施例中,可以是在终端中安装虚拟机,虚拟机获取到目标应用程序文件,虚拟机将目标应用程序进行安装,在进行目标应用程序画面流畅度检测时,在虚拟机中启动安装好的目标应用程序。
在上述实施例中,预先建立好应用程序的检测环境,在进行画面流畅度检测时,可以直接使用检测环境,方便快捷。
在一个实施例中,如图4所示,步骤S204,即接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,包括步骤:
S402,接收检测开始指令,根据检测开始指令显示待选择的各个画面场景标识。
S404,接收对目标画面场景标识的检测指令,根据对目标画面场景标识的检测指令检测线程检测目标画面场景标识对应的目标画面场景中运行画面帧的渲染时间,其中,目标画面场景中运行画面是持续变化的。
其中,画面场景标识用于标识应用程序中运行的画面场景,画面场景可以包括目标画面场景和其他画面场景。其他画面场景是指运行画面是随机变化,非持续变化的。
具体地,终端接收到检测开始指令,根据检测开始指令在弹窗中显示待选择的各个画面场景标识。用户点击目标画面场景标识时,终端接收到目标画面场景标识的检测指令,根据对目标画面场景标识的检测指令检测线程检测目标画面场景标识对应的目标画面场景中运行画面帧的渲染时间。
在上述实施例中,用户可以通过选择目标画面场景标识,终端接收到对目标画面场景标识的检测指令,可以对应用程序中的目标画面场景进行检测,可以对用户需要检查的画面场景进行检查,提升了用户体验。
在一个实施例中,在运行待检测的应用程序时,应用程序先弹窗显示待选择的各个画面场景标识,在用户选择目标画面场景标识时,终端运行应用程序中的目标画面场景,对应用程序中的目标画面场景进行画面流畅度检测。
在一个实施例中,如图5所示,步骤S208,即当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果,包括步骤:
S502,当监控线程监测到检测完成时,监控线程获取各个卡顿画面帧,获取各个卡顿画面帧之间的时间差。
其中,时间差是指卡顿画面帧渲染结束时间到下一卡顿画面帧渲染开始时间的差。也可以是指卡顿画面帧渲染开始时间到下一卡顿画面帧渲染结束时间的差。
具体地,当终端中的监控线程检测到检测完成时,监控线程与检测线程进行通信,获取到检测线程中的各个卡顿画面帧,得到各个卡顿画面帧的渲染开始时间和渲染结束时间。根据各个卡顿画面帧的渲染开始时间和渲染结束时间确定各个卡顿画面帧之间的时间差。
S504,根据时间差确定卡顿次数,并根据卡顿次数和检测时长计算得到卡顿频率。
其中,卡顿次数是指在检测过程中卡顿出现的总次数。
具体地,当卡顿画面帧之间的时间差超过预先设置好的阈值时,确定卡顿画面帧之间的卡顿次数为两次,当卡顿画面帧之间的时间差未超过预先设置好的阈值,确定卡顿画面帧之间的卡顿次数为一次,其中,预先设置好的阈值比如可以是300ms(毫秒)。根据各个卡顿画面帧之间的时间差确定在检测过程中的卡顿次数。根据卡顿次数和检测时长计算卡顿频率。
S506,根据卡顿率和卡顿频率确定检测结果。
具体地,当卡顿率超过预设卡顿率阈值或者卡顿频率超过预设卡顿频率阈值时,得到检测未通过结果。当卡顿率未超过预设卡顿率阈值且卡顿频率未超过预设卡顿频率阈值时,得到检测通过结果。
在上述实施例中,进一步通过使用各个卡顿画面帧之间的时间差确定卡顿次数,根据卡顿次数计算得到卡顿频率,使用卡顿率和卡顿频率来确定检测结果,进一步提升了检测结果的准确性。
在一个实施例中,如图6所示,在步骤S208之后,即在当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果之后,还包括步骤:
S602,将检测结果发送到服务器中保存。
S604,当服务器接收到管理终端发送的检测结果查看指令时,服务器将检测结果发送管理终端进行展示。
其中,管理终端用于对检测结果进行管理。
具体地,终端将检测过程中将得到的检测结果发送到服务器中保存。即终端向服务器发送检测结果保存的指令,服务器接收到终端发送的检测结果保存的指令,从终端中获取到要保持的检测结果和其他相关检测信息,其他相关检测信息可以是检测开始时间、检测人员、检测机型、检测场景等等,将检测结果和其他相关检测信息保存到服务器的数据库中。管理终端向服务器发送检测结果查看指令,服务器接收到管理终端发送的检测结果查看指令,根据检测结果查看指令获取到要查看的检测结果,将该检测结果返回给管理终端。管理终端接收到服务器返回的检测结果并进行展示。能够方便管理人员查看检测结果,并且使管理人员根据检查结果做进一步的处理。比如,检测结果为未通过检测时,则需要解决卡顿问题,此时管理人员可以对应用程序进行修改,比如,减少场景复杂度,减小分辨率,减小特效等等。
在一个实施例中,终端也可以显示检测结果并将检测结果发送服务器。
在一个具体的实施例中,如图7所示,画面流程度检测方法的流程示意图,该方法应用在游戏应用程序战斗画面场景测试中,具体包括:
在开始测试时,检测线程检测游戏应用运行的每一帧数据,即每一个运行的游戏画面帧的渲染时间,根据渲染时间确定对应的游戏画面帧是否存在卡顿,当确定该游戏画面帧是存在卡顿时,记录该游戏画面帧的渲染时间为卡顿时间。当确定游戏画面帧未存在卡顿时,将该游戏画面帧丢弃。
当未接收检测结束的指令时,检测线程继续检测游戏应用运行的每一游戏画面帧数据。当接收到检测结束的指令时,检测线程将记录的卡顿时间和检测时长发送到监控线程中,监控线程根据记录的卡顿时间计算得到卡顿时长,根据卡顿时长和检测时长计算得到卡顿率。当卡顿率小于标准卡顿率X%时,检测画面流畅度达标通过。当卡顿率未小于标准卡顿率X%时,检测画面流畅度未达标通过。此时,可以进行卡顿修复,比如可以是减少场景复杂度、减小分辨率,减小特效等等。
在本实施例中,在开始检测之前,可以是进入“卡顿计”APP(Application),该“卡顿计”APP用于对应用程序进行画面流畅度检测。如图8所示,为该“卡顿计”APP的界面示意图,其中,应用图标为可以进行检测的应用程序图标。每一个应用图标都有对应的应用名、版本和引擎信息。用户可以通过点击应用图标对应的检测按钮进行检测,该“卡顿计”APP根据画面检测指令运行应用图标对应的应用,并启动监控线程监控应用,其中,应用是调用检测线程在已建立的检测环境中运行的。即可以通过“卡顿计”APP中我的应用来建立应用的检测环境,当用户点击我的应用对应的添加按钮时,“卡顿计”APP检测应用中已安装的应用图标,并通过界面进行显示。用于可以选择要添加的应用对应的应用图标,当接收到选择的应用图标时,将应用图标对应的已安装应用的文件进行备份,即得到该应用对应的检测环境。
在一个实施例中,当用户点击检测按钮进行检测时,运行应用图标对应的应用,在应用中显示场景选择画面,如图9所示。当用户选择了战斗场景检测,并点击画面中的开始检测按钮时,计时器开始计时并进行检侧。图10为该应用在检测过程中的示意图,其中,画面中应该显示有该应用的战斗场景画面,此时已检测到的卡顿数同时在画面中显示为1次。检测的时间为00:27,即已检测了27秒。当用户点击画面中的结束检测按钮时,检测完成。在一个实施例中,如图11所示,管理终端中显示的该应用的检测结果示意图。该示意图中包括应用检测的相关信息和检测结论。其中,检测的相关信息包括检测人员、检测机型、检测版本,检测场景、检测时长和检测时间。检测结论包括卡顿次数,严重卡顿次数、卡顿率和卡顿频率等等。
在一个实施例中,本申请对画面流畅度的检测方法还可以应用在对画面流畅度的测试中,具体包括:接收画面测试指令,画面测试指令携带有待测试应用程序标识,根据画面测试指令运行待测试应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用测试线程在已建立的测试环境中运行的;接收测试开始指令,根据测试开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;接收到测试完成指令,根据测试完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据测试开始指令和测试完成指令确定测试时长;当监控线程监测到测试完成时,监控线程获取到卡顿时长和测试时长,根据卡顿时长和测试时长确定卡顿率,根据卡顿率确定测试结果
应该理解的是,虽然图2-图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种画面流畅度检测装置1200,包括,程序运行模块1202、检测模块1204、时长确定模块1206和卡顿率确定模块1208,其中:
程序运行模块1202,用于接收画面检测指令,画面检测指令携带有待检测应用程序标识,根据画面检测指令运行待检测应用程序标识对应的应用程序,并启动监控线程监控应用程序,其中,应用程序是调用检测线程在已建立的检测环境中运行的;
检测模块1204,用于接收检测开始指令,根据检测开始指令检测线程检测应用程序中运行画面帧的渲染时间,当渲染时间超过正常渲染时间时,确定运行画面帧为卡顿画面帧,并得到卡顿画面帧的渲染时间;
时长确定模块1206,用于接收到检测完成指令,根据检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据检测开始指令和检测完成指令确定检测时长;
卡顿率确定模块1208,用于当监控线程监测到检测完成时,监控线程获取到卡顿时长和检测时长,根据卡顿时长和检测时长确定卡顿率,根据卡顿率确定检测结果。
在一个实施例中,画面流畅度检测装置1200,还包括:
标识展示模块,用于接收检测环境建立指令,根据检测环境建立指令获取各个已安装应用程序标识,将各个已安装应用程序标识进行展示;
检测环境建立模块,用于接收目标已安装应用程序标识的选择指令,根据选择指令将目标已安装应用程序标识对应的目标应用程序文件进行备份,得到目标已安装应用程序的检测环境。
在一个实施例中,检测模块1204,包括:
场景标识显示单元,用于接收检测开始指令,根据检测开始指令显示待选择的各个画面场景标识;
场景检测单元,用于接收对目标画面场景标识的检测指令,根据对目标画面场景标识的检测指令检测线程检测目标画面场景标识对应的目标画面场景中运行画面帧的渲染时间,其中,目标画面场景中运行画面是持续变化的。
在一个实施例中,卡顿率确定模块1208,还用于当监控线程监测到检测完成时,监控线程获取各个卡顿画面帧,获取各个卡顿画面帧之间的时间差;根据时间差确定卡顿次数,并根据卡顿次数和检测时长计算得到卡顿频率;根据卡顿率和卡顿频率确定检测结果。
在一个实施例中,画面流畅度检测装置1200,还用于将检测结果发送到服务器中保存:当服务器接收到管理终端发送的检测结果查看指令时,服务器将检测结果发送管理终端进行展示。
图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端102。如图13所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现画面流畅度检测方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行画面流畅度检测方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的画面流畅度检测装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该画面流畅度检测装置的各个程序模块,比如,图12所示的程序运行模块1202、检测模块1204、时长确定模块1206和卡顿率确定模块1208。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的画面流畅度检测方法中的步骤。
例如,图13所示的计算机设备可以通过如图12所示的画面流畅度检测装置中的程序运行模块1202执行步骤202。计算机设备可通过检测模块1204执行步骤204。计算机设备可通过时长确定模块1206执行步骤206。计算机设备可通过卡顿率确定模块1208执行步骤208。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述画面流畅度检测方法的步骤。此处画面流畅度检测方法的步骤可以是上述各个实施例的画面流畅度检测方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述画面流畅度检测方法的步骤。此处画面流畅度检测方法的步骤可以是上述各个实施例的画面流畅度检测方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种画面流畅度检测方法,包括:
接收画面检测指令,所述画面检测指令携带有待检测应用程序标识,根据所述画面检测指令运行所述待检测应用程序标识对应的应用程序,并启动监控线程监控所述应用程序,其中,所述应用程序是调用检测线程在已建立的检测环境中运行的;所述监控线程是用于监控所述应用程序是否检测完成的线程,所述检测线程是用于检测所述应用程序在运行时是否卡顿的线程;
接收检测开始指令,根据所述检测开始指令所述检测线程检测所述应用程序中运行画面帧的渲染时间,当所述渲染时间超过正常渲染时间时,确定所述运行画面帧为卡顿画面帧,并得到所述卡顿画面帧的渲染时间;
接收到检测完成指令,根据所述检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据所述检测开始指令和所述检测完成指令确定检测时长;
当所述监控线程监测到检测完成时,所述监控线程获取到所述卡顿时长和所述检测时长,根据所述卡顿时长和所述检测时长确定卡顿率,根据所述卡顿率确定检测结果。
2.根据权利要求1所述的方法,其特征在于,在所述接收画面检测指令,所述画面检测指令携带有待检测应用程序标识,根据所述画面检测指令运行所述待检测应用程序标识对应的应用程序,并启动监控线程监控所述应用程序之前,还包括:
接收检测环境建立指令,根据所述检测环境建立指令获取各个已安装应用程序标识,将所述各个已安装应用程序标识进行展示;
接收目标已安装应用程序标识的选择指令,根据所述选择指令将所述目标已安装应用程序标识对应的目标应用程序文件进行备份,得到所述目标已安装应用程序的检测环境。
3.根据权利要求1所述的方法,其特征在于,所述接收检测开始指令,根据所述检测开始指令所述检测线程检测所述应用程序中运行画面帧的渲染时间,包括:
接收检测开始指令,根据所述检测开始指令显示待选择的各个画面场景标识;
接收对目标画面场景标识的检测指令,根据所述对目标画面场景标识的检测指令所述检测线程检测所述目标画面场景标识对应的目标画面场景中运行画面帧的渲染时间,其中,所述目标画面场景中运行画面是持续变化的。
4.根据权利要求1所述的方法,其特征在于,所述当所述监控线程监测到检测完成时,所述监控线程获取到所述卡顿时长和所述检测时长,根据所述卡顿时长和所述检测时长确定卡顿率,根据所述卡顿率确定检测结果,包括:
当所述监控线程监测到检测完成时,所述监控线程获取各个卡顿画面帧,获取所述各个卡顿画面帧之间的时间差;
根据所述时间差确定卡顿次数,并根据所述卡顿次数和所述检测时长计算得到卡顿频率;
根据所述卡顿率和所述卡顿频率确定检测结果。
5.根据权利要求1所述的方法,其特征在于,在所述当所述监控线程监测到检测完成时,所述监控线程获取到所述卡顿时长和所述检测时长,根据所述卡顿时长和所述检测时长确定卡顿率,根据所述卡顿率确定检测结果之后,还包括:
将所述检测结果发送到服务器中保存:
当所述服务器接收到管理终端发送的检测结果查看指令时,所述服务器将所述检测结果发送所述管理终端进行展示。
6.一种画面流畅度检测装置,其特征在于,所述装置包括:
程序运行模块,用于接收画面检测指令,所述画面检测指令携带有待检测应用程序标识,根据所述画面检测指令运行所述待检测应用程序标识对应的应用程序,并启动监控线程监控所述应用程序,其中,所述应用程序是调用检测线程在已建立的检测环境中运行的;所述监控线程是用于监控所述应用程序是否检测完成的线程,所述检测线程是用于检测所述应用程序在运行时是否卡顿的线程;
检测模块,用于接收检测开始指令,根据所述检测开始指令所述检测线程检测所述应用程序中运行画面帧的渲染时间,当所述渲染时间超过正常渲染时间时,确定所述运行画面帧为卡顿画面帧,并得到所述卡顿画面帧的渲染时间;
时长确定模块,用于接收到检测完成指令,根据所述检测完成指令获取到各个卡顿画面帧的渲染时间,根据各个卡顿画面帧的渲染时间确定卡顿时长,并根据所述检测开始指令和所述检测完成指令确定检测时长;
卡顿率确定模块,用于当所述监控线程监测到检测完成时,所述监控线程获取到所述卡顿时长和所述检测时长,根据所述卡顿时长和所述检测时长确定卡顿率,根据所述卡顿率确定检测结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
标识展示模块,用于接收检测环境建立指令,根据所述检测环境建立指令获取各个已安装应用程序标识,将所述各个已安装应用程序标识进行展示;
检测环境建立模块,用于接收目标已安装应用程序标识的选择指令,根据所述选择指令将所述目标已安装应用程序标识对应的目标应用程序文件进行备份,得到所述目标已安装应用程序的检测环境。
8.根据权利要求6所述的装置,其特征在于,所述检测模块包括:
场景标识显示单元,用于接收检测开始指令,根据所述检测开始指令显示待选择的各个画面场景标识;
场景检测单元,用于接收对目标画面场景标识的检测指令,根据所述对目标画面场景标识的检测指令所述检测线程检测所述目标画面场景标识对应的目标画面场景中运行画面帧的渲染时间,其中,所述目标画面场景中运行画面是持续变化的。
9.根据权利要求6所述的装置,其特征在于,所述卡顿率确定模块还用于当所述监控线程监测到检测完成时,所述监控线程获取各个卡顿画面帧,获取所述各个卡顿画面帧之间的时间差;根据所述时间差确定卡顿次数,并根据所述卡顿次数和所述检测时长计算得到卡顿频率;根据所述卡顿率和所述卡顿频率确定检测结果。
10.根据权利要求6所述的装置,其特征在于,所述装置,还用于将所述检测结果发送到服务器中保存:当所述服务器接收到管理终端发送的检测结果查看指令时,所述服务器将所述检测结果发送所述管理终端进行展示。
11.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911024492.7A CN112711519B (zh) | 2019-10-25 | 2019-10-25 | 画面流畅度检测方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911024492.7A CN112711519B (zh) | 2019-10-25 | 2019-10-25 | 画面流畅度检测方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711519A CN112711519A (zh) | 2021-04-27 |
CN112711519B true CN112711519B (zh) | 2023-03-14 |
Family
ID=75540761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911024492.7A Active CN112711519B (zh) | 2019-10-25 | 2019-10-25 | 画面流畅度检测方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711519B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048933B (zh) * | 2022-08-09 | 2024-05-03 | 荣耀终端有限公司 | 一种流畅度检测方法 |
CN117745664A (zh) * | 2023-12-15 | 2024-03-22 | 苏州智华汽车电子有限公司 | 图像动态检测方法、装置、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239168B (zh) * | 2013-06-09 | 2018-03-23 | 腾讯科技(深圳)有限公司 | 卡顿检测方法和设备 |
CN104410878A (zh) * | 2014-12-05 | 2015-03-11 | 北京国双科技有限公司 | 视频卡顿次数分布的检测方法和装置 |
CN105979360A (zh) * | 2015-12-04 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种渲染图像的处理方法及装置 |
CN105979332A (zh) * | 2015-12-04 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的检测方法和装置 |
CN106775403B (zh) * | 2016-12-14 | 2020-03-03 | 北京小米移动软件有限公司 | 获取卡顿信息的方法及装置 |
CN111095221B (zh) * | 2017-10-09 | 2023-11-03 | 华为技术有限公司 | 一种刷新显示异常处理的方法及终端 |
CN108491275B (zh) * | 2018-03-13 | 2022-12-13 | Oppo广东移动通信有限公司 | 程序优化方法、装置、终端及存储介质 |
CN109144858B (zh) * | 2018-08-02 | 2022-02-25 | 腾讯科技(北京)有限公司 | 流畅度检测方法、装置、计算设备及存储介质 |
CN109285211B (zh) * | 2018-10-29 | 2023-03-31 | Oppo广东移动通信有限公司 | 画面渲染方法、装置、终端及存储介质 |
-
2019
- 2019-10-25 CN CN201911024492.7A patent/CN112711519B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112711519A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711519B (zh) | 画面流畅度检测方法、装置、存储介质和计算机设备 | |
CN107451193B (zh) | 一种客户端页面加载时间的获取方法及装置,电子设备 | |
CN107967209B (zh) | 一种检测前端网页代码中错误的方法、检测设备及服务器 | |
WO2019085598A1 (zh) | 计算页面首屏渲染时长的方法、装置及电子设备 | |
CN110162453B (zh) | 测试方法、装置、计算机可读存储介质和计算机设备 | |
CN111782492A (zh) | 页面首屏加载时长测试方法、装置、计算机设备及介质 | |
JP6037397B2 (ja) | ユーザ操作のログ記録方法、そのプログラムおよび装置 | |
CN110401580B (zh) | 基于心跳机制的网页状态监听方法及相关设备 | |
CN109324959B (zh) | 一种自动转移数据的方法、服务器及计算机可读存储介质 | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
CN110888781B (zh) | 一种应用卡顿检测方法及检测装置 | |
US10999180B2 (en) | System for defining and implementing performance monitoring requirements for applications and hosted computing environment infrastructure | |
CN109684125A (zh) | 一种修复ddr物理损坏的方法、装置、设备及存储介质 | |
US9152872B2 (en) | User experience analysis system to analyze events in a computer desktop | |
CN112817831A (zh) | 应用性能监测方法、装置、计算机***和可读存储介质 | |
CN115629968A (zh) | 一种测试数据记录方法和装置 | |
CN111124774B (zh) | 一种服务器开机过程稳定性的测试方法及相关装置 | |
CN111159051A (zh) | 死锁检测方法、装置、电子设备及可读存储介质 | |
CN110569167A (zh) | 网页报警监控方法、脚本报错方法、装置及计算机设备 | |
CN110502416B (zh) | 应用卡顿检测方法、装置、计算机设备及可读介质 | |
JP3735484B2 (ja) | メモリリーク検出システム、メモリリーク検出方法及び記録媒体 | |
CN112631821A (zh) | 内存故障检测定位方法、装置、计算机设备及存储介质 | |
CN110633087B (zh) | 客户端安装方法、装置和存储介质 | |
US10165074B2 (en) | Asynchronous custom exit points | |
CN106970850B (zh) | 应用程序坑位的劫持检测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40042651 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |