修正垂直同步信号的方法、装置、移动终端以及存储介质制造方法及图纸

技术编号:18350030 阅读:22 留言:0更新日期:2018-07-01 22:58
本申请实施例公开了一种修正垂直同步信号的方法、装置、移动终端以及存储介质,涉及移动终端技术领域。该方法包括:当接收到屏幕刷新指令时,获取Choreographer回调开始时间和Vsync信号产生时间,计算Choreographer回调开始时间和Vsync信号产生时间之间的时间间隔,判断时间间隔是否大于时差阈值,若是,延迟至少一个Vsync周期后再请求Choreographer回调。本申请通过当判断Choreographer回调开始时间和Vsync信号产生时间没有对齐时,延迟至少一个周期后再请求Choreographer回调,能有效降低线程占锁时间,防止系统卡顿,提高系统其它线程的执行效率。

【技术实现步骤摘要】
修正垂直同步信号的方法、装置、移动终端以及存储介质
本申请涉及移动终端
,更具体地,涉及一种修正垂直同步信号的方法、装置、移动终端以及存储介质。
技术介绍
随着互联网技术的发展,越来越多的电子设备受到消费者的青睐,例如手机、平板电脑等。其中,在电子设备中,安卓(Android)系统是使用最为广泛的一种系统。现有的安卓系统在执行动画时,System_server的android.display线程(该线程主要用于处理系统动画)可能造成占锁时间过长,导致其他大量线程都处于在等锁阶段,导致系统运行缓慢。
技术实现思路
鉴于上述问题,本申请提出了一种修正垂直同步信号的方法、装置、移动终端以及存储介质,以有效降低线程占锁时间,防止系统卡顿,提高系统其它线程的执行效率。第一方面,本申请实施例提供了一种修正垂直同步信号的方法,所述方法包括:当接收到屏幕刷新指令时,获取Choreographer回调开始时间和Vsync信号产生时间;计算所述Choreographer回调开始时间和所述Vsync信号产生时间之间的时间间隔;判断所述时间间隔是否大于时差阈值;当所述时间间隔大于所述时差阈值时,延迟至少一个Vsync周期后再请求Choreographer回调。第二方面,本申请实施例提供了一种修正垂直同步信号的装置,所述装置包括:时间获取模块,用于当接收到屏幕刷新指令时,获取Choreographer回调开始时间和Vsync信号产生时间;时间间隔计算模块,用于计算所述Choreographer回调开始时间和所述Vsync信号产生时间之间的时间间隔;时间间隔判断模块,用于判断所述时间间隔是否大于时差阈值;延迟请求模块,用于当所述时间间隔大于所述时差阈值时,延迟至少一个Vsync周期后再请求Choreographer回调。第三方面,本申请实施例提供了一种移动终端,包括显示器、存储器以及处理器,所述显示器和所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述计算机可读取存储介质包括存储的程序,其中,在所述程序运行时执行上述方法。本申请提供的修正垂直同步信号的方法、装置、移动终端以及存储介质,当接收到屏幕刷新指令时,获取Choreographer回调开始时间和Vsync信号产生时间,计算Choreographer回调开始时间和Vsync信号产生时间之间的时间间隔,判断时间间隔是否大于时差阈值,当时间间隔大于时差阈值时,延迟至少一个Vsync周期后再请求Choreographer回调,从而通过当判断Choreographer回调开始时间和Vsync信号产生时间没有对齐时,延迟至少一个周期后再请求Choreographer回调,能有效降低线程占锁时间,防止系统卡顿,提高系统其它线程的执行效率。本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a示出了本申请实施例提供的Choreographer的回调时间跟Vsync信号对齐的示意图;图1b示出了本申请实施例提供的Choreographer的回调时间跟Vsync信号没有对齐的示意图;图2示出了本申请第一实施例提供的修正垂直同步信号的方法的流程示意图;图3示出了本申请第二实施例提供的修正垂直同步信号的方法的流程示意图;图4示出了本申请第二实施例提供的修正垂直同步信号的方法的步骤S250的流程示意图;图5示出了本申请第三实施例提供的修正垂直同步信号的方法的流程示意图;图6示出了本申请第四实施例提供的修正垂直同步信号的装置的结构框图;图7示出了本申请实施例提供的一种移动终端的结构示意图;图8示出了用于执行根据本申请实施例的修正垂直同步信号的方法的移动终端的框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。名词解释:Vsync信号:直译为垂直同步信号,在显示系统中,屏幕一旦需要刷新就会发送一个信号到软件系统中,通知软件当前屏幕内容需要刷新,软件系统需要绘制新的画面内容提供给显示屏。Choreographer:直译为编舞者,Android系统中编舞者的工作原理就是接收Vsync信号,然后去回调input(输入事件)、animation(动画事件)、traversal(页面绘图刷新),主要去完成绘图和动画相关工作,用于显示更新当前屏幕中的内容。专利技术人经过大量的研究发现,在System_server的android.display线程中(该线程主要用于处理系统动画),在正常系统流畅的情况下,Vsync信号一般是和Choreographer的回调执行对齐的,如图1a所示,其中,A竖线为实际Vsync信号的触发点,B区域为编舞者回调,但是如果第一帧动画耗时超过一个阈值时,就会导致第二帧执行的开始点跟Vsync信号的时间点无法对齐,这样就存在可能导致之后所有Choreographer的回调时间跟Vsync信号无法对齐,如图1b所示,可见在图1b中,每次编舞者回调都落后一段时间,这会导致每次回调耗时很长,由于该线程会占用系统中同步锁,导致其他大量线程都处在等锁阶段,导致系统运行缓慢。例如,在移动终端打开京东应用软件,搜索任意商品,然后按返回键返回上一页面时,可能会出现返回需要等待十秒左右的问题,其中,所述问题经过专利技术人大量的研究发现是Choreographer回调和Vsync信号没有对齐导致占锁造成的系统性能变慢,因此,需要做一套防呆机制来跳出这个恶性循环,以解决移动终端系统的卡顿问题和提升用户体验。针对上述问题,专利技术人提出了本申请实施例中的修正垂直同步信号的方法、装置、移动终端以及存储介质,当判断Choreographer回调开始时间和Vsync信号产生时间没有对齐时,延迟至少一个周期后再请求Choreographer回调,能有效降低该线程占锁时间,防止系统卡顿,提高系统其它线程的执行效率。下面将结合附图具体描述本申请的各实施例。第一实施例请参阅图2,图2示出了本申请第一实施例提供的修正垂直同步信号的方法的流程示意图。所述修正垂直同步信号的方法在判断Choreographer回调开始时间和Vsync信号产生时间没有对齐时,延迟至少一个周期后再请求Choreographer回调,以有效降低占锁时间,防止系统卡顿,提高系统其它线程的执行效率。在具体的实施例中,所述修正垂直同步信号的方法应用于如图6所示的修正垂直同步信号的装置200以及配置有修正垂直同步信号装置200的移动终端100(图7)。下面以手机为例,说明本实施例的具体流程,当然,可以理解的,本申请实施例所应用的移动终端并不仅限定为手机,也可以包括其他移动终端,如本文档来自技高网...
修正垂直同步信号的方法、装置、移动终端以及存储介质

