界面的刷新方法及终端转让专利

申请号 : CN201780009424.6

文献号 : CN108605158B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姚鑫殷昉

申请人 : 华为技术有限公司

摘要 :

本申请提供了一种界面的刷新方法及终端,其中,在第一刷新周期的第一时刻,判断出在第二刷新周期待显示的一帧界面未绘制完成,说明在第二刷新周期要显示的界面仍会为第一刷新周期显示的界面,此时,会出现前后两个刷新周期显示同样的界面的情况,即显示卡顿的问题。在此种情况下,将依据沿用户滑动方向移动后的第一界面,生成预测界面,将该预测界面作为在第二刷新周期显示的界面,可以保证前后两个刷新周期显示的界面是按顺序变化的,进而解决显示卡顿的问题。

权利要求 :

1.一种界面的刷新方法,其特征在于,包括:

在第一刷新周期内的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成;其中,所述第二刷新周期为所述第一刷新周期的下一刷新周期,所述在第一刷新周期显示的一帧界面为第一界面;

若判断出所述在第二刷新周期待显示的一帧界面未绘制完成,则依据用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离;

将所述第一界面按照所述方向移动所述距离,获得移动后的界面和第一区域;其中,所述第一区域为所述第一界面移动后空余出的区域;

对所述第一界面中的第二区域的图像进行模糊处理,得到所述第一区域的图像;其中,所述第二区域在所述第一界面与第一区域相邻侧截取,且与所述第一区域大小相同;

将所述移动后的界面的图像与所述第一区域的图像进行组合,得到预测界面;

在所述第二刷新周期的起始时刻,显示所述预测界面。

2.根据权利要求1所述的方法,其特征在于,所述对所述第一界面中的第二区域的图像进行模糊处理,得到所述第一区域的图像,包括:将所述第二区域的图像填充到所述第一区域;

以所述第一区域中、与所述第二区域的相邻的一侧为基准,按照预设衰减宽度,对所述第一区域内的填充的图像的像素采用预设衰减系数进行衰减,直至所述第一区域的填充的图像的像素衰减完成,得到所述第一区域的图像。

3.根据权利要求1所述的方法,其特征在于,所述依据用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离,包括:依据所述第一刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第一滑动速度和第一滑动时间;其中,第三刷新周期为第一刷新周期的前一刷新周期;

依据所述第三刷新周期中用户与触摸屏接触的位置信息和第四刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第二滑动速度和第二滑动时间;其中,所述第四刷新周期为所述第三刷新周期的前一刷新周期;

采用第一预设公式计算所述第一滑动速度、所述第二滑动速度和所述第一滑动时间,得到用户在第二刷新周期的预测滑动速度;

采用第二预设公式计算所述用户第一刷新周期中用户与触摸屏接触的位置信息、所述用户在第二刷新周期的预测滑动速度、所述第一滑动时间和所述第二滑动时间,计算得到第二刷新周期中用户与触摸屏的接触点的坐标点;

依据所述第二刷新周期中用户与触摸屏的接触点的坐标点和所述用户第一刷新周期中用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离。

4.根据权利要求1所述的方法,其特征在于,所述判断在第二刷新周期待显示的一帧界面是否绘制完成,包括:检测所述在第二刷新周期待显示的一帧界面对应的缓冲器的状态;

判断所述缓冲器的状态是否为绘制完成的状态;

其中,若所述缓冲器的状态不是绘制完成的状态,则判断出在第二刷新周期待显示的一帧界面未绘制完成。

5.一种终端,其特征在于,包括用于进行人机交互的触摸屏,还包括:

存储器,用于存储指令;

处理器,用于通过运行所述存储器中的程序,实现以下功能:

在第一刷新周期内的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成;其中,所述第二刷新周期为所述第一刷新周期的下一刷新周期,所述在第一刷新周期显示的一帧界面为第一界面;若判断出所述在第二刷新周期待显示的一帧界面未绘制完成,则依据用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离;将所述第一界面按照所述方向移动所述距离,获得移动后的界面和第一区域;其中,所述第一区域为所述第一界面移动后空余出的区域;对所述第一界面中的第二区域的图像进行模糊处理,得到所述第一区域的图像;其中,所述第二区域在所述第一界面与第一区域相邻侧截取,且与所述第一区域大小相同;将所述移动后的界面的图像与所述第一区域的图像进行组合,得到预测界面;在所述第二刷新周期的起始时刻,控制所述触摸屏显示所述预测界面。

