CN109753262B - 帧显示处理方法、装置、终端设备及存储介质 - Google Patents

帧显示处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN109753262B
CN109753262B CN201910008078.0A CN201910008078A CN109753262B CN 109753262 B CN109753262 B CN 109753262B CN 201910008078 A CN201910008078 A CN 201910008078A CN 109753262 B CN109753262 B CN 109753262B
Authority
CN
China
Prior art keywords
frame
current
time
setting
time difference
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
Application number
CN201910008078.0A
Other languages
English (en)
Other versions
CN109753262A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201910008078.0A priority Critical patent/CN109753262B/zh
Publication of CN109753262A publication Critical patent/CN109753262A/zh
Application granted granted Critical
Publication of CN109753262B publication Critical patent/CN109753262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种帧显示处理方法、装置、终端设备及存储介质,该方法包括当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差;如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录;设置所述当前绘制帧的绘制信息,执行帧回调函数,本方案显著提高了系统性能的分析效率。

Description

帧显示处理方法、装置、终端设备及存储介质
技术领域
本申请实施例涉及计算机技术,尤其涉及一种帧显示处理方法、装置、终端设备及存储介质。
背景技术
随着终端设备普及程度的提高,越来越多的用户使用终端设备执行各种各样的功能以满足自身需求,如使用终端设备阅读文字、观看视频、听音乐、玩游戏等,在使用过程中由于设备硬件或软件的问题会出现显示内容卡顿掉帧的情况。
现有技术中,以安卓操作系统为例,可通过Systrace工具进行系统性能的分析,然而该方式存在缺陷,需要改进。
发明内容
本申请提供了一种帧显示处理方法、装置、终端设备及存储介质,显著提高了系统性能的分析效率。
第一方面,本申请实施例提供了一种帧显示处理方法,包括:
当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差;
如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录;
设置所述当前绘制帧的绘制信息,执行帧回调函数。
第二方面,本申请实施例还提供了一种帧显示处理装置,包括:
时间差确定模块,用于当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差;
系统时间处理模块,用于如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录;
帧信息设置模块,用于设置所述当前绘制帧的绘制信息,执行帧回调函数。
第三方面,本申请实施例还提供了一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的帧显示处理方法。
第四方面,本申请实施例还提供了一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行本申请实施例所述的帧显示处理方法。
本方案中,当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差,如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录,设置所述当前绘制帧的绘制信息,执行帧回调函数,显著提高了系统性能的分析效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例提供的一种帧显示处理方法的流程图;
图2是本申请实施例提供的另一种帧显示处理方法的流程图;
图3是本申请实施例提供的另一种帧显示处理方法的流程图;
图4是本申请实施例提供的另一种帧显示处理方法的流程图;
图5是本申请实施例提供的一种帧显示处理装置的结构框图;
图6是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
图1是本申请实施例提供的一种帧显示处理方法的流程图,可适用于终端设备显示内容的帧渲染处理,该方法可以由本申请实施例提供的终端设备来执行,该终端设备的帧显示处理装置可采用软件和/或硬件的方式实现,如图1所示,本实施例提供的具体方案如下:
步骤S101、当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。
Android操作系统中,终端设备屏幕显示的内容通过Android系统的SurfaceFlinger类把当前系统里所有进程需要显示的信息合成一帧,然后提交到屏幕上显示,其中,FPS(Frames Per Second,每秒传输帧数)指1秒内SurfaceFlinger提交到屏幕的帧数,SurfaceFlinger做为init进程中的一个Service进行启动。其中,Vsync(verticalsynchronization,垂直同步)指显卡的输出帧数和屏幕的垂直刷新率相同,示例性的,如果屏幕的刷新率为60Hz,生成帧的速度则被固定在1/60s,如果二者不匹配,则会出现丢帧、卡顿显现。
在Android操作系统中,Choreographer接收显示系统的时间脉冲(垂直同步信号,即VSync信号),在下一个frame渲染时控制同步处理输入(Input)、动画(Animation)、绘制(Draw)三个UI操作。在Choreographer类的构造方法中,主要包括FrameHandler、FrameDisplayEventReceiver、mLastFrameTimeNanos以及CallbackQueue的初始化,其中在CallbackQueue的初始化过程中,callback队列中的数据将在下一帧开始渲染时回调,
在一个实施例中,可通过doFrame方法执行下一帧的渲染,当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。示例性的,参考代码如下:
Figure BDA0001936217660000031
步骤S102、如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录。
在一个实施例中,当检测到绘制时间差满足预设跳帧条件时,获取当前系统时间,其中,该系统时间为当前满足预设跳帧条件时出现跳帧的绝对时间,示例性的,具体实现方式可以采用如下代码(该代码可埋入doFrame方法中):
//add begin
SimpleDateFormat dataFormat=new SimpleDateFormat
("yyyy-MM-dd HH:mm:ss.SSS");
Date dayNow=new Date(System.currentTimeMillis());
String strOutputFilePath=dateFormat.format(dayNow);
Trace.traceBegin(Trace.TRACE_TAG_ALWAYS,strOutputFilePath);
Trace.traceEnd(Trace.TRACE_TAG_VIEW);
//add end
其中,该预设跳帧条件为表征当前显示过程中是否出现卡顿的条件,示例代码如下:
if(DEBUG_JANK&&mDebugPrintNextFrameTimeDelta)
具体的,该预设跳帧条件可以是绘制时间差大于一个时钟周期,或者大于预设的任意固定时长。
步骤S103、设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个实施例中,该绘制信息包括当前绘制帧的帧率绘制时间等参量,具体的,以Android操作系统为例,通过在Choreographer中实现FrameCallback接口,并实现相应的doFrame方法,以获取到帧率等信息,通过
Choreographer.getInstance().postFrameCallback(new MyFPSFrameCallback());
将帧回调函数添加到Choreographer中,在下一frame被渲染的时候以回调该callback,执行定义的doFrame操作。示例性的,可参考如下代码:
Figure BDA0001936217660000041
Figure BDA0001936217660000051
需要说明的是,该增加的获取当前系统时间,并进行打印记录部分的代码以及该步骤可以是帧显示处理环节中的其他环节,如执行帧回调函数之后,doFrame方法处理完毕之前。该方案并不限于Android操作系统,同样适用于苹果ios或者其他终端设备操作系统。
由上述内容可知,本方案中,当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差,如果绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录,由此便于后续进行卡顿、跳帧等丢帧现象进行分析,提高了终端设备的性能分析效率。
图2是本申请实施例提供的另一种帧显示处理方法的流程图,可选的,在获取当前系统时间,并进行打印记录之后,还包括:依据所述当前系统时间和所述绘制时间差确定所述当前帧的绘制时间;相应的,设置所述当前绘制帧的绘制信息包括:设置所述当前绘制帧的绘制时间。如图2所示,技术方案具体如下:
步骤S201、当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。
步骤S202、判断所述绘制时间差是否满足预设跳帧条件,如果是,则执行步骤S203,否则执行步骤S205。
步骤S203、获取当前系统时间,并进行打印记录。
步骤S204、依据所述当前系统时间和所述绘制时间差确定所述当前帧的绘制时间。
在一个实施例中,当出现卡顿、跳帧时,可将当前帧的绘制时间和系统时间的差值确定为偏移量,即原始绘制时间加上绘制时间和系统时间的差值作为新的当前帧的绘制时间并封装保存在绘制信息中。
在另一个实施例中,还可以是计算当前帧的绘制时间和时钟信号的偏差值,如:final long lastFrameOffset=jitterNanos%mFrameIntervalNanos,并修正该偏差值:frameTimeNanos=startNanos-lastFrameOffset。
步骤S205、设置所述当前绘制帧的绘制信息,执行帧回调函数。
其中,该绘制信息包含由帧图像的绘制时间等参量用于在时钟或系统时间到来时进行该帧图像的相应显示。
由上述可知,当出现卡顿问题是,对绘制时间进行修正以保证终端设备的显示效果,提高了终端设备的显示效率。
图3是本申请实施例提供的另一种帧显示处理方法的流程图,可选的,所述设置所述当前绘制帧的绘制信息,执行帧回调函数包括:判断是否存在帧时间回溯,如果存在,则在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。如图3所示,技术方案具体如下:
步骤S301、当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。
步骤S302、判断所述绘制时间差是否满足预设跳帧条件,如果是,则执行步骤S303,否则执行步骤S305。
步骤S303、获取当前系统时间,并进行打印记录。
步骤S304、依据所述当前系统时间和所述绘制时间差确定所述当前帧的绘制时间。
步骤S305、判断是否存在帧时间回溯,如果是,则执行步骤S306,否则执行步骤S307。
在一个实施例中,对是否存在时间回溯进行判定以避免时钟错误对帧图像显示的影响,具体的,方式可以如下:
Figure BDA0001936217660000061
步骤S306、在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。
示例性的,可采用scheduleVsyncLocked()方法以锁住一个时钟信号,在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。
步骤S307、设置所述当前绘制帧的绘制信息,执行帧回调函数。
由上述可知,通过判断是否存在帧时间回溯如果回溯则在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数,避免了帧显示过程受到时钟影响,提高了显示效率。
图4是本申请实施例提供的另一种帧显示处理方法的流程图,可选的,在检测到帧回调函数指令之前,还包括:执行帧控制器、帧显示事件接收器、帧渲染器以及帧回调队列的初始化。如图4所示,技术方案具体如下:
步骤S401、执行帧控制器、帧显示事件接收器、帧渲染器以及帧回调队列的初始化。
在一个实施例中,以Android操作系统为例,FrameHandler(帧控制器)初始化后用于执行:开始下一帧渲染、请求Vsync信号以及请求执行callback等操作。帧显示事件接收器(FrameDisplayEventReceiver)继承自DisplayEventReceiver接收底层的VSync信号以处理UI过程。VSync信号由SurfaceFlinger实现并定时发送。FrameDisplayEventReceiver收到信号后,调用onVsync方法组织消息发送到主线程处理。其中,帧回调队列的初始化用于输入、动画、遍历执行操作以及修正动画启动时间。
步骤S402、当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。
步骤S403、判断所述绘制时间差是否满足预设跳帧条件,如果是,则执行步骤S404,否则执行步骤S408。
步骤S404、获取当前系统时间,并进行打印记录。
步骤S405、依据所述当前系统时间和所述绘制时间差确定所述当前帧的绘制时间。
步骤S406、判断是否存在帧时间回溯,如果是,则执行步骤S407,否则执行步骤S408。
步骤S407、在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。
步骤S408、设置所述当前绘制帧的绘制信息,执行帧回调函数。
由上述可知,通过上述初始化机制以及计算当前绘制帧和相邻绘制帧的绘制时间差,如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录,提高了终端设备的帧显示效率以及系统性能的分析效率。
图5是本申请实施例提供的一种帧显示处理装置的结构框图,该装置用于执行上述实施例提供的帧显示处理方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:时间差确定模块101、系统时间处理模块102和帧信息设置模块103,其中,
时间差确定模块101,用于当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。
在一个实施例中,可通过doFrame方法执行下一帧的渲染,当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差。示例性的,参考代码如下:
Figure BDA0001936217660000081
系统时间处理模块102,用于如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录。
在一个实施例中,当检测到绘制时间差满足预设跳帧条件时,获取当前系统时间,其中,该系统时间为当前满足预设跳帧条件时出现跳帧的绝对时间,示例性的,具体实现方式可以采用如下代码(该代码可埋入doFrame方法中):
//add begin
SimpleDateFormat dataFormat=new SimpleDateFormat
("yyyy-MM-dd HH:mm:ss.SSS");
Date dayNow=new Date(System.currentTimeMillis());
String strOutputFilePath=dateFormat.format(dayNow);
Trace.traceBegin(Trace.TRACE_TAG_ALWAYS,strOutputFilePath);
Trace.traceEnd(Trace.TRACE_TAG_VIEW);
//add end
其中,该预设跳帧条件为表征当前显示过程中是否出现卡顿的条件,示例代码如下:
if(DEBUG_JANK&&mDebugPrintNextFrameTimeDelta)
具体的,该预设跳帧条件可以是绘制时间差大于一个时钟周期,或者大于预设的任意固定时长。
帧信息设置模块103,用于设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个实施例中,该绘制信息包括当前绘制帧的帧率绘制时间等参量,具体的,以Android操作系统为例,通过在Choreographer中实现FrameCallback接口,并实现相应的doFrame方法,以获取到帧率等信息。
需要说明的是,该增加的获取当前系统时间,并进行打印记录部分的代码以及该步骤可以是帧显示处理环节中的其他环节,如执行帧回调函数之后,doFrame方法处理完毕之前。该方案并不限于Android操作系统,同样适用于苹果ios或者其他终端设备操作系统。
由上述内容可知,本方案中,当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差,如果绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录,由此便于后续进行卡顿、跳帧等丢帧现象进行分析,提高了终端设备的性能分析效率。
在一个可能的实施例中,该装置还包括帧调整模块104,用于在获取当前系统时间,并进行打印记录之后,依据所述当前系统时间和所述绘制时间差确定所述当前帧的绘制时间;
所述帧信息设置模块103具体用于:
设置所述当前绘制帧的绘制时间。
在一个可能的实施例中,所述帧信息设置模块103具体用于:
判断是否存在帧时间回溯,如果存在,则在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,所述帧信息设置模块103具体用于:如果不存在帧时间回溯,则在当前时钟信号设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,所述帧信息设置模块103具体用于:如果所述绘制时间差不满足预设跳帧条件,则设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,还包括初始化模块105,用于:
在检测到帧回调函数指令之前,执行帧控制器、帧显示事件接收器、帧渲染器以及帧回调队列的初始化。
在一个可能的实施例中,所述系统时间处理模块102具体用于:
如果所述绘制时间差大于一个时钟周期,则获取当前系统时间。
本实施例在上述各实施例的基础上提供了一种终端设备,图6是本申请实施例提供的一种终端设备的结构示意图,如图6所示,该终端设备200包括:存储器201、处理器(Central Processing Unit,CPU)202、外设接口203、RF(Radio Frequency,射频)电路205、音频电路206、扬声器211、电源管理芯片208、输入/输出(I/O)子系统209、触摸屏212、Wifi模块213、其他输入/控制设备210以及外部端口204,这些部件通过一个或多个通信总线或信号线207来通信。
应该理解的是,图示终端设备200仅仅是终端设备的一个范例,并且终端设备200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于帧显示处理的终端设备进行详细的描述,该终端设备以智能手机为例。
存储器201,所述存储器201可以被CPU202、外设接口203等访问,所述存储器201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口203,所述外设接口203可以将设备的输入和输出外设连接到CPU202和存储器201。
I/O子系统209,所述I/O子系统209可以将设备上的输入输出外设,例如触摸屏212和其他输入/控制设备210,连接到外设接口203。I/O子系统209可以包括显示控制器2091和用于控制其他输入/控制设备210的一个或多个输入控制器2092。其中,一个或多个输入控制器2092从其他输入/控制设备210接收电信号或者向其他输入/控制设备210发送电信号,其他输入/控制设备210可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器2092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏212,所述触摸屏212是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统209中的显示控制器2091从触摸屏212接收电信号或者向触摸屏212发送电信号。触摸屏212检测触摸屏上的接触,显示控制器2091将检测到的接触转换为与显示在触摸屏212上的用户界面对象的交互,即实现人机交互,显示在触摸屏212上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路205,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路205接收并发送RF信号,RF信号也称为电磁信号,RF电路205将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路205可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路206,主要用于从外设接口203接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器211。
扬声器211,用于将手机通过RF电路205从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片208,用于为CPU202、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的终端设备的帧显示处理装置及终端设备可执行本申请任意实施例所提供的终端设备的帧显示处理方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的终端设备的帧显示处理方法。
本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种帧显示处理方法,该方法包括:
当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差;
如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录;
设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,在获取当前系统时间,并进行打印记录之后,还包括:
依据所述当前系统时间和所述绘制时间差确定所述当前帧的绘制时间;
相应的,设置所述当前绘制帧的绘制信息包括:
设置所述当前绘制帧的绘制时间。
在一个可能的实施例中,所述设置所述当前绘制帧的绘制信息,执行帧回调函数包括:
判断是否存在帧时间回溯,如果存在,则在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,如果不存在帧时间回溯,则在当前时钟信号设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,如果所述绘制时间差不满足预设跳帧条件,则设置所述当前绘制帧的绘制信息,执行帧回调函数。
在一个可能的实施例中,在检测到帧回调函数指令之前,还包括:
执行帧控制器、帧显示事件接收器、帧渲染器以及帧回调队列的初始化。
在一个可能的实施例中,所述如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间包括:
如果所述绘制时间差大于一个时钟周期,则获取当前系统时间。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的帧显示处理方法操作,还可以执行本申请任意实施例所提供的帧显示处理方法中的相关操作。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (9)

