同步显示方法及装置、电子设备及存储介质转让专利

申请号 : CN201810289965.5

文献号 : CN108710479B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 齐志强

申请人 : 中兴通讯股份有限公司

摘要 :

本发明实施例公开了一种同步显示方法及装置、电子设备及存储介质。本发明实施例提供的同步显示方法,包括:记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新。

权利要求 :

1.一种同步显示方法,其特征在于,包括:

记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;

基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;

若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新;

其中,所述若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新,包括以下之一:若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,屏蔽所述第一屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,屏蔽所述第二屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,屏蔽所述第一屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,屏蔽所述第二屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,同时屏蔽所述第一屏幕和所述第二屏幕在所述下一刷新周期的画面刷新。

2.根据权利要求1所述的方法,其特征在于,

所述基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差,包括:基于所述第一产生时间和所述第二产生时间,确定第一时差;

基于所述第一中断信号的第一实际产生周期及所述第二中断信号的第二实际产生周期,确定第二时差;

基于所述第一时差和所述第二时差,预测下一刷新周期的产生时间差。

3.根据权利要求2所述的方法,其特征在于,

所述基于所述第一中断信号的第一实际产生周期及所述第二中断信号的第二实际产生周期,确定第二时差,包括:基于所述第一实际产生周期的极值及所述第二实际产生周期的极值,确定所述第二时差。

4.根据权利要求3所述的方法,其特征在于,

所述基于所述第一实际产生周期的极值及所述第二实际产生周期的极值,确定所述第二时差,包括:计算所述第一实际产生周期的极大值与所述第二实际产生周期的极大值的时差,得到第一周期偏差;

计算所述第一实际产生周期的极小值与所述第二实际产生周期的极大值的时差,得到第二周期偏差;

计算所述第一实际产生周期的极大值与所述第二实际产生周期的极小值的时差,得到第三周期偏差;

计算所述第一实际产生周期的极小值与所述第二实际产生周期的极小值的时差,得到第四周期偏差;

从所述第一周期偏差、所述第二周期偏差、所述第三周期偏差及所述第四周期偏差中选择最大值作为所述第二时差。

5.根据权利要求3所述的方法,其特征在于,

所述基于所述第一实际产生周期的极值及所述第二实际产生周期的极值,确定所述第二时差,包括:确定第一计算值,其中,若所述第一实际产生周期的极大值的出现概率不小于所述第一实际产生周期的极小值的出现概率,则所述第一计算值为第一实际产生周期的极大值否则为所述第一实际产生周期的极小值;

确定第二计算值,其中,若所述第二实际产生周期的极大值的出现概率不小于所述第二实际产生周期的极小值的出现概率,则所述第二计算值为第二实际产生周期的极大值否则为所述第二实际产生周期的极小值;

基于所述第一计算值及所述第二计算值,计算所述第二时差。

6.根据权利要求2所述的方法,其特征在于,

所述基于所述第一中断信号的第一实际产生周期及所述第二中断信号的第二实际产生周期,确定第二时差,包括:确定所述第一实际产生周期的均值为第三计算值;确定所述第二实际产生周期的均值为第四计算值;或者,确定所述第一实际产生周期的中值为第三计算值;确定所述第二实际产生周期的中值为第四计算值;

基于所述第三计算值及所述第四计算值,计算所述第二时差。

7.根据权利要求1所述的方法,其特征在于,

所述屏蔽所述第一屏幕在所述下一刷新周期的画面刷新,包括:屏蔽所述第一屏幕的第一显示缓存区内第一显示数据在所述下一刷新周期的更新,所述第一显示缓存区内的所述第一显示数据用于供所述第一屏幕的画面刷新;

所述屏蔽所述第二屏幕在所述下一刷新周期的画面刷新,包括:屏蔽所述第二屏幕的第二显示缓存区内第二显示数据在所述下一刷新周期的更新,所述第二显示缓存区内的所述第二显示数据用于供所述第二屏幕的画面刷新。

8.根据权利要求1所述的方法,其特征在于,

所述记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间,包括:在当前记录时间窗内记录第n个所述第一中断信号的第一产生时间,并记录所述第二屏幕的第n个所述第二中断信号产生的第二产生时间;其中,所述第n个所述第一中断信号为所述第一屏幕的当前刷新周期的中断信号;所述第n个所述第二中断信号为所述第一屏幕的当前刷新周期的中断信号;n为正整数;其中,所述记录时间窗内包括:至少一个刷新周期;

所述基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差,包括:基于所述第n个所述第一中断信号的第一产生时间及所述第n个所述第二中断信号的第二产生时间,预测所述下一刷新周期的所述第一中断信号和所述第二中断信号的产生时间差。

9.根据权利要求8所述的方法,其特征在于,

所述记录第一屏幕的第一中断信号的第一产生时间,并记录第二屏幕的第二中断信号的第二产生时间,还包括:若所述产生时间差不小于时差阈值,在下一个记录时间窗内记录所述第一中断信号的第一产生时间,及在所述下一个记录时间窗内所述第二中断信号的第二产生时间。

10.根据权利要求1所述的方法,其特征在于,在若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新之后,所述方法还包括:在所述下一刷新周期,对齐所述第一中断信号及第二中断信号的产生时间。

11.一种同步显示装置,其特征在于,包括:

记录模块,用于记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;

预测模块,用于基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;

刷新模块,用于若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新;

其中,所述若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新,包括以下之一:若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,屏蔽所述第一屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,屏蔽所述第二屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,屏蔽所述第一屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,屏蔽所述第二屏幕在所述下一刷新周期的画面刷新;

若所述产生时间差不小于所述时差阈值,同时屏蔽所述第一屏幕和所述第二屏幕在所述下一刷新周期的画面刷新。

12.一种电子设备,包括:

第一屏幕,用于显示;

第二屏幕,用于显示;

存储器,用于信息存储;

处理器,分别与所述第一屏幕、所述第二屏幕及所述存储器连接,用于通过计算机程序的执行,实现权利要求1至10任一项提供的同步显示方法。