6.根据权利要求5所述的终端,其特征在于,所述处理器执行所述对所述第一界面中的第二区域的图像进行模糊处理,得到所述第一区域的图像时,具体用于:将所述第二区域的图像填充到所述第一区域;以所述第一区域中、与所述第二区域的相邻的一侧为基准,按照预设衰减宽度,对所述第一区域内的填充的图像的像素采用预设衰减系数进行衰减,直至所述第一区域的填充的图像的像素衰减完成,得到所述第一区域的图像。

7.根据权利要求5所述的终端,其特征在于,所述处理器执行依据用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离时,具体用于:依据所述第一刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第一滑动速度和第一滑动时间;其中,第三刷新周期为第一刷新周期的前一刷新周期;

依据所述第三刷新周期中用户与触摸屏接触的位置信息和第四刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第二滑动速度和第二滑动时间;其中,所述第四刷新周期为所述第三刷新周期的前一刷新周期;

采用第一预设公式计算所述第一滑动速度、所述第二滑动速度和所述第一滑动时间,得到用户在第二刷新周期的预测滑动速度;

采用第二预设公式计算所述用户第一刷新周期中用户与触摸屏接触的位置信息、所述用户在第二刷新周期的预测滑动速度、所述第一滑动时间和所述第二滑动时间,计算得到第二刷新周期中用户与触摸屏的接触点的坐标点;

依据所述第二刷新周期中用户与触摸屏的接触点的坐标点和所述用户第一刷新周期中用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离。

8.根据权利要求5所述的终端,其特征在于,所述处理器执行判断在第二刷新周期待显示的一帧界面是否绘制完成时,具体用于:检测所述在第二刷新周期待显示的一帧界面对应的缓冲器的状态;判断所述缓冲器的状态是否为绘制完成的状态;

其中,若所述缓冲器的状态不是绘制完成的状态,则判断出在第二刷新周期待显示的一帧界面未绘制完成。

说明书 :

界面的刷新方法及终端

[0001] 本申请要求于2016年11月8日提交中国专利局、申请号为201610980786.7、发明名称为“一种改善显示卡顿的方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002] 本申请涉及触屏设备技术领域,更具体地说,涉及一种触屏设备的界面刷新技术。

背景技术

[0003] 随着触屏设备的普及,在触摸屏上执行滑动操作成为人机交互的主要方式,在滑动操作的过程中,触屏设备的界面刷新的流畅性是影响用户体验的关键因素。
[0004] 具体的,界面的刷新是一个周期性的动作,一个完整的界面刷新的过程需要经过界面布局、界面绘制以及界面显示等步骤才能最终呈现在用户眼前;并且,每次的刷新过程所包含的这些步骤都需要在一个刷新周期内完成,才能带来连续、流畅的体验。
[0005] 但是,由于系统繁忙、界面复杂等各种原因,不能完全保证刷新过程所包含的每一步骤都按时完成,导致界面的一次刷新的时间超过刷新周期,这时就会出现显示卡顿的问题。

发明内容