1.帧显示处理方法,其特征在于,包括:
当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差;
如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录;
设置所述当前绘制帧的绘制信息,执行帧回调函数;
其中,在所述获取当前系统时间,并进行打印记录之后,还包括:
依据所述当前系统时间和所述绘制时间差确定所述当前绘制帧的绘制时间;
相应的,设置所述当前绘制帧的绘制信息包括:
设置所述当前绘制帧的绘制时间。
2.根据权利要求1所述的方法,其特征在于,所述设置所述当前绘制帧的绘制信息,执行帧回调函数包括:
判断是否存在帧时间回溯,如果存在,则在下一个时钟信号来临时,设置所述当前绘制帧的绘制信息,执行帧回调函数。
3.根据权利要求2所述的方法,其特征在于,如果不存在帧时间回溯,则在当前时钟信号设置所述当前绘制帧的绘制信息,执行帧回调函数。
4.根据权利要求1-3中任一项所述的方法,其特征在于,如果所述绘制时间差不满足预设跳帧条件,则设置所述当前绘制帧的绘制信息,执行帧回调函数。
5.根据权利要求4所述的方法,其特征在于,在检测到帧回调函数指令之前,还包括:
执行帧控制器、帧显示事件接收器、帧渲染器以及帧回调队列的初始化。
6.根据权利要求4所述的方法,其特征在于,所述如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间包括:
如果所述绘制时间差大于一个时钟周期,则获取当前系统时间。
7.帧显示处理装置,其特征在于,包括:
时间差确定模块,用于当检测到帧回调函数指令时,计算当前绘制帧和相邻绘制帧的绘制时间差;
系统时间处理模块,用于如果所述绘制时间差满足预设跳帧条件,则获取当前系统时间,并进行打印记录;
帧信息设置模块,用于设置所述当前绘制帧的绘制信息,执行帧回调函数;
其中,所述装置还包括帧调整模块,用于在获取当前系统时间,并进行打印记录之后,依据所述当前系统时间和所述绘制时间差确定所述当前绘制帧的绘制时间;
所述帧信息设置模块具体用于:设置所述当前绘制帧的绘制时间。
8.一种终端设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的帧显示处理方法。
9.一种包含终端设备可执行指令的存储介质,其特征在于,所述终端设备可执行指令在由终端设备处理器执行时用于执行如权利要求1-6中任一项所述的帧显示处理方法。
CN201910008078.0A 2019-01-04 2019-01-04 帧显示处理方法、装置、终端设备及存储介质 Active CN109753262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910008078.0A CN109753262B (zh) 2019-01-04 2019-01-04 帧显示处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910008078.0A CN109753262B (zh) 2019-01-04 2019-01-04 帧显示处理方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN109753262A CN109753262A (zh) 2019-05-14
CN109753262B true CN109753262B (zh) 2022-06-28