13.一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,能够实现权利要求1至10任一项提供的同步显示方法。

说明书 :

同步显示方法及装置、电子设备及存储介质

技术领域

[0001] 本发明涉及电子技术领域,尤其涉及一种同步显示方法及装置、电子设备及存储介质。

背景技术

[0002] 为了满足用户的不同需求,有的电子设备设置了多个显示屏。在一些场景下,多个显示屏幕需要同步显示,以扩大显示面积或进行关联内容显示。
[0003] 屏幕显示时,是基于图像帧进行的,例如,屏幕接收到基于晶振产生的中断信号(vsync)之后就刷新画面。不同的屏幕使用的晶振是不同的,若晶振的时间精度不同,或者虽然晶振的时间精度相同但是晶振的计时偏差不同,则可能导致不同屏幕之间接收到中断信号的时间差过大,进而导致一个屏幕刷新了,而另一个屏幕没有刷新,进而导致用户看到不同屏幕的画面撕裂的不同步的显示效果或者花屏的显示效果。

发明内容

[0004] 有鉴于此,本发明实施例期望提供一种同步显示方法及装置、电子设备及存储介质,至少部分解决上述问题。
[0005] 为达到上述目的,本发明的技术方案是这样实现的:
[0006] 第一方面,本发明实施例提供一种同步显示方法,包括:
[0007] 记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;
[0008] 基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;
[0009] 若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新。
[0010] 第二方面,本发明实施例提供一种同步显示装置,包括:
[0011] 记录模块,用于记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;
[0012] 预测模块,用于基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;
[0013] 刷新模块,用于若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新。
[0014] 第三方面,本发明实施例提供一种电子设备,包括:
[0015] 第一屏幕,用于显示;
[0016] 第二屏幕,用于显示;
[0017] 存储器,用于信息存储;
[0018] 处理器,分别与所述第一屏幕、所述第二屏幕及所述存储器连接,用于通过计算机程序的执行,实现前述一个或多个技术方案提供的同步显示方法。
[0019] 第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,能够实现前述一个或多个技术方案提供的同步显示方法。
[0020] 本发明实施例提供的同步显示方法及装置、电子设备及存储介质,会记录当前刷新周期内两个屏幕各自的中断信号的产生时间,并基于记录的产生时间差预测出下一个刷新周期内两个中断信号的产生时间差,若在下一个刷新周期内的产生时间差大于时间阈值,则自动屏蔽至少一个屏幕在下一刷新周期的画面刷新,避免两个屏幕刷新时间间隔太大导致的显示不同步,或者画面刷新的撕裂现象。在一些实施例中,下一刷新周期屏蔽至少一个屏幕显示后,下下刷新周期两个屏幕直接基于各自的中断信号恢复显示即可实现显示同步,这是因为由于屏幕刷新是周期性的,且两个中断信号是周期性产生的,若第y刷新周期的产生时间差过大,会导致较早产生的中断信号的下一次产生会与产生较晚的中断信号的本次产生的时间更接近,例如,屏蔽在第y刷新周期内产生较早的屏幕刷新,在第y+1刷新周期内照常刷新就会使得屏蔽刷新屏幕与未屏蔽刷新的屏幕第y刷新周期的屏幕刷新的时间间隔足够小,满足同步刷新,从而不会产生显示不同步的现象,从而确保了后续刷新周期内同步显示效果。在还有些实施例中,可以在屏蔽屏幕刷新时解决下一个刷新周期的显示不同步的问题,再通过至少一个中断信号的产生时间调整,使得在下下刷新周期两个中断信号产生时间差的缩小,实现后续刷新周期的同步,从而也提升了同步效果,且还可以减少两个中断信号在一个周期内的产生时间差达到时差阈值的频次。

附图说明

[0021] 图1为本发明实施例提供的第一种同步显示方法的流程示意图;
[0022] 图2为本发明实施例提供的第一种中断信号的实际产生周期的效果示意图;
[0023] 图3为本发明实施例提供的一种第一中断信号和第二中断信号的在时间轴上的比对示意图;
[0024] 图4为本发明实施例提供的预测下一个刷新周期中断信号的产生时间差的流程示意图;
[0025] 图5为本发明实施例提供的第二种中断信号的实际产生周期的效果示意图;
[0026] 图6为本发明实施例提供的同步显示装置的结构示意图;
[0027] 图7为本发明实施例提供的一种电子设备的结构示意图;
[0028] 图8为本发明实施例提供的一种双屏电子设备的结构示意图;
[0029] 图9为本发明实施例提供的第三种中断信号的实际产生周期的效果示意图;
[0030] 图10为本发明实施例提供的第四种中断信号的实际产生周期的效果示意图;
[0031] 图11为本发明实施例提供的第五种中断信号的实际产生周期的效果示意图;
[0032] 图12为本发明实施例提供的第六种中断信号的实际产生周期的效果示意图。

具体实施方式

