一种电子墨水屏设备的系统显示方法和存储设备转让专利

申请号 : CN202111054670.8

文献号 : CN113870799B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘益星李斌郑建庄超王杭董正勇

申请人 : 瑞芯微电子股份有限公司

摘要 :

本发明涉及墨水屏技术领域,特别涉及一种电子墨水屏设备的系统显示方法和存储设备。所述一种电子墨水屏设备的系统显示方法,包括步骤:系统上层采用虚拟硬件VSync。可以缩短Android墨水屏设备上层的app,sf的显示延时,如设置延时为1个VSync,进而大大改善响应速度,提升用户体验。

权利要求 :

1.一种电子墨水屏设备的系统显示方法,其特征在于,包括步骤:系统上层采用虚拟硬件VSync;

系统底层采用异步刷新,判断系统上层是否有buf下来,若有,则刷新屏幕,若系统上层没有buf下来则不刷新屏幕;所述系统底层设置有buflist用于管理系统上层下传的buf;

所述“判断系统上层是否有buf下来,若有,则刷新屏幕”,具体还包括步骤:系统上层提交新buf至buf list,唤醒显示线程,所述显示线程从buf list中取buf并进行显示;

显示后在buflist删除已显示buf,取buflist中下一个buf进行显示,直至buf list为空,显示线程进入睡眠;所述“系统上层提交新buf至buf list”,具体还包括步骤:判断当前buflist的长度是否大于等于预设阈值,若大于等于预设阈值,则将buf list末尾的buf替换为最新的buf;

根据显示模式的不同动态设置不同的帧率。

2.根据权利要求1所述的一种电子墨水屏设备的系统显示方法,其特征在于,所述“系统上层采用虚拟硬件VSync”,具体还包括步骤:系统上层通过软件定时器虚拟VSync,所述虚拟VSync由HWC模块模拟提供给系统上层使用。

3.根据权利要求1或2所述的一种电子墨水屏设备的系统显示方法,其特征在于,所述系统上层包括但不限于:SF、APP;

所述系统底层包括:显示驱动层。

4.根据权利要求1所述的一种电子墨水屏设备的系统显示方法,其特征在于,所述“判断系统上层是否有buf下来”,具体还包括步骤:系统APP层下传view buf至系统SF层;

所述系统SF层下传rgba buf至HWC模块;

所述HWC模块将所述rgba buf转换为gray4 buf,并下传所述gray4 buf至系统底层。

5.一种存储设备,其中存储有指令集,其特征在于,所述指令集用于执行:权利要求1至

4任一项所述的一种电子墨水屏设备的系统显示方法。

说明书 :

一种电子墨水屏设备的系统显示方法和存储设备

技术领域

[0001] 本发明涉及墨水屏技术领域,特别涉及一种电子墨水屏设备的系统显示方法和存储设备。

背景技术

[0002] 电子墨水屏相比普通的lcd屏,具有护眼,低功耗的优点,但是其刷屏速度非常慢,更新一帧图像,需要的刷新时间在120ms到450ms之间,不同的波形模式,刷新时间不同,如图1所示。
[0003] 所以,墨水屏设备的实际帧率最大不超过10帧/s,而LCD屏一般是60帧/s。
[0004] Android系统的显示原理是基于vsync同步,按照LCD屏60帧的刷新率,一个vsync时间是16ms,墨水屏就是120ms~450ms。Android系统上从APP绘图到最终的屏幕显示,一般要经过3~5个vsync,所以LCD的显示延时在48~80ms之间,墨水屏则要达到1350~2250ms之间(gc16模式),48~80ms肉眼难以察觉,如果是1350~2250ms,就是非常严重的滞后现象,体验会非常差;
[0005] Android draw的最简pipeline如下,会有2个vsync的延时,实际要比这个复杂一些,最终的显示会有3~5个vsync的延时。如图2和图3所示。
[0006] 1.T=0时,App正在画N,SF与Display都没内容可用
[0007] 2.T=1时,App正在画N+1,SF组合N,Display没Buffer可显示
[0008] 3.T=2时,App正在画N+2,SF组合N+1,Display显示N
[0009] 4.T=3时,App正在画N,SF组合N+2,Display显示N+1
[0010] 5....
[0011] Vsync说明:
[0012] 屏幕的刷新过程是每一行从左到右(行刷新,水平刷新,Horizontal Scanning),从上到下(屏幕刷新,垂直刷新,Vertical Scanning)。当整个屏幕刷新完毕,即一个垂直刷新周期完成,会有短暂的空白期,此时发出VSync信号。所以,VSync中的V指的是垂直刷新中的垂直‑Vertical,时长等于屏幕刷完一帧图像的耗时。
[0013] 所以Android系统的基础vsync信号来源于实际的屏幕vsync信号,由于墨水屏的刷屏时间长,导致vsync信号时间长,显示延时严重。