Family

ID=66405364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910008078.0A Active CN109753262B (zh) 2019-01-04 2019-01-04 帧显示处理方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN109753262B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880602B (zh) * 2020-08-03 2022-03-01 北京小米移动软件有限公司 掉帧检测方法和装置
CN113553015B (zh) * 2020-10-22 2022-05-31 华为技术有限公司 一种显示方法及电子设备
CN117971087A (zh) * 2022-10-26 2024-05-03 荣耀终端有限公司 数据处理方法和相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139636A (zh) * 2011-12-05 2013-06-05 优视科技有限公司 流媒体数据处理方法及装置、流媒体数据再现设备
CN106802935A (zh) * 2016-12-29 2017-06-06 腾讯科技(深圳)有限公司 一种页面流畅度的测试方法和装置
CN108228358A (zh) * 2017-12-06 2018-06-29 广东欧珀移动通信有限公司 修正垂直同步信号的方法、装置、移动终端以及存储介质
CN108512695A (zh) * 2018-03-12 2018-09-07 腾讯音乐娱乐科技(深圳)有限公司 监控应用卡顿的方法及装置
CN108960216A (zh) * 2018-09-21 2018-12-07 浙江中正智能科技有限公司 一种动态人脸检测和识别方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120274856A1 (en) * 2011-04-27 2012-11-01 Purushotam Kumar Frame List Processing for Multiple Video Channels

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139636A (zh) * 2011-12-05 2013-06-05 优视科技有限公司 流媒体数据处理方法及装置、流媒体数据再现设备
CN106802935A (zh) * 2016-12-29 2017-06-06 腾讯科技(深圳)有限公司 一种页面流畅度的测试方法和装置
CN108228358A (zh) * 2017-12-06 2018-06-29 广东欧珀移动通信有限公司 修正垂直同步信号的方法、装置、移动终端以及存储介质
CN108512695A (zh) * 2018-03-12 2018-09-07 腾讯音乐娱乐科技(深圳)有限公司 监控应用卡顿的方法及装置
CN108960216A (zh) * 2018-09-21 2018-12-07 浙江中正智能科技有限公司 一种动态人脸检测和识别方法