[0033] 以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
[0034] 如图1所示,本实施例提供一种同步显示方法,包括:
[0035] 步骤S110:记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;
[0036] 步骤S120:基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;
[0037] 步骤S130:若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新。
[0038] 本实施例中提供的同步显示方法,可应用于具有多个显示屏的电子设备中,或者,连接有多个显示屏的电子设备中。例如,一个手机具有两个显示屏幕。当多个屏幕同步显示时,通过两两同步实现多个屏幕的同步。例如,进行4个屏幕的同步显示时,可以采用图1所示方法通过两两同步来实现4个屏幕的同步显示。图8显示的为一种双屏电子设备包括屏幕S1和屏幕S2。
[0039] 在本实施例中,电子设备首先会记录当前刷新周期内的两个屏幕的中断信号的产生时间。此处,第一屏幕的中断信号称之为第一中断信号,第一中断信号的产生时间称之为第一产生时间。第二屏幕的中断信号称之为第二中断信号,第二中断信号的产生时间称之为第二产生时间。中断信号为触发屏幕进行画面刷新的信号,所述第一中断信号用于触发第一屏幕进行画面刷新,所述第二中断信号用于触发第二屏幕进行画面刷新。当在收到中断信号之后,会从对应屏幕的缓存中读取显示数据,刷新屏幕的画面,从而显示切换。例如,依据显示数据刷新每一个像素的显示亮度和/或颜色,从而实现画面刷新。在本实施例中,屏幕收到两次中断信号的时间等于一个刷新周期。
[0040] 在本实施例中,第一屏幕和第二屏幕是需要同步显示的屏幕。所述第一屏幕和第二屏幕的刷新周期预定应该是一样的。例如,第一屏幕的刷新周期等于第二屏幕的刷新周期。但是实际的控制中,可能由于第一屏幕和第二屏幕连接的晶振的时间精度不一致,或者,时间精度一致但是误差不一致等,导致第一屏幕和第二屏幕的刷新周期的时长相等但是存在着刷新周期的偏差,例如,某一个刷新周期的时长短于或长于刷新周期的标准时长。又例如,两个屏幕用于触发中断信号的产生的晶振的时间偏差,从而导致两个屏幕的刷新周期的刷新时刻的未对齐的问题。图2所示为其中一个屏幕的实际的刷新周期。例如,一个刷新周期的标准时长为T,则实际上由于晶振的计时偏移会导致刷新周期的实际时长如图2所示,出现T,T‑t1,T+t1,以及T+t2等。
[0041] 在本实施例中的步骤S110中会记录第一产生时间和第二产生时间。第一产生时间和第二产生时间之间偏差,可以确定出当前两个屏幕的刷新时刻的差异,由于预定两个屏幕的刷新周期是一样的,这种时间差会影响两个屏幕在下一个刷新周期的时间差,例如,会顺延到下一个刷新周期;故在本实施例中会基于第一时间差和第二时间差预测下一个刷新周期内两个屏幕的中断信号产生的时间差。若预测的下一个刷新周期内的产生时间差过大,例如时间差达到时差阈值时就可以被用户的眼睛所感知到显示切换的不同步,则若第一屏幕和第二屏幕还是按照各自接收到的中断信号进行刷新,则可能会使得用户看到两个屏幕的画面刷新的不同步问题。有鉴于此,在本实施例中,为了避免用户看到这种屏幕刷新的不同步的问题,则在下一个刷新周期,至少有一个屏幕的画面不刷新,则在下一个刷新周期,仅有一个屏幕刷新画面,或者,两个屏幕都不刷新,从而避免了两个屏幕的刷新时刻的时差过大导致的刷新不同步。
[0042] 与此同时,由于两个屏幕的画面切换(即刷新)是基于刷新周期进行的,而屏幕刷新的刷新周期也是根据人眼可感知不到的。同样地,若人眼可以感知到两个屏幕的刷新不同步,则表明两个屏幕的第一中断信号和第二中断信号的时间差足够大,且呈现如下特点:
[0043] 一个屏幕的当前刷新周期的中断信号与另一个屏幕在下一个刷新周期的中断信号的时间差,会小于这两个屏幕在当前刷新周期的中断信号的时间差。
[0044] 在图3中,竖线表示的第一中断信号和第二中断信号在时间轴上的产生时间。参考图3可知,原本第一中断信号和第二中断信号在每一个刷新周期的产生时间都很相近,但是随着屏幕刷新次数的增加,第一中断信号和第二中断信号在同一个刷新周期的产生时间差越来越大。如在图3中在刷新周期M‑1的第二中断信号与第一中断信号的产生时间差显然很大,相反刷新周期M的第一中断信号产生时间与刷新周期M‑1的第二中断信号的产生时间更接近。此时,若屏蔽掉第一屏幕在刷新周期M‑1的刷新并维持第二屏幕在刷新周期M‑1的刷新和第一屏幕在刷新周期M的刷新,显然会使得第一屏幕在刷新周期M的刷新时间与第二屏幕在刷新周期M‑1的刷新时间很接近,显然就实现了同步刷新。在这种方式在屏蔽一次屏幕的数显之后,需要调整同步显示的刷新周期的计数,就可以确保后续同步显示了。总之,当前第一屏幕在刷新周期M‑1不刷新画面,第二屏幕在刷新周期M‑1刷新画面,第一屏幕和第二屏幕在刷新周期M均刷新,则会使得两个屏幕刷新画面的中断信号的产生时间差更加接近。例如,第一屏幕原本应该在刷新周期M内显示第x帧画面,第二屏幕在刷新周期M内显示第y帧画面,但是由于时间差过大,第一屏幕在刷新周期M‑1内没有刷新,即未显示第x帧画面;在刷新周期M的中断信号的产生时间刷新画面,显示第x帧画面,而此时,第二屏幕的刷新周期M‑1的中断信号也产生了,第二屏幕显示第y帧画面。显然此时,不仅避免了第一屏幕和第二屏幕的不同步刷新导致的画面撕裂及花屏问题,与此同时,通过第一屏幕的刷新周期M‑1的屏蔽刷新,且使得具有对应关系第x帧画面和第y帧画面显示时间更加接近,从而实现了同步显示。
[0045] 故在本实施例中若下一个刷新周期内的两个中断信号的产生时间差大于时差阈值,屏蔽至少一个屏幕的刷新,不仅可以解决下一周期产生的两个屏幕刷新不同步的问题,同时还可以通过一个至少一个屏幕的不刷新,使得两个屏幕显示对应画面的中断信号在时间轴上更接近。
[0046] 在一些实施例中,所述步骤S120可包括:计算当前刷新周期的第一中断信号和第二中断信号的产生时间差,该产生时间差可以直接作为下一刷新周期的第一中断信号和第二中断信号的产生时间差。
[0047] 在另一些实施例中,所述步骤S120可包括:
[0048] 计算当前刷新周期的第一中断信号和第二中断信号的时间差tx;
[0049] 统计第一中断信号和第二中断信号产生时间差的变化趋势,则tx+ty为预测的下一个刷新周期的时间差,ty为与所述变化趋势相同的偏移量,若所述变化趋势为增大,则所述ty为正值,若所述变化趋势为缩小,则所述ty为负值。
[0050] 在一些实施例中,所述ty可为预设值,在另一些实施例中,所述ty可为动态计算的值,例如,ty=tx/N;其中,所述N为当前统计窗口内已经过的刷新周期的个数。
[0051] 在还有一些实施例中,如图4所述,所述步骤S120可包括:
[0052] 步骤S121:基于所述第一产生时间和所述第二产生时间,确定第一时差;
[0053] 步骤S122:基于所述第一中断信号的第一实际产生周期及所述第二中断信号的第二实际产生周期,确定第二时差;
[0054] 步骤S123:基于所述第一时差和所述第二时差,预测下一刷新周期的产生时间差。
[0055] 在本实施例中,所述第一中断信号和所述第二中断信号的预定产生周期应该等于刷新周期的,但是由于触发第一中断信号和第二中断信号的晶振等及其计时偏差,会使得实际产生周期相对于所述预定产生周期出现偏离。
[0056] 这里的第一实际产生周期为第一中断信号的实际产生周期,第二实际产生周期为第二中断信号的实际产生周期。实际产生周期与预定产生周期的偏差是由于硬件自身的精度和固有局限以及软件的延迟等问题导致的。例如,第一中断信号和第二中断信号的预定产生周期均是16.7ms,但是第一实际产生周期可能在16.5ms至16.7ms之间摆动;而第二实际产生周期可能在16.7ms到17ms之间摆动。而在下一个刷新周期,所述第一中断信号和第二中断信号的实际产生周期还不确定,则此时可以根据历史记录,统计出第一中断信号和第二中断信号各自的实际产生周期,基于该实际产生周期,计算出第二时差。
[0057] 在步骤S123中将根据第一时差和第二时差综合预算出下一个刷新周期的产生时间差;例如,求解第一时差的绝对值和第二时差的绝对值之和,得到下一刷新周期的产生时间差。在本实施例中,显然不仅考虑了第一中断信号和第二中断信号已经产生的时间差,而且还根据两个中断信号的实际产生周期,预计出在下一个刷新周期内会新增的时间差(即第二时差),从而可以使得预测的产生时间差,与在下一个刷新周期内实际产生时差更加接近,从而使得预测结果更加精确。若预测结果更加精确,一方面可以提前避免两个屏幕刷新的不同步问题,另一方面,可以减少预测结果不精确导致的不必要的刷新屏蔽。
[0058] 可选地,所述步骤S122可包括:
[0059] 基于所述第一实际产生周期的极值及所述第二实际产生周期的极值,确定所述第二时差。
[0060] 所述实际产生周期极值包括:实际产生周期极大值和实际产生周期极小值。例如,第一中断信号的实际产生周期可能在16.5ms至16.7ms之间摆动,则16.5ms为实际产生周期极小值;16.7ms为实际产生周期极大值。
[0061] 所述步骤S122可包括:
[0062] 计算所述第一实际产生周期的极大值与所述第二实际产生周期的极大值的时差,得到第一周期偏差;
[0063] 计算所述第一实际产生周期的极小值与所述第二实际产生周期的极大值的时差,得到第二周期偏差;
[0064] 计算所述第一实际产生周期的极大值与所述第二实际产生周期的极小值的时差,确定第三周期偏差;
[0065] 计算所述第一实际产生周期的极小值与所述第二实际产生周期的极小值的时差,确定第四周期偏差;
[0066] 从所述第一周期偏差、所述第二周期偏差、所述第三周期偏差及所述第四周期偏差中选择最大值作为所述第二时差。
[0067] 假设第一中断信号和第二中断信号的预定产生周期均是16.7ms,但是第一实际产生周期可能在16.5ms至16.7ms之间摆动;而第二实际产生周期可能在16.7ms到17ms之间摆动;则第一周期偏差为17‑16.7=0.3ms;第二周期偏差为17‑16.5=0.5ms,第三周期偏差为16.7‑16.7=0ms;第四周期偏差为16.7‑16.5=0.2ms。通过比较可知,第二周期偏差是最大值,则此时第二时差等于第二周期偏差,且等于0.5ms。
[0068] 在计算出第一周期偏差至第四周期偏差之后,会从这4个周期偏差中选择最大值作为所述第二时差,以参与下一刷新周期的两个中断信号的产生时间差的计算。采用这种方式,可以计算出下一刷新周期两个中断信号的最大产生时间差,若最大产生时间差都小于时差阈值,则可以认为下一个刷新周期不会出现刷新时用户感知到刷新不同步的问题。若最大产生时间差不小于时差阈值,则可认为可能会使得用户产生刷新不同步的问题,则可以通过屏蔽至少一个屏幕的刷新,从而最大限度的来避免用户感知到刷新不同步的问题,提升同步显示的可靠性。
[0069] 可选地,所述步骤S122可包括:
[0070] 确定第一计算值,其中,若所述第一实际产生周期的极大值的出现概率不小于所述第一实际产生周期的极小值的出现概率,则所述第一计算值为第一实际产生周期的极大值否则为所述第一实际产生周期的极小值;
[0071] 确定第二计算值,其中,若所述第二实际产生周期的极大值的出现概率不小于所述第二实际产生周期的极小值的出现概率,则所述第二计算值为第二实际产生周期的极大值否则为所述第二实际产生周期的极小值;
[0072] 基于所述第一周期值及所述第二周期值,计算所述第二时差。
[0073] 在本实施例中,会根据第一实际周期和第二实际周期的极值的出现概率,选择参与第二时差计算的第一计算值和第二计算值,这样的话,一方面综合考虑了当前已经产生的第一时差,另一方面基于统计的出现概率来计算第二时差,使得计算结果与实际可能要产生的时长更加接近,从而使得下一刷新周期的预测结果更加精确。
[0074] 可选地,所述步骤S122还包括:确定所述第一实际产生周期的均值为第三计算值;确定所述第二实际产生周期的均值为第四计算值;或者,确定所述第一实际产生周期的中值为第三计算值;确定所述第二实际产生周期的中值为第四计算值;基于所述第三计算值及所述第四计算值,计算所述第二时差。在本实施例中为了简化计算,直接选择实际产生周期的均值或中值作为第二时差的计算,具有操作简便的特点。
[0075] 可选地,所述步骤S130可包括以下几种中的任意一种实现方式:
[0076] 方式一:
[0077] 所述步骤S130可包括:
[0078] 若所述产生时间差不小于所述时差阈值,所述第二产生时间早于所述第一产生时间,屏蔽在下一刷新周期所述第二屏幕的画面刷新。若当前第一产生时间早于第二产生时间,则表明在当前刷新周期内第一中断信号早于第二中断信号,在下一周期中断信号的产生时间也会延续这种规律,若屏蔽中断信号产生较早的屏幕刷新,则直接屏蔽第一屏幕的刷新。
[0079] 方式二:
[0080] 所述步骤S130可包括:
[0081] 若所述产生时间差不小于所述时差阈值,且第一产生时间晚于所述第二产生时间,屏蔽所述第一屏幕在下一刷新周期的画面刷新。在本方案中仅是屏蔽在当前刷新周期内的中断信号较晚的屏幕的刷新。
[0082] 方式三:
[0083] 所述步骤S130可包括:
[0084] 若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,屏蔽所述第二屏幕在下一刷新周期的画面刷新。
[0085] 方式四:
[0086] 所述步骤S130可包括:
[0087] 若所述产生时间差不小于所述时差阈值,同时屏蔽所述第一屏幕和所述第二屏幕在下一刷新周期的画面刷新。
[0088] 可选地,所述步骤S130可包括:
[0089] 若所述产生时间差不小于所述时差阈值,屏蔽所述第一屏幕的第一显示缓存区内第一显示数据在所述下一刷新周期的更新,和/或,屏蔽所述第二屏幕的第二显示缓存区内第二显示数据在所述下一刷新周期的更新;其中,所述第一显示缓存区内的所述第一显示数据用于供所述第一屏幕的画面刷新,所述第二显示缓存区内的所述第二显示数据用于供所述第二屏幕的画面刷新。
[0090] 在本实施例中通过屏蔽第一显示缓存区和/或第二显示缓存区中显示数据的不刷新,显示屏从缓存中读取的与当前刷新周期是相同的显示数据,从而达到了屏蔽刷新的作用。
[0091] 在还有些实施例中可以照常刷新所述第一显示缓存区和第二显示缓存区内的显示数据,仅是屏蔽第一屏幕和/或第二屏幕从缓存中读取显示数据进行画面刷新。
[0092] 在另外一些实施例中,屏蔽刷新还可以是:既不进行缓存中显示数据的更新,同时屏幕也不从所述缓存读取数据进行刷新。
[0093] 可选地,所述步骤S130可包括以下操作:
[0094] 屏蔽所述第一屏幕在所述下一刷新周期的画面刷新,而屏蔽所述第一屏幕在下一刷新周期的画面刷新包括:屏蔽所述第一屏幕的第一显示缓存区内第一显示数据在所述下一刷新周期的更新,所述第一显示缓存区内的所述第一显示数据用于供所述第一屏幕的画面刷新;
[0095] 屏蔽所述第二屏幕在所述下一刷新周期的画面刷新,而屏蔽所述第二屏幕在所述下一刷新周期的画面刷新包括:屏蔽所述第二屏幕的第二显示缓存区内第二显示数据在所述下一刷新周期的更新,所述第二显示缓存区内的所述第二显示数据用于供所述第二屏幕的画面刷新。
[0096] 可选地,所述步骤S110可包括:
[0097] 在当前记录时间窗内记录第n个所述第一中断信号的第一产生时间,并记录所述第二屏幕的第n个所述第二中断信号产生的第二产生时间;其中,所述第n个所述第一中断信号为所述第一屏幕的当前刷新周期的中断信号;所述第n个所述第二中断信号为所述第一屏幕的当前刷新周期的中断信号;n为正整数;在本发明实施例中,可以通过第一中断信号和第二中断信号在一个记录时间窗内的序号来确定属于同一个刷新周期的中断信号。所述步骤S120可包括:基于所述第n个所述第一中断信号的第一产生时间及所述第n个所述第二中断信号的第二产生时间,预测所述下一刷新周期的所述第一中断信号和所述第二中断信号的产生时间差。所述记录时间窗包括至少一个所述刷新周期,通常为整数倍个所述刷新周期。
[0098] 在一些实施例中,所述步骤S110还包括:
[0099] 若所述产生时间差不小于时差阈值,在下一个记录时间窗内记录所述第一中断信号的第一产生时间,及在所述下一个记录时间窗内记录所述第二中断信号的第二产生时间。
[0100] 若在一个记录时间窗内的第一中断信号和第二中断信号的产生时间差已经等于或大于时差阈值,则进入到下一个记录时间窗,启动对第一中断信号和第二中断信号的重新记录或重新编号。通过记录时间窗内的第一中断信号和第二中断信号的统计,可以避免不是同一个刷新周期的中断信号的产生时间差的计算,再次提升了产生时间差的计算精确度。
[0101] 如图5所示,在本实施例中所述方法还包括:
[0102] 步骤S140:在所述下一刷新周期,对齐所述第一中断信号及第二中断信号的产生时间。例如,在所述步骤S130之后执行所述步骤S140,即在若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新之后,所述方法还包所述步骤S140。
[0103] 若预测出下一刷新周期内第一中断信号和第二中断信号之间的产生时间差过大,在屏蔽第一屏幕和第二屏幕至少其中之一的刷新的同时,至少调整一个中断信号的产生时间。例如,在一些实施例中,调整在所述下一刷新周期内屏蔽刷新的屏幕的中断信号的产生时间,使得调整后的第一中断信号和第二中断信号在调整之后能够在时间轴上对齐,使得在下下个刷新周期第一中断信号和第二中断信号具有更好的时间同步效果。例如,当前刷新周期是第x个刷新周期,下一个刷新周期为第x+1个刷新周期,下下个刷新周期为第x+2个刷新周期。在第x+1个刷新周期进行第一中断信号和第二中断信号在时间轴上的对齐,会使得在第x+2个刷新周期使得第一中断信号和第二中断信号的产生时间更加同步。例如,通过向第一中断信号和/或第二中断信号的产生电路发送一个调整指令,该调整指令使得第一中断信号及第二中断信号中的至少一个中断信号的提前或推迟产生,第一中断信号及第二中断信号的产生时间的调整量,可以是基于前述第一时差确定的。例如,当前刷新周期的第一中断信号和第二中断信号之间的第一时长为15ms,而预定产生周期为16.7ms,首先,在下一个刷新周期调整产生较早的第一中断信号的产生时间,可以通过将下下刷新周期的第一中断信号向后延迟1.7ms,使得第一中断信号在下下个刷新周期的产生时间与第二中断信号的产生时间一致,以减少两个中断信号的产生时间差大于时差阈值的概率。假设在本实施例中屏蔽在当前刷新周期内产生时间较晚的第二中断信号对应的第二屏幕的刷新,则可以在第x+1刷新周期调整第二中断信号的产生时间,例如提前所述第二中断信号的产生时间,使得在第x+2刷新周期第二中断信号的产生时间向前提早1.7ms等。在本实施例中单独调整一个中断信号在第x+2刷新周期的产生时间的调整时间量可以等于预定产生周期与第一时差的差值。在一些实施例中还可以同时调整第一中断信号和第二中断信号的产生时间。例如,在步骤S130中同时屏蔽第一屏幕和第二屏幕的刷新时,可以同时调整第一中断信号和第二中断信号的产生时间,使得在第x+2刷新周期实现两个中断信号在时间轴上的对齐。
[0104] 如图6所示,本实施例提供一种同步显示装置,包括:
[0105] 记录模块110,用于记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;
[0106] 预测模块120,用于基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;
[0107] 刷新模块130,用于若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新。
[0108] 在本实施例中所述记录模块110、预测模块120及刷新模块130可为程序模块,被处理器执行后,能够记录下所述第一产生时间、第二产生时间、预测出下一刷新周期的产生时间差,并在差生时间差大于时差阈值时,屏蔽掉至少一个屏幕的画面刷新,避免在两个触发屏幕刷新的中断信号的产生时间差过大时依旧刷新导致的两个屏幕显示的不同步或撕裂的显示效果,从而提升了屏幕同步显示效果。
[0109] 可选地,所述预测模块120,包括:
[0110] 第一确定子模块,用于基于所述第一产生时间和所述第二产生时间,确定第一时差;
[0111] 第二确定子模块,用于基于所述第一中断信号的第一实际产生周期及所述第二中断信号的第二实际产生周期,确定第二时差;
[0112] 预测子模块,用于基于所述第一时差和所述第二时差,预测下一刷新周期的产生时间差。
[0113] 在本实施例中,所述第一中断信号和第二中断信号的预定产生周期应该是相等的,且一般初始时刻,第一中断信号和第二中断信号的预定产生周期的起始时间也是对齐的,以实现更好的同步显示。
[0114] 可选地,所述第二确定子模块,用于基于所述第一实际产生周期的极值及所述第二实际产生周期的极值,确定所述第二时差。
[0115] 在本实施例中,实际产生周期的极值可包括极大值和极小值。
[0116] 可选地,所述第二确定模块,可用于计算所述第一实际产生周期的极大值与所述第二实际产生周期的极大值的时差,得到第一周期偏差;计算所述第一实际产生周期的极小值与所述第二实际产生周期的极大值的时差,得到第二周期偏差;计算所述第一实际产生周期的极大值与所述第二实际产生周期的极小值的时差,得到第三周期偏差;计算所述第一实际产生周期的极小值与所述第二实际产生周期的极小值的时差,得到第四周期偏差;从所述第一周期偏差、所述第二周期偏差、所述第三周期偏差及所述第四周期偏差中选择最大值作为所述第二时差。
[0117] 可选地,所述第二确定子模块,还可用于确定第一计算值,其中,若所述第一实际产生周期的极大值的出现概率不小于所述第一实际产生周期的极小值的出现概率,则所述第一计算值为第一实际产生周期的极大值否则为所述第一实际产生周期的极小值;确定第二计算值,其中,若所述第二实际产生周期的极大值的出现概率不小于所述第二实际产生周期的极小值的出现概率,则所述第二计算值为第二实际产生周期的极大值否则为所述第二实际产生周期的极小值;基于所述第一周期值及所述第二周期值,计算所述第二时差。
[0118] 可选地,所述第二确定子模块,具体用于确定所述第一实际产生周期的均值为第三计算值;确定所述第二实际产生周期的均值为第四计算值;或者,确定所述第一实际产生周期的中值为第三计算值;确定所述第二实际产生周期的中值为第四计算值;基于所述第三计算值及所述第四计算值,计算所述第二时差。
[0119] 所述刷新模块130,具体用于执行以下之一:若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,在下一刷新周期屏蔽所述第一屏幕的刷新;若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,在下一刷新周期屏蔽所述第二屏幕的画面刷新;若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,在下一刷新周期屏蔽所述第一屏幕的画面刷新;若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,在下一刷新周期屏蔽所述第二屏幕的画面刷新;若所述产生时间差不小于所述时差阈值,同时屏蔽所述第一屏幕和所述第二屏幕在下一刷新周期的画面刷新。
[0120] 可选地,所述刷新模块130,具体用于若所述产生时间差不小于所述时差阈值,屏蔽所述第一屏幕的第一显示缓存区内第一显示数据在所述下一刷新周期的更新,和/或,屏蔽所述第二屏幕的第二显示缓存区内第二显示数据在所述下一刷新周期的更新;其中,所述第一显示缓存区内的所述第一显示数据用于供所述第一屏幕的画面刷新,所述第二显示缓存区内的所述第二显示数据用于供所述第二屏幕的画面刷新。
[0121] 可选地,所述刷新模块130,可具体用于屏蔽所述第一屏幕的第一显示缓存区内第一显示数据在所述下一刷新周期的更新,所述第一显示缓存区内的所述第一显示数据用于供所述第一屏幕的画面刷新;和/或,屏蔽所述第二屏幕的第二显示缓存区内第二显示数据在所述下一刷新周期的更新,所述第二显示缓存区内的所述第二显示数据用于供所述第二屏幕的画面刷新。
[0122] 可选地,所述记录模块110,可用于在当前记录时间窗内记录第n个所述第一中断信号的第一产生时间,并记录所述第二屏幕的第n个所述第二中断信号产生的第二产生时间;其中,所述第n个所述第一中断信号为所述第一屏幕的当前刷新周期的中断信号;所述第n个所述第二中断信号为所述第一屏幕的当前刷新周期的中断信号;n为正整数;
[0123] 所述预测模块120,可用于基于所述第n个所述第一中断信号的第一产生时间及所述第n个所述第二中断信号的第二产生时间,预测所述下一刷新周期的所述第一中断信号和所述第二中断信号的产生时间差。
[0124] 可选地,所述记录模块110,可用于若所述产生时间差不小于时差阈值,在下一个记录时间窗内记录所述第一中断信号的第一产生时间,及在所述下一个记录时间窗内记录所述第二中断信号的第二产生时间。
[0125] 所述同步显示装置还包括:
[0126] 对齐模块,还用于若所述产生时间差不小于时差阈值屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新之后,在所述下一刷新周期,对齐所述第一中断信号及第二中断信号的产生时间。
[0127] 在本实施例中通过对齐模块,可以利用下一刷新周期对应的时间调整第一中断信号和/或第二中断信号,这样在再下一刷新周期内产生的第一中断信号和第二中断信号的产生时间差更小,从而减少后续两个中断信号的产生时间偏差大于时差阈值的频次。
[0128] 如图7所示,本实施例提供一种电子设备,包括:
[0129] 第一屏幕211,用于显示;
[0130] 第二屏幕212,用于显示;
[0131] 存储器220,用于信息存储;
[0132] 处理器230,分别与所述第一屏幕211、所述第二屏幕212及所述存储器220连接,用于通过计算机程序的执行,实现前述任意一个技术方案提供的同步显示方法,例如,执行如图1、图4、图5及图9至图12所示方法中的一个或多个。
[0133] 所述处理器230可以通过计算机程序的执行实现以下操作:
[0134] 记录第一屏幕的第一中断信号在当前刷新周期内的第一产生时间,并记录第二屏幕的第二中断信号在当前刷新周期内的第二产生时间;
[0135] 基于所述第一产生时间和所述第二产生时间,预测所述第一中断信号和所述第二中断信号在下一刷新周期内的产生时间差;
[0136] 若所述产生时间差不小于时差阈值,屏蔽所述第一屏幕和/或所述第二屏幕在所述下一刷新周期的画面刷新。
[0137] 可选地,所述处理器230,具体可用于基于所述第一产生时间和所述第二产生时间,确定第一时差;
[0138] 基于所述第一中断信号的第一实际产生周期及所述第二中断信号的第二实际产生周期,确定第二时差;
[0139] 基于所述第一时差和所述第二时差,预测下一刷新周期的产生时间差。
[0140] 可选地,所述处理器230,具体可用于基于所述第一实际产生周期的极值及所述第二实际产生周期的极值,确定所述第二时差。例如,计算所述第一实际产生周期的极大值与所述第二实际产生周期的极大值,得到第一周期偏差的时差;计算所述第一实际产生周期的极小值与所述第二实际产生周期的极大值的时差,得到第二周期偏差;计算所述第一实际产生周期的极大值与所述第二实际产生周期的极小值的时差,得到第三周期偏差;计算所述第一实际产生周期的极小值与所述第二实际产生周期的极小值的时差,得到第四周期偏差;从所述第一周期偏差、所述第二周期偏差、所述第三周期偏差及所述第四周期偏差中选择最大值作为所述第二时差。
[0141] 可选地,所述处理器230还可用于确定第一计算值,其中,若所述第一实际产生周期的极大值的出现概率不小于所述第一实际产生周期的极大值的出现概率,则所述第一计算值为第一实际产生周期的极大值,否则为所述第一实际产生周期的极小值;确定第二计算值,其中,若所述第二实际产生周期的极大值的出现概率不小于所述第二实际产生周期的极大值的出现概率,则所述第二计算值为第二实际产生周期的极大值,否则为所述第二实际产生周期的极小值;基于所述第一周期值及所述第二周期值,计算所述第二时差。
[0142] 在还有些实施例中,所述处理器230具体用于确定所述第一实际产生周期的均值为第三计算值;确定所述第二实际产生周期的均值为第四计算值;或者,确定所述第一实际产生周期的中值为第三计算值;确定所述第二实际产生周期的中值为第四计算值;基于所述第三计算值及所述第四计算值,计算所述第二时差。
[0143] 所述处理器230在屏蔽屏幕的画面刷新时,可以执行以下至少之一:若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,在下一刷新周期屏蔽所述第一屏幕的刷新;若所述产生时间差不小于所述时差阈值,且所述第一产生时间早于所述第二产生时间,在下一刷新周期屏蔽所述第二屏幕的画面刷新;若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,在下一刷新周期屏蔽所述第一屏幕的画面刷新;若所述产生时间差不小于所述时差阈值,且所述第二产生时间早于所述第一产生时间,在下一刷新周期屏蔽所述第二屏幕的画面刷新;若所述产生时间差不小于所述时差阈值,同时屏蔽所述第一屏幕和所述第二屏幕在下一刷新周期的画面刷新。
[0144] 可选地,所述处理器230还可用于若所述产生时间差不小于所述时差阈值,屏蔽所述第一屏幕的第一显示缓存区内第一显示数据在所述下一刷新周期的更新,和/或,屏蔽所述第二屏幕的第二显示缓存区内第二显示数据在所述下一刷新周期的更新;其中,所述第一显示缓存区内的所述第一显示数据用于供所述第一屏幕的画面刷新,所述第二显示缓存区内的所述第二显示数据用于供所述第二屏幕的画面刷新。
[0145] 所述处理器230可以控制所述存储器220在当前记录时间窗内记录第n个所述第一中断信号的第一产生时间,并记录所述第二屏幕的第n个所述第二中断信号产生的第二产生时间;其中,所述第n个所述第一中断信号为所述第一屏幕的当前刷新周期的中断信号;所述第n个所述第二中断信号为所述第一屏幕的当前刷新周期的中断信号;n为正整数。所述处理器230还可用于基于所述第n个所述第一中断信号的第一产生时间及所述第n个所述第二中断信号的第二产生时间,预测所述下一刷新周期的所述第一中断信号和所述第二中断信号的产生时间差。
[0146] 所述存储器220还可以用于在处理器230的控制下,用于若所述产生时间差不小于时差阈值,进入下一个记录时间窗内所述第一中断信号的第一产生时间的记录,及下一个所述记录时间窗内所述第二中断信号的第二产生时间的记录。
[0147] 所述处理器230还可用于在所述下一刷新周期,对齐所述第一中断信号及第二中断信号的产生时间。
[0148] 在本实施例中所述第一屏幕和第二屏幕可为各种类型的显示屏,例如,液晶显示屏、电子墨水显示屏、有机发光二级管(OLED)显示屏等各种类型的显示屏。所述第一屏幕和第二屏幕可为多屏显示设备中的任意两个屏幕,也可以多个连接到同一个设备上的不同屏幕。所述第一屏幕和第二屏幕可以相同类型的显示屏,也可以是不同类型的显示屏。
[0149] 所述存储器220可为包括存储介质的存储器件,例如,包括缓存的存储器件。在存储器220上存储有计算机程序,所述处理器230可以通过集成总线等设备内通信接口,分别与第一屏幕211、第二屏幕212及存储器220连接,可以控制第一屏幕211及第二屏幕212的显示。在本实施例中,所述处理器230可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器、应用处理器或可编程阵列等具有信息处理功能的处理芯片或处理电路。
[0150] 本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,能够实现前述一个或多个实施例提供的同步显示方法,例如,执行如图1、图4、图5及图9至图12所示方法中的一个或多个。
[0151] 所述计算机存储介质可为:移动存储设备、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质;可选为非瞬间存储介质。
[0152] 以下结合上述任意实施例提供几个具体示例:
[0153] 示例1:
[0154] 本示例的关键技术在于同步刷新的算法,这个算法会统计屏1和屏2的vsync的中断周期极值(对应于前述实际产生周期的极值),根据这些信息预测下次屏1和屏2刷新的间隔(两个屏幕各自的中断信号的产生时间差),如果间隔太大,则会丢掉某帧画面,待间隔恢复正常后再恢复画面的刷新。因为丢帧是在极短时间内的1‑2帧,对于每秒60帧而言可以忽略,用户是无法感知的。vsync是屏幕刷新的时候产生的中断信号,屏幕每秒刷新60次,即产生60个vsync中断信号。
[0155] 本示例提供一种双屏同步显示的方法,请参考图9,图9为本示例提供的方法的流程示意图可包括:
[0156] 步骤S101:运行开机当屏幕产生vsync的时候,保存时间值(对应于前述的第一产生时间和第二产生时间),并且从1开始计数统计vsync的次数。用V1n代表屏1第n次vsync产生的时间,V2n代表屏2第n次vsync产生的时间。
[0157] 步骤S102:统计屏1和屏2的中断周期极值e1,e2;
[0158] 步骤S103:显示缓存区(BUFFER)1和显示缓存区2对应屏1和屏2的显示缓存区,当vsync到来的时候就会将显示缓存区的内容显示到屏幕上;
[0159] 步骤S104:当abs(V1n‑V2n)+abs(e1‑e2)<16的时候,更新显示缓存区1和显示缓存区2;每秒刷新60次,即16.7ms刷新一次,本示例中取16ms作为时差阈值,在其他示例中,根据刷新次数,时差阈值也可以取其他值;abs表示取绝对值;
[0160] 步骤S105:当abs(V1n‑V2n)+abs(e1‑e2)>=16时不更新显示缓存1和显示缓存2,并且屏1和屏2的vsync的计数重新从1开始,即V1n和V2n的n从1开始,并重复S102‑S105。
[0161] 当vsync信号产生时,数据采集模块(对应于前述的记录模块)要记录下来是哪个屏幕,第几次产生的中断,以及对应的时间值。
[0162] 示例2:
[0163] 如图10所示,当显示数据准备放入显示缓存区时,逻辑执行模块(可为前述的预测模块的组成部分)从数据采集模块获取数据(例如,中断信号的产生时间),计算两个屏幕最近一次的V1n和V2n,以及e1和e2。
[0164] 如图11所示,本示例屏幕的更新可反复执行以下步骤:
[0165] S1101:屏幕刷新产生vsync;
[0166] S1102:记录是哪个屏幕,在本记录时间窗内第几次产生的中断信号,以及对应的时间值。
[0167] 图12为本示例提供方法的逻辑执行模块流程图包括:
[0168] 步骤S1201:显示数据准备放入显示缓存区时,从数据采集模块获取数据;
[0169] 步骤S1202:计算两个屏幕最近一次的V1n和V2n,以及e1和e2;
[0170] 步骤S1203:当abs(V1n‑V2n)+abs(e1‑e2)<16的时候,更新显示缓存区1和显示缓存区2;
[0171] 步骤S1204:当abs(V1n‑V2n)+abs(e1‑e2)>=16时,不更新显示缓存区1和显示缓存区2,并且屏1和屏2的vsync的计数重新从1开始,即V1n和V2n的n从1开始;重复S301‑S304;
[0172] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0173] 上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0174] 另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0175] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。
[0176] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。