发明内容

[0014] 为此,需要提供一种电子墨水屏设备的系统显示方法,用以解决现有墨水屏显示延时严重、屏幕刷新速度慢、用户体验差的技术问题。具体技术方案如下:
[0015] 一种电子墨水屏设备的系统显示方法,包括步骤:
[0016] 系统上层采用虚拟硬件VSync。
[0017] 进一步的,还包括步骤:
[0018] 系统底层采用异步刷新,判断系统上层是否有buf下来,若有,则刷新屏幕,若系统上层没有buf下来则不刷新屏幕。
[0019] 进一步的,所述系统底层设置有buf list用于管理系统上层下传的buf;
[0020] 所述“判断系统上层是否有buf下来,若有,则刷新屏幕”,具体还包括步骤:
[0021] 系统上层提交新buf至buf list,唤醒显示线程,所述显示线程从buf list中取buf并进行显示;
[0022] 显示后在buf list删除已显示buf,取buf list中下一个buf进行显示,直至buf list为空,显示线程进入睡眠。
[0023] 进一步的,所述“系统上层提交新buf至buf list”,具体还包括步骤:
[0024] 判断当前buf list的长度是否大于等于预设阈值,若大于等于预设阈值,则将buf list末尾的buf替换为最新的buf。
[0025] 进一步的,所述“系统上层采用虚拟硬件VSync”,具体还包括步骤:
[0026] 系统上层通过软件定时器虚拟VSync,所述虚拟VSync由HWC模块模拟提供给系统上层使用。
[0027] 进一步的,还包括步骤:
[0028] 根据显示模式的不同动态设置不同的帧率。
[0029] 进一步的,所述系统上层包括但不限于:SF、APP;
[0030] 所述系统底层包括:显示驱动层。
[0031] 进一步的,所述“判断系统上层是否有buf下来”,具体还包括步骤:
[0032] 系统APP层下传view buf至系统SF层;
[0033] 所述系统SF层下传rgba buf至HWC模块;
[0034] 所述HWC模块将所述rgba buf转换为gray4 buf,并下传所述gray4 buf至系统底层。
[0035] 为解决上述技术问题,还提供了一种存储设备,具体技术方案如下:
[0036] 一种存储设备,其中存储有指令集,所述指令集用于执行:上述所提及的一种电子墨水屏设备的系统显示方法。
[0037] 本发明的有益效果是:一种电子墨水屏设备的系统显示方法,包括步骤:系统上层采用虚拟硬件VSync,可以缩短Android墨水屏设备上层的app,sf的显示延时,如设置延时为1个VSync,进而大大改善响应速度,提升用户体验。
[0038] 进一步的,系统底层的显示驱动不使用VSync同步,采用异步刷新,按需刷新的方法,在有buf的时候才更新屏幕,无buf的时候无需刷新屏幕;墨水屏的磁滞效应可以保证即使不刷新屏幕也可以保持当前的显示画面,保证了底层可以采用按需刷新的策略;按需刷新同时可以节省系统功耗,在画面没有变化的时候无需实时刷新墨水屏,减少系统损耗。
[0039] 进一步的,在buf累积的时候采用丢帧的方法,使得最新的buf能够更快的显示出来,从而提高响应速度。

附图说明

[0040] 图1为背景技术所述不同波形模式刷新时间不同示意图;
[0041] 图2为背景技术所述APP绘图延时示意图一;
[0042] 图3为背景技术所述APP绘图延时示意图二;
[0043] 图4为具体实施方式所述一种电子墨水屏设备的系统显示方法的应用示意图;
[0044] 图5a为具体实施方式所述系统上层下传buf至系统底层的示意图一;
[0045] 图5b为具体实施方式所述系统上层下传buf至系统底层的示意图二;
[0046] 图6为具体实施方式所述一种存储设备的模块示意图。
[0047] 附图标记说明:
[0048] 600、存储设备。

具体实施方式