[0006] 有鉴于此,本申请提供一种界面的刷新方法及终端,以解决现有技术中进行界面刷新时存在的显示卡顿的问题。
[0007] 为了实现上述目的,现提出的方案如下:
[0008] 本申请的第一方面提供了一种界面的刷新方法,包括如下步骤:
[0009] 在第一刷新周期的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成;其中,所述第二刷新周期为所述第一刷新周期的下一刷新周期,所述在第一刷新周期显示的一帧界面为第一界面。
[0010] 若判断出所述在第二刷新周期待显示的一帧界面未绘制完成,则依据沿用户滑动方向移动后的第一界面,生成预测界面。
[0011] 在所述第二刷新周期的起始时刻,显示所述预测界面。
[0012] 从上述过程可以看出:在第一刷新周期的第一时刻,判断出在第二刷新周期待显示的一帧界面未绘制完成,说明在第二刷新周期要显示的界面仍会为第一刷新周期显示的界面,此时,会出现前后两个刷新周期显示同样的界面的情况,即显示卡顿的问题。在此种情况下,将依据沿用户滑动方向移动后的第一界面,生成预测界面,将该预测界面作为在第二刷新周期显示的界面,可以保证前后两个刷新周期显示的界面是按顺序变化的,进而解决显示卡顿的问题。
[0013] 本申请的第二方面公开了一种终端,包括:存储器,用于存储指令;处理器,用于通过运行所述存储器中的程序,实现以下功能:
[0014] 在第一刷新周期内的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成;若判断出所述在第二刷新周期待显示的一帧界面未绘制完成,则依据沿用户滑动方向移动后的第一界面,生成预测界面;在所述第二刷新周期的起始时刻,控制所述触摸屏显示所述预测界面;其中,所述第二刷新周期为所述第一刷新周期的下一刷新周期,所述在第一刷新周期显示的一帧界面为第一界面。
[0015] 在一个实现方式中,所述依据沿用户滑动方向移动后的第一界面,生成预测界面,包括:
[0016] 依据用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离;
[0017] 将所述第一界面按照所述方向移动所述距离,获得移动后的界面和第一区域;其中,所述第一区域为所述第一界面移动后空余出的区域。
[0018] 对所述第一界面中的第二区域的图像进行模糊处理,得到所述第一区域的图像;其中,所述第二区域在所述第一界面与第一区域相邻侧截取,且与所述第一区域大小相同。
[0019] 将所述移动后的界面的图像与所述第一区域的图像进行组合,得到所述预测界面。
[0020] 在一个实现方式中,所述对所述第一界面中的第二区域的图像进行模糊处理,得到所述第一区域的图像,包括:
[0021] 将所述第二区域的图像填充到所述第一区域。
[0022] 以所述第一区域中、与所述第二区域的相邻的一侧为基准,按照预设衰减宽度,对所述第一区域内的填充的图像的像素采用预设衰减系数进行衰减,直至所述第一区域的填充的图像的像素衰减完成,得到所述第一区域的图像。
[0023] 在一个实现方式中,所述依据用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离,包括:
[0024] 依据所述第一刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第一滑动速度和第一滑动时间;其中,第三刷新周期为第一刷新周期的前一刷新周期。
[0025] 依据所述第三刷新周期中用户与触摸屏接触的位置信息和第四刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第二滑动速度和第二滑动时间;其中,所述第四刷新周期为所述第三刷新周期的前一刷新周期。
[0026] 采用第一预设公式计算所述第一滑动速度、所述第二滑动速度和所述第一滑动时间,得到用户在第二刷新周期的预测滑动速度。
[0027] 采用第二预设公式计算所述用户第一刷新周期中用户与触摸屏接触的位置信息、所述用户在第二刷新周期的预测滑动速度、所述第一滑动时间和所述第二滑动时间,计算得到第二刷新周期中用户与触摸屏的接触点的坐标点。
[0028] 依据所述第二刷新周期中用户与触摸屏的接触点的坐标点和所述用户第一刷新周期中用户与触摸屏接触的位置信息,计算得到所述第一界面移动的方向和距离。
[0029] 在一个实现方式中,所述判断判断在第二刷新周期待显示的一帧界面是否绘制完成是否绘制完成,包括:
[0030] 检测所述在第二刷新周期待显示的一帧界面对应的缓冲器的状态。
[0031] 判断所述缓冲器的状态是否为绘制完成的状态。
[0032] 其中,若所述缓冲器的状态不是绘制完成的状态,则判断出在第二刷新周期待显示的一帧界面未绘制完成。

附图说明

[0033] 图1为现有技术中界面刷新过程的展示图;
[0034] 图2为本申请实施例公开的界面的刷新方法的流程图;
[0035] 图3(a)为本申请实施例公开的计算得到在第一刷新周期显示的一帧界面移动的方向和距离的方法的流程图;
[0036] 图3(b)为本申请实施例公开的预测界面的方式的展示图;
[0037] 图4为本申请实施例公开的两帧界面的展示图;
[0038] 图5为本申请实施例公开的一种终端的结构示意图。

具体实施方式