Also Published As

Publication number Publication date
CN109753262A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
US20220053068A1 (en) Methods, apparatuses and computer storage media for applet state synchronization
US9961393B2 (en) Method and device for playing multimedia file
CN108228358B (zh) 修正垂直同步信号的方法、装置、移动终端以及存储介质
CN109157839B (zh) 帧率调控方法、装置、存储介质及终端
CN109753262B (zh) 帧显示处理方法、装置、终端设备及存储介质
CN111866433B (zh) 视频源切换方法、播放方法、装置、设备和存储介质
CN108702412B (zh) 一种显示方法、终端及计算机可读存储介质
CN109460364B (zh) 应用程序检测方法、装置、存储介质及移动终端
EP3584694A1 (en) Method and apparatus for controlling image drawing of mobile terminal, medium, electronic device
KR102043641B1 (ko) 통신 기능 처리 방법 및 이를 지원하는 전자 장치
CN113613064B (zh) 视频处理方法、装置、存储介质及终端
CN112437318A (zh) 一种内容显示方法、装置、系统及存储介质
CN104519051A (zh) 一种多媒体数据共享方法及终端
US9948732B2 (en) Method for providing status messaging service in electronic device and the electronic device thereof
KR20220124797A (ko) 자막 정보 표시 방법 및 장치, 전자 디바이스 및 컴퓨터 판독 가능 매체
CN108933968B (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN111713176B (zh) 一种数据传输方法及终端
EP3979059A1 (en) Standalone program run method, apparatus, device, and storage medium
CN110178111B (zh) 一种终端的图像处理方法及装置
US9757651B2 (en) Electronic device and method of processing user input by electronic device
CN108833033B (zh) 射频校准参数的确定方法、装置、存储介质及移动终端
US11095939B2 (en) Image display device and system thereof
US20170013118A1 (en) Electronic device and notification method thereof
CN112637409B (zh) 内容输出方法、装置和电子设备
KR102547320B1 (ko) 전자 장치 및 전자 장치의 제어 방법

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