[0049] 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0050] 请参阅图4至图5,在本实施方式中,一种电子墨水屏设备的系统显示方法的具体实施方式如下:
[0051] 本申请的核心技术思想在于:针对Android系统的墨水屏设备,重新设计优化了显示架构,对于系统上层采用虚拟硬件VSync信号,虚拟动态可变VSync信号(动态帧率控制,兼顾系统功耗),提供给Android系统层使用,使得APP层和SF层的VSync时间大大缩短,可以快速响应用户操作,App和SF层产生的帧图像数据传递给显示驱动层的时候,增加多级帧缓存,帧buf管理,跳帧/丢帧等机制,把最新的接收到的应用层图像帧送到墨水屏显示,从而优化显示速度,提高用户体验。
[0052] 以下会具体一一展开说明:
[0053] 一种电子墨水屏设备的系统显示方法,包括步骤:系统上层采用虚拟硬件VSync。所述系统上层包括但不限于:SF、APP;本实施方式中,系统上层可通过软件定时器虚拟VSync,如图4所示,所述虚拟VSync由HWC模块模拟提供给系统上层使用。其中VSync时间可配置,比如可以配置成16ms,与LCD60fps一样的VSync时长,这样上层SF和APP的延时可以做到跟普通lcd屏一样,进而大大改善响应速度,提升用户体验。
[0054] 进一步的,对于系统底层不使用VSync,取而代之的是采用异步刷新、按需刷新的策略。具体可为:系统底层采用异步刷新,判断系统上层是否有buf下来,若有,则刷新屏幕,若系统上层没有buf下来则不刷新屏幕。因为墨水屏的磁滞效应可以保证即使不刷新屏幕也可以保持当前的显示画面,保证了系统底层可以采用按需刷新的策略;按需刷新同时可以节省系统功耗,在画面没有变化的时候无需实时刷新墨水屏,减少系统损耗。所述系统底层包括:显示驱动层。
[0055] 如图4所示,进一步的,所述“判断系统上层是否有buf下来”,具体还包括步骤:
[0056] 系统APP层下传view buf至系统SF层;
[0057] 所述系统SF层下传rgba buf至HWC模块;
[0058] 所述HWC模块将所述rgba buf转换为gray4 buf,并下传所述gray4 buf至系统底层。
[0059] 进一步的,为了更好地对系统上层下传的buf进行管理,所述系统底层设置有buf list用于管理系统上层下传的buf;
[0060] 所述“判断系统上层是否有buf下来,若有,则刷新屏幕”,具体还包括步骤:系统上层提交新buf至buf list,唤醒显示线程,所述显示线程从buf list中取buf并进行显示;显示后在buf list删除已显示buf,取buf list中下一个buf进行显示,直至buf list为空,显示线程进入睡眠。具体如图5a所示,上层往buf list里面提交新的buf,并唤醒显示线程,显示线程从buf list中取buf,并显示,显示完成后把buf从buf list中删除,再从buf list中取下一个buf用于显示,如此循环,如果buf list为空,则显示线程进入睡眠。
[0061] 由于墨水屏显示慢,上层生成的buf速度快,所以buf list会累积多个后续的显示buf,为保证可以快速地把最新的buf显示出来。进一步的,所述“系统上层提交新buf至buf list”,具体还包括步骤:
[0062] 判断当前buf list的长度是否大于等于预设阈值,若大于等于预设阈值,则将buf list末尾的buf替换为最新的buf。具体可如图5b所示,在本实施方式中,buf list的长度设置为2(其它实施方式中可根据实际需要任意设置),即当新的buf要加入buf list时,会检查当前buf list的长度,如果大于等于2,就会把末尾的buf替换成最新的buf,保证显示线程取到的buf是最新的,从而提高显示和响应速度。
[0063] 进一步的,考虑到被替换的buf并没有用于显示,虚拟VSync时长不变的情况下,底层buf显示地越慢,浪费的buf就越多,相当于上层做了很多的无用功;buf浪费是预料之中的,但是由于墨水屏不同的显示模式时长不同,浪费的buf也就不同,系统的无用消耗也不同,所以必须在这中间找到一个平衡点,既不过多浪费buf,也能提高显示速度,快速响应用户操作。故此进一步的,还包括步骤:根据显示模式的不同动态设置不同的帧率。
[0064] 即动态vsync(动态帧率):由于墨水屏各显示模式的时长不一样,但都大于16ms,显示越慢的模式,系统的无用消耗越多,所以引入动态虚拟VSync,即HWC中的VSync时长可以根据墨水屏的显示模式不同而动态设置,从而可以在响应速度和系统无用消耗中找不到一个平衡点,达到响应速度和减少系统功耗的目的。
[0065] 如图6所示,一种存储设备600的具体实施方式如下:
[0066] 一种存储设备600,其中存储有指令集,所述指令集用于执行:上述所提及的一种电子墨水屏设备的系统显示方法。
[0067] 需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。