[0039] 单buffer技术,是指每一帧界面的刷新过程要使用同一个缓冲器,即每一个刷新周期内的界面布局、界面绘制以及界面显示等步骤都是在同一个缓冲器中完成。具体的,在前一帧界面的界面布局、界面绘制以及界面显示等步骤在缓冲器中完成之后,该缓冲器释放,才可以用于后一帧界面的界面布局、界面绘制以及界面显示等步骤的过程。但是,如果某一帧界面的界面布局或者界面绘制的处理时间过长,会导致该帧界面的刷新时间超过刷新周期,这样,就会出现显示卡顿的问题。
[0040] 多buffer技术,是指界面的刷新过程可以使用多个(一般可以是三个)缓冲器。具体的,前一帧的界面还未显示完成前,可采用新的缓冲器同步执行后一帧界面的界面布局和界面绘制的工作。这样,在前一帧界面显示完成后,后一帧界面已经绘制完成,可以直接显示。但是,当某一帧界面的界面布局或界面绘制的处理时间过长,也会使得在该帧界面的刷新周期到来之时,界面没有绘制完成,那就没有界面可以显示,仍然会出现显示卡顿问题。例如:如图1所示,在第一刷新周期显示的界面为第一帧界面A,在A显示的过程中,完成了第二刷新周期要显示的第二帧界面B的界面布局工作,但是界面B的界面绘制的时间过长,导致第一刷新周期的结束时刻,界面B还未绘制完成,因此,在第二刷新周期显示的界面还是第一帧界面A,出现了界面卡顿。在第二刷新周期的结束时刻,界面B的绘制以及第三帧界面C的界面布局都完成;第三刷新周期的结束时刻,界面C的绘制以及第四帧界面A的界面布局和界面绘制也都完成,因此,在第三刷新周期可以显示界面B,第四刷新周期可以显示界面C,界面刷新过程恢复流畅。
[0041] 基于单buffer技术和多buffer技术执行界面刷新过程中,均存在由于界面布局或界面绘制的时间长导致出现显示卡顿的问题,本申请实施例提供了一种界面的刷新方法。
[0042] 其中,本申请实施例提供的一种界面的刷新方法,参见图2,包括步骤:
[0043] S201、在第一刷新周期内的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成。
[0044] 其中,本步骤中提及的第一刷新周期指代界面的刷新过程中的任意一个刷新周期,第二刷新周期为第一刷新周期的下一刷新周期。具体的,用户在触屏设备的触摸屏上进行滑动操作,针对用户的一次滑动操作,触屏设备的界面进行刷新过程。需要说明的是,界面的刷新过程是周期性进行的,并且,要依据触屏设备的刷新率,计算得到对应用户的一次滑动操作,需要进行界面刷新的次数和界面的一个刷新周期的时间。例如:刷新率为60Hz,如果滑动操作的时间为1秒钟,那需要进行60次界面刷新,且一次界面的刷新周期的时间为1000ms/60=16.7ms,因此,在16.7ms的刷新周期内需要进行一帧界面的界面布局、界面绘制和界面显示等步骤,可以保证界面刷新的流畅性。
[0045] 还需要说明的是,本步骤中提及的第一时刻为第一刷新周期的结束时刻之前的某一时刻,该时刻与结束时刻之间的时间间隔可根据触屏设备的运算能力设置,例如:1ms的时刻。
[0046] 并且,用户在触屏设备的触摸屏上进行滑动操作,从手指开始接触到触摸屏开始,到手指离开触摸屏结束,记录手指与触摸屏的接触点的坐标点和该坐标点的产生时间,将坐标点和坐标点的产生时间可作为用户与触摸屏接触的位置信息。
[0047] 其中,在单buffer技术中,在记录几个坐标点之后,在缓冲器中进行在初始刷新周期显示的一帧界面的界面布局及界面绘制工作,在初始刷新周期的起始时刻,将绘制成的界面显示,并释放缓冲器;在初始刷新周期的时间内,使用缓冲器进行在下一刷新周期显示的一帧界面的界面布局和界面绘制工作,依次顺序进行。在多buffer技术中,在记录几个坐标点之后,在一个缓冲器中进行在初始刷新周期显示的一帧界面的界面布局及界面绘制工作,在初始刷新周期的起始时刻,将绘制成的界面显示;与此同时,在另一个缓冲器中进行下一刷新周期显示的一帧界面的界面布局和界面绘制工作,在该刷新周期的起始时间进该帧界面的显示,同样依次顺序进行。
[0048] 需要说明的是,利用单buffer技术和多buffer技术进行界面刷新的过程中,在前一个刷新周期(称为第一刷新周期)的结束时刻前的某一时刻,判断在下一刷新周期(称为第二刷新周期)显示的一帧界面是否绘制完成,可以获知第二刷新周期的起始时刻,是否有界面可以显示。
[0049] 还需要说明的是,执行判断在第二刷新周期待显示的一帧界面是否绘制完成这一步骤的时刻,除了是第一刷新周期内的第一时刻以外,还可以是:第二刷新周期的起始时刻之前的任意时刻,即显示在第二刷新周期待显示的一帧界面的时刻之前的任意时刻,例如:第一刷新周期的前一刷新周期内的任意时刻。
[0050] 可选地,本申请的另一实施例中,步骤S201的实现过程可以具体包括:
[0051] 检测第二刷新周期待显示的一帧界面对应的缓冲器的状态。
[0052] 判断缓冲器的状态是否为绘制完成的状态。
[0053] 其中,无论单buffer技术,还是多buffer技术,界面的刷新过程中,若在某一刷新周期显示的一帧界面已经绘制完成,那需要将该帧界面中包含的各个像素点的像素值保存在缓冲器中,此时,缓冲器的状态为绘制完成的状态。当然,若在某一刷新周期显示的一帧界面还未绘制完成,那保存该帧界面的像素值的缓冲器的状态会是绘制未开始的状态或者绘制未完成的状态。因此,检测第二刷新周期待显示的一帧界面对应的缓冲器的状态,可以获知在第二刷新周期显示的一帧界面是否绘制完成。
[0054] 还需要说明的是,若步骤S201的判断结果是:判断出在第二刷新周期待显示的一帧界面绘制完成,则可执行步骤S202,在第二刷新周期的起始时刻,显示绘制完成的这一帧界面。若步骤S201的判断结果是:判断出在第二刷新周期待显示的一帧界面未绘制完成,则可执行步骤S203。
[0055] S203、依据用户与触摸屏接触的位置信息,计算得到在第一刷新周期显示的一帧界面移动的方向D和距离L。
[0056] 需要说明的是,若在第二刷新周期待显示的一帧界面未绘制完成,说明在第二刷新周期要显示的界面仍会为第一刷新周期显示的界面,此时,会出现前后两个刷新周期显示同样的界面的情况,即显示卡顿的问题。
[0057] 因此,获取能够反映用户的滑动操作的方向和在一个刷新周期中滑动的距离的用户与触摸屏接触的位置信息,并依据该位置信息计算得到在第一刷新周期显示的一帧界面要移动的方向和要移动的距离。其中,第一刷新周期显示的一帧界面也可记为第一界面。
[0058] 可选地,本申请的另一实施例中,参见图3(a),步骤S203的实现过程可以具体包括:
[0059] S2031、获取第一刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息。
[0060] 需要说明的是,结合图3(b),第三刷新周期为第一刷新周期的前一刷新周期。并且,用户与触摸屏接触的位置信息包括:用户与触摸屏的接触点的坐标点和该坐标点的产生时间,因此,本步骤具体为:分别获取在第一刷新周期中用户与触摸屏的接触点的坐标点P1和该坐标点的产生时间t1,以及在第三刷新周期中用户与触摸屏的接触点的坐标点P2和该坐标点的产生时间t2。
[0061] S2032、依据第一刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第一滑动速度V1和第一滑动时间T1。
[0062] 具体的,在第一刷新周期中用户与触摸屏的接触点的坐标点P1和在第三刷新周期中用户与触摸屏的接触点的坐标点P2的距离,可代表用户在一个刷新周期滑动的距离,例如:参见图3(b),坐标点P1在第一刷新周期的起始时刻采集得到,坐标点P2在第三刷新周期的起始时刻采集得到,坐标点P1和坐标点P2之间的距离,刚好是在第三刷新周期用户滑动的距离。并且,坐标点P1的产生时间位于第一刷新周期,坐标点P2的产生时间位于第三刷新周期,两者之间的时间差基本上等于用户在一个刷新周期的滑动时间,同样参见图3(b),坐标点P1的产生时间和坐标点P2的产生时间的差值正好是用户在一个刷新周期滑动的时间。基于此,第一滑动时间T1=t1-t2,用户的第一滑动速度V1=(P1-P2)/(t1-t2)。
[0063] S2033、获取第四刷新周期中用户与触摸屏接触的位置信息。
[0064] 其中,第四刷新周期为第三刷新周期的前一刷新周期;并且,第四刷新周期中用户与触摸屏接触的位置信息也包括:在第四刷新周期中用户与触摸屏的接触点的坐标点P3和该坐标点的产生时间。
[0065] 还需要说明的是,本实施例中提及的第一、第二、第三以及第四并不代表顺序。
[0066] S2034、依据第四刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第二滑动速度V2和第二滑动时间T2。
[0067] 同样的,参考V1和T1的计算方式,计算得到第二滑动速度V2和第二滑动时间T2。
[0068] S2035、依据公式V=V1+(V1-V2)/T1,计算得到用户在第二刷新周期的预测滑动速度V。
[0069] 需要说明的是,用户的滑动操作可以理解成匀加速移动过程,(V1-V2)/T1即为用户在第一刷新周期的滑动加速度,因此,在用户在第一刷新周期的滑动速度的基础上加上滑动加速度,即可作为用户在第二刷新周期的预测滑动速度V。
[0070] S2036、依据公式P4=P1+V×(T1+T2)/2,计算得到第二刷新周期中用户与触摸屏的接触点的坐标点P4。
[0071] 具体的,用户在第二刷新周期滑动的时间用(T1+T2)/2来计算得到,因此,用户在第二刷新周期的预测滑动速度和用户在第二刷新周期滑动的时间的乘积,即为用户在第二刷新周期滑动的距离。并且,在第一刷新周期中用户与触摸屏的接触点的坐标点P1的基础上,加上用户在第二刷新周期滑动的距离,即为在第二刷新周期中用户与触摸屏的接触点的坐标点P4。
[0072] S2037、依据在第二刷新周期中用户与触摸屏的接触点的坐标点P4、和在第一刷新周期中用户与触摸屏的接触点的坐标点P1的距离,得到在第一刷新周期显示的一帧界面移动的方向和距离。
[0073] 需要说明的是,一般设置触摸屏的左上角的像素点为坐标原点计算,若用户像右滑动,则用户在触摸屏的坐标点的值增大,反之则减小。因此,计算P4与P1在水平方向上的差值,该差值即作为第一刷新周期显示的一帧界面移动的距离,该差值的正负则可代表用户的滑动方向,对应的,第一刷新周期显示的一帧界面移动的方向用户的滑动方向相反。
[0074] S204、将在第一刷新周期显示的一帧界面沿方向D移动距离L,获得移动后的界面和第一区域。
[0075] 为实现第一刷新周期和第二刷新周期显示的界面的差异性,且显示过程的顺畅性,将第一刷新周期显示的一帧界面按照步骤S203中计算得到的方向移动,且移动的距离为步骤S203中计算得到的距离。可参见图4,在第一刷新周期显示的一帧界面401,沿图中箭头指示的滑动方向移动,得到移动后的界面402和第一区域41,第一区域41可以理解为在第一刷新周期显示的一帧界面401移动后空余出的区域,即移动后的一帧界面未能覆盖整个触摸屏的区域。
[0076] 还需要说明的是,移动在第一刷新周期显示的一帧界面,在具体实现时,可以采用按照移动的方向和移动的距离,在第一刷新周期显示的一帧界面上截取一帧界面,作为移动后的界面。
[0077] S205、对在第一刷新周期显示的一帧界面中的第二区域的图像进行模糊处理,得到第一区域的图像。
[0078] 其中,同样参见图4,第二区域42由在第一刷新周期显示的一帧界面中与第一区域相邻的一侧截取,且与第一区域大小相同。需要说明的是,在第一刷新周期显示的一帧界面移动后,留下的第一区域没有图像,需要填充图像。由于第二区域为距离第一区域最近的区域,两个区域的图像内容较为接近,将第二区域进行模糊处理后,形成第一区域的图像,可以让第一区域的图像,以及在第一刷新周期显示的一帧界面移动后的界面的图像,拼接起来形成的图像,画面较为顺畅。
[0079] 可选地,本申请的另一实施例中,步骤S205的实现过程可以具体包括:
[0080] S2051、将第二区域的图像填充到第一区域。
[0081] S2052、以第一区域中、与第二区域的相邻的一侧为基准,按照预设衰减宽度,对第二区域内的填充的图像的像素采用预设衰减系数进行衰减,直至第一区域的填充的图像的像素衰减完成,得到第一区域的图像。
[0082] 需要说明的是,第一区域的填充图像由基本为m×n的像素点组成,m表示行,n表示列。衰减宽度用于填充图像位于被衰减的像素列之间的间隔多少个像素列,例如:在图像较宽时,每间隔4个像素列进行一次衰减,即第一个衰减的像素列和第二个衰减的像素列之间间隔4个像素列。衰减系数用于表明在每一行中,间隔一个衰减宽度的前后两个像素值之间的关系,例如:衰减系数为90%,即后一个像素的值衰减为前一个像素的值的90%。
[0083] 本步骤中,衰减宽度可按照第一区域的填充的图像的宽度进行设定,基本为第一区域的图像的宽度大,包含的像素列多,设定的衰减宽度大一些,反之则小一些。衰减系数可按照第一区域的填充的图像中包含的像素点的值的大小进行设定,也可以结合衰减宽度的值,只要能保证以设定后的衰减系数进行衰减后的图像是平滑过渡的,没有像素值的忽然变大和忽然变小即可。
[0084] 还需要说明的是,若按照预设衰减宽度,对第一区域内的填充的图像的像素采用预设衰减系数进行衰减过程中,第一区域内的填充的图像的最后一列像素是未衰减的像素,且和前一个被衰减的像素列之间的间隔的像素列的数量小于预设衰减宽度,那可以选择将最后一列像素不衰减,或者同样衰减均可以。
[0085] 还需要说明的是,步骤S205的实现过程除上述实施例公开的方式以外,还可以采用其他算法,只要该算法能够实现对第二区域的图像进行模糊处理的目的即可,此处不再一一说明。
[0086] S206、将移动后的界面的图像与第一区域的图像进行组合,得到预测界面。
[0087] 具体的,将在第一刷新周期显示的一帧界面移动后的界面的图像、以及步骤S207中得到的第一区域的图像拼接组合,形成的图像为预测界面。
[0088] 需要说明的是,若步骤S203的判断结果是:判断在第二刷新周期待显示的一帧界面未绘制完成,说明在第二刷新周期要显示的界面仍会为第一刷新周期显示的界面,此时,会出现前后两个刷新周期显示同样的界面的情况,即显示卡顿的问题。在此种情况下,执行步骤S205~S208,实际是完成将第一刷新周期显示的一帧界面沿着用户滑动方向移动,依据在第一刷新周期显示的一帧界面移动后的界面,生成预测界面的过程。将该预测界面作为在第二刷新周期显示的界面,可以保证前后两个刷新周期显示的界面是按顺序变化的,进而解决显示卡顿的问题。
[0089] 并且,还需要说明的是,步骤S203~S206是实现依据沿用户滑动方向移动后的在第一刷新周期显示的一帧界面,生成预测界面的一种实现方式。
[0090] S207、在第二刷新周期的起始时刻,显示预测界面。
[0091] 本申请另一实施例还公开了一种终端,该终端可以保证界面刷新的流畅性,具体的,该终端为一种触屏设备,包括可进行人机交互的触摸屏,如图5所示,该触屏设备还包括:
[0092] 存储器501,用于存储指令;
[0093] 处理器502,用于通过运行所述存储器中的程序,实现以下功能:
[0094] 在第一刷新周期内的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成;若判断出在第二刷新周期待显示的一帧界面未绘制完成,则依据沿用户滑动方向移动后的第一界面,生成预测界面;在第二刷新周期的起始时刻,控制触摸屏显示所述预测界面;其中,第二刷新周期为第一刷新周期的下一刷新周期,在第一刷新周期显示的一帧界面为第一界面。
[0095] 需要说明的是,本实施例中,用户在该终端的触摸屏上执行滑动操作后,处理器502运行存储器501中的程序,在第一刷新周期内的第一时刻,判断在第二刷新周期待显示的一帧界面是否绘制完成;若判断出在第二刷新周期待显示的一帧界面未绘制完成,则依据沿用户滑动方向移动后的第一界面,生成预测界面,可以保证在第一刷新周期和在第二刷新周期显示的界面是按顺序变化的,界面刷新的流畅性维持,解决显示卡顿的问题。
[0096] 可选地,本申请的另一实施例中,处理器502执行依据沿用户滑动方向移动后的第一界面,生成预测界面的步骤时,具体用于:
[0097] 依据用户与触摸屏接触的位置信息,计算得到第一界面移动的方向和距离;将第一界面按照移动方向移动距离,获得移动后的界面和第一区域;对第一界面中的第二区域的图像进行模糊处理,得到第一区域的图像;将移动后的界面的图像与第一区域的图像进行组合,得到预测界面;
[0098] 其中,第一区域为第一界面移动后空余出的区域,第二区域在第一界面与第一区域相邻侧截取,且与第一区域大小相同。
[0099] 本实施例中,处理器502的具体工作过程可参见对应图2的方法实施例中,步骤S203~S206的内容,此处不再赘述。
[0100] 可选地,本申请的另一实施例中,处理器502执行对第一界面中的第二区域的图像进行模糊处理,得到第一区域的图像时,具体用于:
[0101] 将第二区域的图像填充到第一区域;以第一区域中、与第二区域的相邻的一侧为基准,按照预设衰减宽度,对第一区域内的填充的图像的像素采用预设衰减系数进行衰减,直至第一区域的填充的图像的像素衰减完成,得到第一区域的图像。
[0102] 其中,本实施例中,处理器502的具体工作过程可参见对应图2的方法实施例中,步骤S205中的优选实施例的内容,此处不再赘述。
[0103] 可选地,本申请的另一实施例中,处理器501执行依据用户与触摸屏接触的位置信息,计算得到第一界面移动的方向和距离的步骤时,具体用于:
[0104] 依据第一刷新周期中用户与触摸屏接触的位置信息和第三刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第一滑动速度和第一滑动时间;
[0105] 依据第三刷新周期中用户与触摸屏接触的位置信息和第四刷新周期中用户与触摸屏接触的位置信息,计算得到用户的第二滑动速度和第二滑动时间;
[0106] 采用第一预设公式计算第一滑动速度、第二滑动速度和第一滑动时间,得到用户在第二刷新周期的预测滑动速度;
[0107] 采用第二预设公式计算用户第一刷新周期中用户与触摸屏接触的位置信息、用户在第二刷新周期的预测滑动速度、第一滑动时间和第二滑动时间,计算得到第二刷新周期中用户与触摸屏的接触点的坐标点;
[0108] 依据第二刷新周期中用户与触摸屏的接触点的坐标点和用户第一刷新周期中用户与触摸屏接触的位置信息,计算得到第一界面移动的方向和距离;
[0109] 其中,第三刷新周期为第一刷新周期的前一刷新周期,第四刷新周期为第三刷新周期的前一刷新周期。
[0110] 其中,本实施例中,处理器502的具体工作过程可参见对应图3(a)的方法实施例中的内容,此处不再赘述。
[0111] 可选地,本申请的另一实施例中,处理器502执行判断判断在第二刷新周期待显示的一帧界面是否绘制完成是否绘制完成时,具体用于:
[0112] 检测所述在第二刷新周期待显示的一帧界面对应的缓冲器的状态;判断所述缓冲器的状态是否为绘制完成的状态;
[0113] 其中,若所述缓冲器的状态不是绘制完成的状态,则判断出在第二刷新周期待显示的一帧界面未绘制完成。
[0114] 其中,本实施例中,处理器502的具体工作过程可参见对应图2的方法实施例中,步骤S201中的优选实施例的内容,此处不再赘述。