【技术保护点】
1.一种修正垂直同步信号的方法,其特征在于,所述方法包括:当接收到屏幕刷新指令时,获取Choreographer回调开始时间和Vsync信号产生时间;计算所述Choreographer回调开始时间和所述Vsync信号产生时间之间的时间间隔;判断所述时间间隔是否大于时差阈值;当所述时间间隔大于所述时差阈值时,延迟至少一个Vsync周期后再请求Choreographer回调。

【技术特征摘要】
1.一种修正垂直同步信号的方法,其特征在于,所述方法包括:当接收到屏幕刷新指令时,获取Choreographer回调开始时间和Vsync信号产生时间;计算所述Choreographer回调开始时间和所述Vsync信号产生时间之间的时间间隔;判断所述时间间隔是否大于时差阈值;当所述时间间隔大于所述时差阈值时,延迟至少一个Vsync周期后再请求Choreographer回调。2.根据权利要求1所述的方法,其特征在于,所述当所述时间间隔大于所述时差阈值时,延迟至少一个Vsync周期后再请求Choreographer回调,包括:当所述时间间隔大于所述时差阈值时,获取所述时间间隔大于所述时差阈值的当前偏离次数;判断所述当前偏离次数是否大于偏离次数阈值;若是,延迟至少一个Vsync周期后再请求所述Choreographer回调。3.根据权利要求2所述的方法,其特征在于,所述当所述时间间隔大于所述时差阈值时,获取所述时间间隔大于所述时差阈值的当前偏离次数,包括:当所述时间间隔大于所述时差阈值时,获取所述时间间隔大于所述时差阈值的原始偏离次数;在所述原始偏离次数上叠加一次偏离次数,获得所述时间间隔大于所述时差阈值的当前偏离次数。4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:当所述时间间隔小于或等于所述时差阈值时,将所述原始偏离次数清零;正常请求所述Choreographer回调。5.根据权利要求2所述的方法,其特征在于,所述方法,还包括:当所...

【专利技术属性】
技术研发人员:刘畅
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1