电子墨水屏的刷新方法、装置及可读存储介质与流程

文档序号:32887377发布日期:2023-01-12 22:05阅读:62来源:国知局
电子墨水屏的刷新方法、装置及可读存储介质与流程

1.本发明涉及电子墨水屏领域,尤其是一种电子墨水屏的刷新方法、装置及可读存储介质。


背景技术:

2.目前,电子墨水屏越来越多地成为民众们阅读时候的首要选择。但是在android平台上,电子墨水屏由于屏幕物理特性,刷新速度较低。在手写场景下,原生刷新机制延迟超过200ms,且伴随出现其他区域闪烁。非常影响用户进行手写时候的使用感受。


技术实现要素:

3.有鉴于此,本发明实施例提供一种电子墨水屏的刷新方法、装置及可读存储介质。以提高手写场景下,电子墨水屏的刷新速度。
4.本发明的一方面提供了电子墨水屏的刷新方法,包括:响应初始化指令,并获取绘制的笔迹到缓冲区;根据所述缓冲区确定更新区域;判断所述更新区域是否为手写图层,如果所述更新区域为手写图层,则发送所述更新区域到电子墨水屏进行显示。
5.根据本发明的一些实施例,所述响应初始化指令包括:响应初始化指令,停止图层合成;通过手写区域的大小申请缓冲区,并存储所述缓冲区的句柄。
6.根据本发明的一些实施例,所述判断所述更新区域是否为手写图层还包括:如果所述更新区域为普通图层,则将所述更新区域进行图层合成得到目标更新图层,并发送所述目标更新图层到缓冲区。
7.根据本发明的一些实施例,所述将所述更新区域进行图层合成得到目标更新图层,并发送所述目标更新图层到缓冲区这一步骤后,还包括:从所述缓冲区中获取所述目标更新图层,并发送所述目标更新图层到电子墨水屏进行显示。
8.根据本发明的一些实施例,所述判断所述更新区域是否为手写图层,还包括:判断所述更新区域是否为冲突区域,如果所述更新区域为冲突区域,则等待被冲突的管道更新完毕,发送完成更新的所述冲突区域到缓冲区,其中,所述冲突区域为笔迹正在更新的区域。
9.根据本发明的一些实施例,所述等待被冲突的管道更新完毕,发送完成更新的所述冲突区域到缓冲区后,还包括:从所述缓冲区中获取完成更新的所述冲突区域,并发送所述冲突区域到电子墨水屏进行显示。
10.本发明的另一方面提供了一种电子墨水屏的刷新装置,包括:第一模块,用于响应初始化指令,并获取绘制的笔迹到缓冲区;第二模块,用于根据所述缓冲区确定更新区域;第三模块,用于判断所述更新区域是否为手写图层,如果所述更新区域为手写图层,则发送所述更新区域到电子墨水屏进行显示。
11.本发明的另一方面提供了一种电子设备,包括处理器以及存储器;所述存储器用于存储程序;所述处理器执行所述程序实现如上所述的任一项所述的电子墨水屏的刷新方
法。
12.根据本发明实施例的电子设备,至少具有与上述的电子墨水屏的刷新方法同样的有益效果。
13.本发明的另一方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如上所述的任一项所述的电子墨水屏的刷新方法。
14.根据本发明实施例的计算机可读存储介质,至少具有与上述的电子墨水屏的刷新方法同样的有益效果。
15.本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
16.本发明的实施例通过响应初始化指令,并直接获取绘制的笔记到缓冲区,实现了输入事件不通过框架获取,在手写服务中直接处理并绘制手写笔迹,简化输入流程。根据缓冲区确定更新区域,判断所述更新区域是否为手写图层,如果所述更新区域为手写图层,则发送所述更新区域到电子墨水屏进行显示。实现了绕开android原生图层合成,将手写内容直接送给显示驱动显示,从而同步刷新。通过简化输入流程,同步刷新机制提高了手写场景下,电子墨水屏的刷新速度。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明实施例提供的电子墨水屏的刷新的框架图;
19.图2是本发明实施例提供的电子墨水屏的刷新方法的步骤流程图;
20.图3是本发明实施例提供的电子墨水屏的刷新装置的示意框图;
21.图4是本发明实施例的设备的示意框图。
具体实施方式
22.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
23.在android平台上,电子墨水屏由于屏幕物理特性,刷新速度较低。在手写场景下,原生刷新机制延迟超过200ms,且伴随出现其他区域闪烁。为了解决电子墨水屏手写场景下刷新慢的问题,行业内目前有如下方案:
24.(1)设置特定刷新模式,处理手写场景下屏的刷新方式。
25.(2)手写笔迹区域更新显示,这部分行业内是深度定制化,从应用端到底层驱动,整条通路配合,实现手写笔迹刷新。
26.(3)使用eink tcon硬件处理手写内容。
27.但是,现有技术存在以下问题:
28.(1)android原生刷新框架流程复杂,在手写场景下小区域更新也会造成整个屏幕进行合成,消耗系统资源和时间。
29.(2)android电磁笔数据通过原生的输入框架上报耗时,增加手写输入延迟。
30.(3)用户层与驱动层之间共享buffer,需要通过buffer句柄反复map和unmap虚拟地址,增加系统延迟。
31.(4)电子墨水屏刷新机制,在处理刷新区域冲突下会导致刷新等待,增加手写显示延迟。
32.为此,提出了一种电子墨水屏的刷新方法、装置及可读存储介质,以提高手写场景下,电子墨水屏的刷新速度,可以运用在android电子墨水屏产品中。
33.以下先对文中出现的术语进行解释:
34.surfaceflinger:是一个进程,surfaceflinger作用是接受多个来源的图形显示数据,将他们合成,然后发送到显示设备。
35.句柄:是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例。
36.eink hwc:是android中进行窗口(layer)合成和显示的hal层模块,其实现是特定于设备的。
37.buffer:缓冲区,暂时存放输入输出数据的一段内存。
38.eink200:电子墨水。是融合化学,物理和电子学的整体产生的一种新材料。具有易读性,柔性,易廉价制造和低功耗的特点。
39.de:de指的是display engine,是soc中带的显示合成模块。
40.tcon:也叫逻辑板,屏驱动板,中心控制板。
41.参照图1,提供了具体实施例中执行电子墨水屏的刷新的框架图:
42.应用包括:手写应用;框架包括:窗口管理服务、手写服务、surfaceflinger;硬件抽象层包括:eink hwc;屏幕驱动包括:input、de和eink200。
43.在android原生显示框架中,增加手写服务管理手写刷新流程,手写应用对接原生显示框架的同时对接新增的手写服务的接口。手写初始化时,通知手写服务开启手写模式,停止surfaceflinger合成,避免整个屏幕刷新合成。同时传入手写区域的surface,手写服务通过surface的大小申请显示buffer,将句柄传入hwc,同时启动绘制笔迹的线程。手写过程中,手写服务获取input事件,直接绘制手写笔迹,实时更新笔迹区域,手写服务不通过input服务层,直通驱动获取input事件。屏幕驱动接收到更新区域后,直接将显示buffer中区域更新到墨水屏,其中冲突的区域则等待合并,直到当前所有笔迹更新完成后再统一下发。在android平台下,电子墨水屏产品特性导致常规应用手写笔迹更新速度延迟很大,因此通过单独开通手写服务,处理输入事件与显示刷新,充分利用电子墨水屏特性进行显示更新,降低了手写笔迹更新的延迟时间,提高了更新速度。要说明的是,手写服务也可以是直接集成在原生显示框架中,不作为单独服务存在,但提供相近的功效。亦或者手写服务的工作由手写应用做,手写应用直接对接到硬件抽象层,也能提供相近的功效。
44.参考图2,本发明的实施例的方法包括步骤s100-s300。
45.步骤s100,响应初始化指令,并获取绘制的笔迹到缓冲区。
46.具体地,响应初始化指令,触发手写模式,停止surfaceflinger使得图层合成,这是为了避免屏幕刷新合成,之后根据手写区域的surface的大小申请缓冲区,并将句柄传导hwc中,启动绘制笔迹的线程,以上都是手写前的初始化工作。手写过程中,屏幕驱动接收到更新后,获取绘制的笔迹到缓冲区。其中,要说明的是,目前常用技术中,用户层与驱动层之间共享buffer,需要通过buffer句柄反复map和unmap虚拟地址,增加系统延迟。通过将句柄传导在hwc中,手写内容buffer使用同一个物理地址维护,因此不需要每次更新内容时重新map、unmap。优化了显示驱动map和unmap过程,降低驱动延迟。通过管理应用surface图层,绕过android surfaceflinger合成机制。手写模式下手写区域ui图层不再触发图层更新。
47.步骤s200,根据缓冲区确定更新区域。
48.具体地,手写过程中,根据电磁笔输入绘制对应笔迹到缓冲区中,并下发更新区域。
49.步骤s300,判断更新区域是否为手写图层,如果更新区域为手写图层,则发送更新区域到电子墨水屏进行显示。
50.在步骤s300中,还包括以下步骤:
51.如果更新区域为普通图层,则将更新区域进行图层合成得到目标更新图层,并发送目标更新图层到缓冲区;从缓冲区中获取目标更新图层,并发送目标更新图层到电子墨水屏进行显示。
52.如果更新区域为手写图层,判断更新区域是否为冲突区域,如果更新区域为冲突区域,则等待被冲突的管道更新完毕,发送完成更新的冲突区域到缓冲区,其中,冲突区域为笔迹正在更新的区域;从缓冲区中获取完成更新的冲突区域,并发送冲突区域到电子墨水屏进行显示。
53.具体地,hwc用于判断更新区域是否为手写图层,如果是手写图层,则继续判断该更新是否为冲突区域,对于手写图层中非冲突区域,送到eink进行显示;对于是冲突区域的手写图层,则等待更新的一笔完成后,再统一将冲突区域合并,再送到eink进行显示。如果经过hwc进行判断,更新区域不是手写图层,则代表是普通应用surfaceflinger进行了更新,因此送到de进行图层合并得到目标更新图层,并送到eink进行显示。墨水屏的屏驱动中设计有ioctl接口,应用可以获得buffer对应的dma地址,驱动中直接使用该dma物理地址。通过服务层直通显示层,在处理手写区域过程中绕过android原生图层合成,手写内容直接送给显示驱动显示。当有手写笔迹更新时,不需要刷新完整屏幕,通知hwc层进行更新区域的刷新,输入事件不通过框架获取,在手写服务中直接处理并绘制手写笔迹。从而使得延迟的时间降低,速度提高。
54.在另一实施例中,对于更新区域的显示通路具体为:
55.上层图层经过de合成后回写到内存buffer中。eink从内存buffer获取显示内容到屏幕上。通过de回写功能,将笔迹的冲突区域暂时不送显示,待手写一笔完成后再统一将冲突区域合并,一同更新到屏幕显示。
56.一方面,参照图3,本实施例提供一种电子墨水屏的刷新装置,至少包括:第一模块410,第二模块420,第三模块430。
57.具体地,第一模块410响应初始化指令,并获取绘制的笔迹到缓冲区,第二模块420
与第一模块410相连接,获取第一模块410中的缓冲区确定更新区域,第三模块430与第二模块420相连接,判断更新区域是否为手写图层,如果是,则发送更新区域到电子墨水屏的显示驱动中进行显示。能理解的是,装置包括有如图1的框架,并能够执行如图2的方法。
58.此外,本技术通过应用进行开发与普通android应用基本一致,仅需设置特殊变量标志。开发通用性高。针对手写场景定制化,性能接近硬件实现水平,体验接近纸张书写效果。而采用软件实现方案,省去一些硬件ip模块,节约成本。
59.参照图4,本实施例提供一种电子设备,包括处理器510以及与处理器510耦接的存储器520,存储器520存储有可被处理器510执行的程序指令,处理器510执行存储器520存储的程序指令时实现上述的目标风险网站检测方法。其中,处理器510还可以称为cpu(central processing unit,中央处理单元)。处理器510可能是一种集成电路芯片,具有信号的处理能力。处理器510还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器,或者,通用处理器还可以是任何常规的处理器等。存储器520可包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。存储器520还可包括:(例如,存储于一个或多个机器可读介质的)指令(例如,软件);该指令实现上述实施例中的目标风险网站检测方法。该电子设备具有搭载并运行本发明实施例提供的目标风险网站检测的软件系统的功能,例如,个人计算机(personal computer,pc)、手机、智能手机、个人数字助手(personal digital assistant,pda)、可穿戴设备、掌上电脑ppc(pocket pc)、平板电脑等。
60.本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2所示的方法。
61.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
62.此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
63.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
64.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
65.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
66.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
67.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
68.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
69.以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1