CN108885775B - 一种显示方法及终端 - Google Patents
一种显示方法及终端 Download PDFInfo
- Publication number
- CN108885775B CN108885775B CN201680084262.8A CN201680084262A CN108885775B CN 108885775 B CN108885775 B CN 108885775B CN 201680084262 A CN201680084262 A CN 201680084262A CN 108885775 B CN108885775 B CN 108885775B
- Authority
- CN
- China
- Prior art keywords
- data
- display
- layer data
- layer
- buffer area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例提出一种显示方法,包括对第一显示数据进行绘图生成第一图层数据,并存入第一缓存区;对第二显示数据进行绘图生成第二图层数据,并存入第二缓存区;停止对显示数据进行绘图;获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;获取所述第二缓存区的所述第二图层数据进行处理后,显示根据所述第二图层数据生成的图像。该方案可以减少终端对显示数据的绘图频率,降低功耗。在显示数据没有变化的情况下,该方案在降低终端功耗的同时,正常显示图像,不影响用户的体验。
Description
技术领域
本发明涉及显示系统技术领域,尤其涉及一种显示方法及终端。
背景技术
目前的多种终端,例如计算机、手机、平板电脑、销售终端(Point of Sales,POS)或车载电脑等,均含有显示系统,用于呈现用户界面(User Interface,UI),实现人机交互。
Android平台中,要实现光标的闪烁显示,需要Android系统从上到下实现绘图、缓存、合成和显示的流程。显示系统需要调用图形处理器(Graphics Processing Unit,GPU)交替地对包含光标和不包含光标的显示数据进行绘图,然后经帧缓存区(FrameBuffer)缓存、图层合成(Surface Flinger)等处理后显示到显示面板,来实现光标的闪烁显示。但是,如果用户在一段时间内并没有任何操作,显示内容也没有变化,而显示系统仍然需要交替重复地对相同的显示数据进行上述处理,然后显示给用户,这种情况下,显示系统的处理过程会给终端带来一定的资源和功率的浪费。尤其针对当前电池储备小、待机时间短的智能终端,节省电量消耗显得尤为重要。
发明内容
本发明实施例公开了一种显示方法及终端,以优化现有的显示系统的处理过程,减少终端的显示功耗。
第一方面,本发明实施例提供了一种显示方法,包括:
对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入第一缓存区;
对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入第二缓存区,所述第二缓存区不同于所述第一缓存区;
停止对显示数据进行绘图;
获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;
获取所述第二缓存区的所述第二图层数据进行处理后,显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像。
该方案可以减少终端对显示数据的绘图频率,降低功耗。在显示数据没有变化的情况下,该方案在降低终端功耗的同时,正常显示图像,不影响用户的体验。
根据第一方面,在第一方面的第一种实现方式中,所述第一显示数据包括光标图片的显示数据,所述第二显示数据包括所述光标图片的位置对应的背景图片的显示数据。
终端的显示模块交替显示光标图片和光标位置的背景图片,以实现光标的正常闪烁显示。
根据第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,在所述停止对显示数据进行绘图之后,所述方法还包括:
获取第三显示数据;
若所述第三显示数据与所述第一显示数据相同或所述第三显示数据与所述第二显示数据相同,获取所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像。
若当前获取的显示数据与之前的显示数据相同,终端不必对当前获取的显示数据进行绘图,而通过获取之前绘图生成并存储的图层数据进行处理并显示。该过程简化了绘图流程,大大降低了绘图功率。
根据第一方面或第一方面的第一种实现方式,在第一方面的第三种实现方式中,在所述停止对显示数据进行绘图之后,所述方法还包括:
获取第三显示数据;
若所述第三显示数据不同于所述第一显示数据或第二显示数据,对所述应用的第三显示数据进行绘图生成第三图层数据,并将所述第三图层数据存入第三缓存区;
获取所述第三缓存区的所述第三图层数据进行处理后,显示根据所述第三图层数据生成的图像。
若当前获取的显示数据与之前的显示数据不同,终端重新启动对当前获取的显示数据的绘图,以保证终端的正常的界面显示,不影响用户体验。
根据第一方面至第一方面的第三种实现方式的任一种实现方式,在第一方面的第四种实现方式中,在所述停止对显示数据进行绘图之前,所述方法还包括:
检测到触发事件。
终端在停止绘图前,可以先检测是否有停止绘图的触发事件,以保证停止绘图不会对终端的正常显示产生影响。
根据第一方面的第四种实现方式,在第一方面的第五种实现方式中,所述触发事件为所述光标图片的位置没有变化。
光标图片的位置没有变化,说明文本的显示内容基本也没有变化,因此可以通过光标图片的位置变化来判断显示数据是否发生变化,作为是否可以停止绘图的触发事件。
根据第一方面的第一种实现方式至第一方面的第五种实现方式中的任一种实现方式,在第一方面的第六种实现方式中,对所述第一显示数据进行绘图生成第一图层数据,包括:
获取所述光标图片的显示数据和所述光标图片的位置;
调用图像处理器GPU对所述光标图片的显示数据进行绘图生成第一图层数据,以将所述第一图层数据写入所述光标图片的位置对应的第一缓存区;
对所述应用的第二显示数据进行绘图生成第二图层数据,包括:
获取所述背景图片的显示数据和所述光标图片的位置;
调用图像处理器对所述背景图片的显示数据进行绘图生成第二图层数据,以将所述第二图层数据写入所述第二缓存区中所述光标图片的位置对应的数据区。
GPU可以对显示数据进行绘图,将显示数据中的各显示内容写入该内容对应的数据区。GPU交替地将光标图片的显示数据和背景图片的显示数据写入光标图片的位置对应的数据区,以实现光标的闪烁显示。
第二方面,本发明实施例一种具有显示功能的终端,包括:一个或多个处理器,存储器、显示屏以及总线,所述一个或多个处理器、所述存储器和所述显示屏通过所述总线通信;
所述存储器用于存储指令;
所述显示屏用于显示用户界面;
所述一个或多个处理器用于调用所述存储器中的指令执行:
对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入第一缓存区;
对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入第二缓存区,所述第二缓存区不同于所述第一缓存区;
停止对显示数据进行绘图;
获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;
获取所述第二缓存区的所述第二图层数据进行处理后,显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像。
该终端能实现第一方面提供的方法,该终端可停止对显示数据的绘图,降低绘图频率,因此可以节省功耗。在显示数据没有变化的情况下,该方案在降低终端功耗的同时,正常显示图像,不影响用户的体验。
本发明实施例第二方面提供的终端,还可以实现本发明实施例第一方面的第一种实现方式至第七种实现方式中的任意一种实施方式。具体可参见上述本发明实施例第一方面的相关实施方式的内容,此处不再赘述。
第三方面,本发明实施例
一种具有显示系统的终端,其特征在于,所述显示系统包括:控制模块、绘图模块、合成模块、存储模块和显示模块;
所述控制模块,用于调用所述绘图模块进行绘图,控制所述合成模块对图层数据进行处理;
所述绘图模块,用于对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入所述存储模块的第一缓存区;
所述绘图模块,还用于对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入所述存储模块的第二缓存区,所述第二缓存区不同于所述第一缓存区;
所述存储模块包括第一缓存区和第二缓存区,所述第一缓存区用于存储第一图层数据,所述第二缓存区用于存储第二图层数据;
所述绘图模块,还用于根据所述控制模块的控制停止对显示数据进行绘图;
所述合成模块,用于根据所述控制模块的控制获取所述第一缓存区的所述第一图层数据进行处理;
所述显示模块,用于显示根据所述第一图层数据生成的图像;
所述合成模块,还用于根据所述控制模块的控制获取所述第二缓存区的所述第二图层数据进行处理;
所述显示模块,还用于显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像。
该终端的显示系统可以停止对显示数据的绘图,降低绘图频率,因此可以节省功耗。在显示数据没有变化的情况下,该方案在降低终端功耗的同时,正常显示图像,不影响用户的体验。
本发明实施例第三方面提供的一种具有显示系统的终端还可以实现本发明实施例第一方面的第一种实施方式至第七种实施方式中的任一种实施方式的内容,此处不再赘述。
第四方面,本发明实施例一种显示方法,包括:
获取光标图片的位置和光标图片的显示数据;
将所述光标图片的显示数据写入存储器中所述光标图片的位置对应的存储区,生成第一图层数据;
获取所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;
获取光标图片的位置和背景图片的显示数据;
将所述背景图片的显示数据写入存储器中所述光标图片的位置对应的存储区,生成第二图层数据;
获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第二图层数据生成的图像。
该方案中,终端可直接将光标图片的显示数据和背景图片的显示数据直接写入存储器中光标图片的位置对应的数据区,而不用调用处理器进行绘图。这可以减少终端对显示数据的绘图频率,降低功耗。在显示数据没有变化的情况下,该方案在降低终端功耗的同时,正常显示图像,不影响用户的体验。
根据第一方面,在第一方面的第一种实现方式中,在所述生成第一图层数据之前,所述方法还包括:
检测到触发事件。
终端在停止绘图前,可以先检测是否有停止绘图的触发事件,以保证停止绘图不会对终端的正常显示产生影响。
根据第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述触发事件为所述光标图片的位置没有变化。
光标图片的位置没有变化,说明文本的显示内容基本也没有变化,因此可以通过光标图片的位置变化来判断显示数据是否发生变化,作为是否可以不绘图而直接将光标图片的显示数据直接写入存储器中对应存储区的触发事件。
本发明实施例还可以提供实现上述第四方面的显示方法的终端,此处不再一一例举。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种终端的显示系统的架构图;
图2是本发明实施例公开的一种终端的显示系统的处理流程;
图3和图4是本发明实施例公开的一种显示系统实现光标显示的绘图流程的简单示意图;
图5是本发明实施例公开的一种显示方法示意图;
图6是本发明实施例公开的又一种显示方法示意图;
图7是本发明实施例公开的又一种显示方法示意图;
图8是本发明实施例公开的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。为了理解本发明,在以下详细描述中提到了众多具体细节。但是本领域技术人员应该理解,本发明可以无需这些具体细节实现。在其他实例中,不详细描述公知的方法、过程、组件和电路等,以免造成实施例不必要地模糊。显然,以下所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中使用的术语是为了更好地描述特定的实施例,而并不限定本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。进一步应当理解,本文中采用的术语“包括”规定了所述的特征、整体、步骤、操作、元件和/或部件的存在,而不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或它们的组的存在或附加。
本发明涉及的“终端”,为含有显示系统,可以实现人机交互功能的设备,该终端可以为计算机、手机、平板电脑、销售终端(Point of Sales,POS)或车载电脑等,在本本发明实施例中,以手机为例进行说明。
显示系统,可内置于终端中,用于呈现用户界面(User Interface,UI),实现人机交互,可以对图像进行处理,并显示于显示系统中的显示面板,其中,该显示面板可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置。
图层,由许多像素组成,是构成图像的基本单元。一帧图像可以是一个图层,也可以为多个图层通过上下叠加的方式组成。图层就像是含有文字或图形等元素的胶片,一张张按顺序叠放在一起,组合起来形成图像的最终效果。
在本发明实施例中,图层数据是指终端对待显示数据进行绘图后生成的数据,例如,经GPU绘图后生成的缓存至存储器中,可经后续进行图层合成处理的数据。
参见图1,图1示出了本发明实施例的终端适用的显示系统的架构图。该显示系统100可包括控制模块101、绘图模块102、合成模块103、存储模块104、显示模块105,以及时钟模块107。
具体的,控制模块101可以向显示系统100中的绘图模块102、合成模块103以及显示模块105发送控制信号,实现对上述模块的控制,使绘图模块102、合成模块103以及显示模块105根据控制信号处理图像数据。
绘图模块102在接收到所述控制模块101的绘图控制信号后,获取所述终端需要显示的一个或多个应用(如图中应用1至应用n)的待显示数据,并根据获取的多个待显示数据进行绘图处理,生成多个图层数据,并将生成的多个图层数据发送至所述存储模块104。
合成模块103在接收到所述控制模块101的合成控制信号后,从所述存储模块104中获取所述多个图层数据,进行图层合成,生成一帧最终的图像,并将生成的图像发送至所述存储模块104,其中,所述合成模块103在进行图层合成中,还可包括硬件合成(HardwareCompose,HWC)过程。
存储模块104,通常为缓存器,存储所述绘图模块102生成的多个图层的图层数据,以及存储所述合成模块103生成的图像。在本发明实施例中,该存储模块104可以是指终端存储空间的一部分,如可以是专门用来存储终端的屏幕显示信息的帧缓存区FrameBuffer。
显示模块105,包括显示面板106。显示模块105在接收到所述控制模块101的显示控制信号后,获取所述存储模块104中的所述图像,并将所述图像推送至所述显示面板106进行显示。
显示模块时钟模块107,用于设定时钟和/或统计时间。该时钟模块107每隔设定时长,向所述控制模块101发送时钟信号,通知所述控制模块101触发控制信号,控制绘图模块102、合成模块103以及显示模块105,执行对应的流程。
因此,现有的,通过如图1所示的显示系统100,可实现显示图像的处理流程。
图2是终端的显示系统的处理流程图,该显示图像的处理流程可包括:
绘图流程202:也可称为应用绘图流程;获取需要显示的一个或多个应用的待显示数据,对所述待显示数据进行绘图处理,生成一个或多个图层的图层数据;
可选的,绘图流程可包括基于软件的绘图模式和/或硬件加速绘图模式。在基于软件的绘图模式下,由CPU主导绘图。在硬件加速绘图模式下,由图形处理器(GraphicsProcessing Unit,GPU)主导绘图。在本发明实施例中,GPU可单独与专用电路板以及附属组件组成显卡,或单独一片芯片直接内嵌入到主板上,或者内置于主板的芯片中,也可内置于CPU上组成系统芯片(System on Chip,SoC),对此本发明不作具体限定。
缓存流程204:在存储模块中缓存绘图流程中生成的已进行绘图的图层数据;例如,硬件加速绘图模式中,该缓存流程中的存储模块可存储GPU绘图生成的图层数据。
合成流程206:也可称为图层合成流程;显示系统可调用Android系统的SurfaceFlinger服务对绘图流程202中生成的多个图层的图层数据进行合成处理,生成一帧待显示的图像;Surface Flinger服务是Android系统的系统级服务(Service);可选的,该合成流程还可包括HWC处理等。
显示流程208:将上述合成流程206生成的所述待显示的图像进行器件显示处理,将所述待显示的图像推送至显示面板进行显示。
具有图1所示的显示系统的终端依据图2所示的图像处理流程的相关处理可实现用户界面的显示,实现人机交互。显示在用户界面的对象可包括图片、文字、视频等,本发明不作具体限定。
本发明实施例以文本输入框的显示为例进行说明。文本编辑是具有显示系统的终端的基本功能。当用户在一个文本输入框或某种程序中输入文字时,总有一个光标来显示你将要输入文字的位置。现在大部分的光标都为一个小竖线,间隔预定时间地有规则地闪动。而在一些特定的系统或程序中,有些光标是短短的小横线,但也会周期性地有规则地闪动。当然,某些光标也可以是一些特定的图像,甚至可以在不同情况下有不同的呈现状态,如windows系统的某些光标。
在Android系统中,显示系统通过线程来实现上述光标的闪烁显示。例如,显示系统可以每隔500ms交替地将光标图片和对应光标位置的背景图片与其他的显示数据一起送入GPU进行绘图,并将GPU绘图生成的图层数据缓存到存储模块,例如FrameBuffer,然后经过调用Android系统的Surface Flinger服务进行处理的合成流程和器件显示流程进行显示,实现光标的闪烁效果。
可以理解的是,本发明实施例提供的方案虽然是以文本输入框中光标的闪烁显示为例进行说明的,但本发明的方案适用于所有类似于光标闪烁的具有重复闪烁对象的应用或状态栏,并不仅限于实现光标的闪烁显示。具体的,类似于光标闪烁的具有重复闪烁对象的应用或状态栏可包括通知栏中的即时通知消息,如通知栏的QQ通知消息,在QQ接收到新消息且处于未读状态时,在通知栏界面会有一通知消息的图片一直闪烁显示,以提醒用户有未读消息;也可包括显示界面具有重复闪烁的标识的应用;等等,本发明对重复闪烁显示的对象不作具体限定。
图3和图4为终端的显示系统实现光标显示的绘图流程的简单示意图。该绘图流程由显示系统的控制模块控制绘图模块来实现,并由控制模块控制将生成的图层数据缓存至存储模块,例如FrameBuffer。
图3为绘制包含光标图片的显示数据的绘图流程。
S402a,在第一绘图时序,获取光标位置和光标数据。
可以理解的是,第一绘图时序为绘图模块接收到控制模块的绘图控制信号后进行绘图处理的时间。
显示系统的控制模块可以根据应用的用户界面的屏幕显示信息获取到光标图片的位置。例如,显示系统可以通过Android系统的线程来获取光标图片的显示数据以及光标位置,具体的,如获取光标位置的方法可参见Android4.0系统的实现。获取光标的位置的方式可以有多种,对此本发明不作限定。假定,显示系统获取到光标图片当前的位置,即光标位置,为A(Xa,Ya)。
可选的,光标数据,即光标图片的显示数据,可以是由一组二维矩阵组成,例如可以是16×16或32×32的二维矩阵。光标数据可以包括光标的大小、形状、颜色等信息中的一种或多种信息。当显示系统中已存储各类光标的显示数据时,光标数据也可以是指示相应光标的存储位置或其他标识能指示获取到相应光标的数据。光标数据对应光标的屏幕显示信息,对于光标数据的具体内容,本发明实施例不作具体限定。
S404a,将获取的光标位置和光标数据送入GPU进行绘图。
显示系统的控制模块控制将光标数据和其他待显示数据送入GPU进行绘图。其他待显示数据是该应用的其他显示内容,具体的,如光标图片周边的文字内容。
S406a,GPU将光标数据写入对应光标位置的数据区,以实现含有光标图片的绘图。
GPU将所有待显示数据根据各待显示数据的位置写入对应的数据区。根据获取的光标位置,如位置A,GPU将光标数据写入位置A对应的数据区。
S408a,将GPU绘图生成的第一图层数据缓存至存储模块,以便于显示系统实现后续的合成、显示流程。
在GPU完成绘图后,显示系统的控制模块可控制将GPU绘图生成的包含光标的第一图层数据存储至存储模块。
显示系统执行合成流程时,可从存储模块中获取第一图层数据进行合成处理生成待显示图像。显示系统的显示流程可将该待显示图像推送至显示面板进行显示。可以理解的是,显示流程将待显示图像推送至显示面板进行显示前,可进行其他处理,如将待显示图像与显示面板的特性进行匹配等,对此本发明不作限定。其他关于合成流程和显示流程的内容可参见图1和图2中的相关描述,此处不再赘述。
图4为绘制不包含光标图片的显示数据的绘图流程。
S402b,在第二绘图时序,获取光标位置和对应光标位置的无光标时的背景图片的显示数据。
可以理解的是,第二绘图时序也为绘图模块接收到控制模块的绘图控制信号后进行绘图处理的时间。第二绘图时序不同于第一绘图时序。第一绘图时序和第二绘图时序只是用来标识不同的绘图流程,并不具有其他限定。
获取光标的位置的方法可参见上述S402a的描述,此处不再赘述。与S402a不同的是,此处获取的不是光标数据,而是不显示光标图片时,对应光标位置的背景图片的显示数据,以下可简称背景数据或背景图片数据。该背景数据与光标位置的相邻区域的背景数据相匹配。
S404b,将光标位置和该无光标时的背景图数据输入GPU进行绘图。
显示系统的控制模块控制将背景图片数据和应用的其他显示数据送入GPU进行绘图。
S406b,GPU将背景图片数据写入对应光标位置A的数据区,以实现不含光标图片的绘图。
GPU将所有待显示数据写入对应位置的数据区。根据获取的光标位置,如位置A,GPU将背景图片数据写入位置A对应的数据区。可以理解的是,GPU可对所有的数据进行重新绘图,也可只对显示数据有变化的位置进行重新绘图,本发明实施例不作具体限定。
S408b,将GPU绘图生成的第二图层数据缓存至存储模块,以便于显示系统实现后续的合成、显示流程。
在GPU完成绘图后,显示系统的控制模块可控制将GPU绘图生成的不包含光标的第二图层数据存储至存储模块。
显示系统执行合成流程时,可从存储模块中获取第二图层数据进行合成处理生成待显示图像。显示系统的显示流程可将该待显示图像推送至显示面板进行显示。该步骤的处理与S408a类似,可参见S408a的描述,此处不再赘述。
通常情况下,当一个绘图流程执行完后,显示系统可直接或间隔相应时间段控制绘图模块执行下一个绘图流程。可选的,显示系统的图像处理流程可并行处理,如第一个图像处理流程中的合成流程和第二个图像处理流程中的绘图流程可同时处理;显示系统的图像处理流程也可串行处理,即显示系统执行完第一个图像处理流程的整个流程后再执行第二个图像处理流程。本发明实施例对显示系统的图像处理流程的不同处理流程间的串并行处理方式不作具体限定。
终端的显示系统在第一绘图时序时,通过GPU绘图将光标的数据写入光标的位置A对应的数据区;在下一个绘图时序时,若光标的位置没有变化,那么终端的显示系统将没有光标时的对应光标位置的背景图片数据写入对应位置A的数据区,以实现不含有光标图片的绘图。可以理解的是,实现绘图流程可能需要终端的其他结构或电路的参与、可能包含更多的控制信令、更多的步骤等,此处不作详细描述。
根据上述对显示系统和图像显示的处理流程的描述可知,现有的显示系统要实现光标闪烁显示,每一次显示都需要调用绘图流程对各应用的显示数据进行绘图,例如:现有的硬件加速绘图模式,显示系统每次都需要调用GPU进行绘图。通常,各应用的显示数据并不是时刻都在变化。若一段时间内,需绘图的待显示数据没有变化,在每一个绘图时序中,都需要调用GPU对相同的待显示数据进行重复绘图,这一定程度上造成了资源的浪费,且增加终端显示系统的功耗。
图5所示为本发明实施例提供一种显示方法。图5是在图3和图4基础上提供的一种显示方法,以优化现有的显示方法,降低显示功耗。图5所示的方法中与图4相同或相似的步骤可参见图4的相关描述。
S502,获取光标位置和光标数据;
该光标位置可以是当前获取的光标位置,也可以是之前已获取并记录的光标位置。关于光标位置和光标数据的获取方法,此处不再赘述。
S504,将光标数据写入存储器中对应光标位置的数据区;
在执行步骤S502之前的绘图时序对应的绘图流程中,GPU已将待显示数据进行绘图,并缓存至存储器的相应的数据区。在此步骤S504中,显示系统不调用GPU对应用的待显示数据进行绘图,而是通过显示系统的控制,直接将光标数据写入存储器中对应位置的数据区。例如,显示系统可以通过Android系统的Binder机制将光标图片对应的光标数据,不经GPU绘图,写入光标位置对应的数据区。
可以理解的是,在本发明实施例中,将光标数据直接写入存储器中对应光标位置的数据区,是指光标数据存储到存储器不需要进行绘图,如调用GPU对光标和相关联的显示数据进行绘图,并不是指不需要进行其他的信令控制和处理。
S506,获取存储器中存储的第一图层数据进行Surface Flinger合成、显示;
该过程可参见图1和图2对应的实施例的相关描述,此处不再赘述。
S508,获取光标位置和对应光标位置的背景图片数据;
S510,将背景图片数据写入存储器中对应光标位置的数据区。
与步骤S504类似,该步骤中显示系统也不调用GPU对应用的待显示数据进行绘图,而是通过显示系统的控制,直接将背景图片数据写入存储器中对应位置的数据区。
S512,显示系统获取存储器中存储的第二图层数据进行Surface Flinger合成、显示。
本发明实施例的方案可以通过将包含光标图片的待显示数据直接写入存储器,如FrameBuffer,来实现显示处理过程的绘图流程和缓存流程。该显示方法中,显示系统需要依次将光标图片的显示数据或背景图片数据传输到FrameBuffer,虽然频繁的图片显示数据的传输会给系统带来一定的负担,但该方法不需要每次都调用GPU绘图,降低了GPU绘图的频率,从而节省了系统资源,并降低了终端的显示系统的功耗。
上述方案适用于存储器中存储的显示数据不需要进行压缩编码的终端。若经绘图流程处理的图层数据缓存至存储器时不需要进行压缩编码,显示系统可直接将光标的数据写入存储器中对应光标位置的数据区。若将绘图流程处理的图层数据缓存至存储器之前,需要将图层数据按预设格式进行压缩编码,比如使用ARM的帧缓存压缩(Arm Frame BufferCompression,AFBC)算法,则显示系统需将存储器中光标的位置相关联的数据先进行解码,然后写入光标的数据后,再将该区块的数据进行编码后存入相应的缓存区。在存储器中存储的显示数据需要进行压缩编码的情况下,可能需要额外分配内存来保存相应区块解码后的数据,这可能会造成一定额外空间的占用和一定的性能损失。
图6是本发明实施例提供的另一种显示方法。该显示方法在图4所描述的显示方法上进行了进一步优化,在用户无操作、除光标位置外的显示数据无变化的情况下,无需绘图流程即可实现正常的显示。该显示方法无需终端每次都将光标图片的数据或背景图片的显示数据传输到存储器FrameBuffer,这样,可以减少频繁的图片显示数据的传输给系统带来的负担,也无需考虑数据的存储是否需要压缩编码。
如图6所示,该显示方法包括:
S604,终端对第一显示数据进行绘图,存入第一缓存区;
终端的显示界面可以包含具有文本输入框的应用。终端可以调用GPU对第一显示数据进行绘图。例如,第一显示数据可以为包含光标图片的显示数据。终端将绘图的第一显示数据存入第一缓存区。第一缓存区可以是专门用来存储显示数据的存储区,例如FrameBuffer。
可以理解的是,该第一显示数据可以是某一应用的显示界面的显示数据,也可以是指某一应用的某一窗口的显示数据,还可以是指光标图片的显示数据或光标图片位置对应的背景图片的显示数据,等。或者,该第一显示数据可以是多个图层的显示数据,也可以是一个图层的显示数据。
S606,终端对第二显示数据进行绘图,存入第二缓存区,该第二缓存区不同于第一缓存区;
终端可以调用GPU对应用的第二显示数据进行绘图。可选的,第二显示数据可以为包含对应光标位置的背景图片的显示数据,即不包含光标的显示数据。终端将绘图生成的第二图层数据存入第二缓存区。第二缓存区也可以是专门用来存储显示数据的存储区,例如FrameBuffer。可以理解的是,第一缓存区与第二缓存区只是存储地址的不同。第一缓存区与第二缓存区也可以用不同的标号来标识。第一缓存区与第二缓存区可以是地址连续的缓存区,也可以是地址不连续的缓存区。
S608,当检测到触发事件时,终端停止对显示数据进行绘图;
可选的,对于具有文本输入框的显示数据,终端可通过检测光标位置是否变化,来确定是否停止对显示数据进行绘图。具体的,终端获取第三显示数据,在GPU绘图前,若终端检测到当前获取的第三显示数据包括的光标位置与第一显示数据和第二显示数据包括的光标位置相同,终端的显示系统则停止对当前的第三显示数据的绘图。
可选的,终端也可通过监测用户的操作是否满足预设条件,来确定是否停止对显示数据进行绘图。例如,用户每次结束操作即可触发计时器。当用户对该终端无操作的时间超过预定时长时,即计时器的时间超过预定时长时,终端的显示系统停止调用GPU对显示数据进行绘图。
在一种可选的实施方式中,终端也可检测除光标位置外的显示数据。当终端检测到对除光标位置外的第三显示数据与第一或第二显示数据相同,可触发终端停止对该应用的显示数据进行绘图。或者,对相同的显示数据进行绘图的总时长超过预定时长时,触发终端停止对该应用的显示数据进行绘图。
在另一种可选的方式中,终端检测到对除光标位置外的相同的显示数据进行绘图的次数超过预设次数时,即可触发终端停止对该应用的显示数据进行绘图。
终端停止对该应用的显示数据的绘图时,第一缓存区存储了该应用已绘图好的含有光标的图层数据,第二存储区存储了该应用的已绘图好的不含有光标而含有光标对应位置的背景图片的显示数据的图层数据。
S610,终端获取第一缓存区的第一图层数据进行合成处理后进行显示;
终端获取第一缓存区的数据送入图层合成模块进行合成后,将根据第一图层数据生成的图像显示至显示面板。可以理解的是,终端图层合成模块对显示数据进行合成后,可能还需要进行其他处理,本申请的方案对该内容不进行具体说明。
S612,终端获取第二缓存区的第二图层数据进行合成处理后进行显示。
终端获取第二缓存区的数据送入图层合成模块进行合成后,将根据第二图层数据生成的图像显示至显示面板。可以理解的是,终端图层合成模块对显示数据进行合成后,可能还需要进行其他处理,本申请的方案对该内容不进行具体说明。
S614,终端判断显示数据是否发生变化,若是,终端执行步骤S616;若否,终端执行步骤S610和S612;
终端判断显示数据是否发生变化可以是在终端获取第二缓存区的第二图层数据进行处理之后,即在步骤S612之后,也可以是在获取第一缓存区的第一图层数据进行处理之后,即在步骤S610之后;还可以是在终端停止对显示数据进行绘图之后,即S608之后;等。终端对显示数据是否发生变化的判断是在每个绘图时序开始时,由于绘图流程与合成流程或显示流程可以并行处理,所以其与其他步骤的关系可以有多种,具体根据终端的绘图流程的处理方式而定,本发明实施例不做具体限定。
S616,当显示数据发生变化时,终端对第三显示数据进行绘图,存入第三缓存区,以便于终端将第三图层数据进行合成处理后显示给用户。
当显示数据发生变化时,终端重新启动对第三显示数据的绘图处理。第三显示数据不同于第一显示数据和第二显示数据。显示数据发生变化,可以是指光标的位置、形状、大小等的一种或多种发生变化,也可以是指光标所在的显示界面的其他显示数据发生了变化,例如:可以是光标相邻位置的文字的添加、删减,或者是文字的字体、显示间隔发生变化等,对此本发明实施例不作具体限定。通常情况下,上述显示数据发生变化,光标的位置会发生变化。因此,可选的,终端可以通过检测光标位置是否变化来判断显示数据是否发生变化。
可以理解的是,第三缓存区可以是与第一缓存区或第二缓存区相同的缓存区,此时,终端对应用的第三显示数据进行绘图后生成的第三图层数据将替换掉存储器中的第一图层数据或第二图层数据;第三缓存区也可以是与第一缓存区或第二缓存区不同的缓存区,即第三图层数据的存储独立于第一图层数据或第二图层数据。
若在下一个应用绘图时序,显示数据为第四显示数据,该第四显示数据与第三显示数据的区别只在于光标的位置对应的显示数据是光标图片的显示数据还是背景图片的显示数据,那么此时终端对第四显示数据进行绘图,存入第四缓存区,以便于终端将第三图层数据进行合成处理后显示给用户,实现光标的闪烁显示,其中,该第四缓存区不同于第三缓存区。
当显示数据发生变化后,终端继续监测用户的操作,当S608中触发终端停止对显示数据进行绘图的条件满足时,再次执行上述S608至S614的相关操作,直到应用的显示数据再次发生变化。
可以理解的是,终端在检测到触发事件时,可以直接停止对该显示数据进行绘图。此时,终端已执行上述S604、S606,将第一图层数据和第二图层数据存入缓存区。终端也可以是在判断预设条件满足后,执行S604和S606,对包含光标图片的显示数据和包含背景图片的显示数据的显示数据进行绘制,分别存入第一缓存区和第二缓存区,然后再停止对显示数据的绘图,如图7所示。
图7是在图6基础上提供的本发明实施例的另一种显示方法。与图6相同或相似的步骤可参见图6的相关描述,此处不再赘述。
S702,如果检测到触发事件,终端对第一显示数据进行绘图生成第一图层数据,存入第一缓存区;
该步骤中检测到触发事件的相关内容可参见S608中的描述,此处不再赘述。
S704,终端对第二显示数据进行绘图生成第二图层数据,存入第二缓存区;第二缓存区不同于第一缓存区;
S706,终端停止对显示数据进行绘图;
若该显示数据是某一应用的显示数据。在终端将第一图层数据和第二图层数据分别存入第一缓存区和第二缓存区后,终端停止对该应用的显示数据的绘图。也即,终端停止对该应用的显示数据的绘图时,第一缓存区存储了该应用已绘图好的含有光标的图层数据,第二存储区存储了该应用的已绘图好的不含有光标而含有光标对应位置的背景图片的显示数据的图层数据。
可选的,GPU绘图后的图层数据可以在FrameBuffer中按区块存取。终端对获取图层数据进行合成显示时,也可以只获取光标位置的数据进行相应的合成处理,替换掉之前合成处理好的相应位置的数据,而不需要对该应用的所有图层数据进行合成。
参见图8,本发明还提供了一种实现本发明实施例提供的方法的终端1100,用以执行上述图2至图7的显示系统的处理流程和显示方法。
图8示出了与本发明实施例相关的终端1100的部分结构的框图。参考图8,终端1100包括RF(Radio Frequency,射频)电路1110、存储器1120、其他输入设备1130、显示屏1140、传感器1150、音频电路1160、I/O子系统1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图8中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
下面结合图8对终端1100的各个构成部件进行具体的介绍:
RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1180处理;另外,将设计上行的数据发送给基站。通常,RF电路1110包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1110还可以通过无线通信与网络和其他设备通信。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行终端1100的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据终端1100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其他输入设备1130可用于接收输入的数字或字符信息,以及产生与终端1100的用户设置以及功能控制有关的键信号输入。具体地,其他输入设备1130可包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)等中的一种或多种。其他输入设备1130与I/O子系统1170的其他输入设备控制器1171相连接,在其他设备输入控制器1171的控制下与处理器1180进行信号交互。
显示屏1140可用于显示由用户输入的信息或提供给用户的信息以及终端1100的各种菜单,还可以接受用户输入。具体的显示屏1140可包括显示面板1141,以及触控面板1142。其中显示面板1141可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1141。触控面板1142,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1142上或在触控面板1142附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型。),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1142可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1142,也可以采用未来发展的任何技术实现触控面板1142。进一步的,触控面板1142可覆盖显示面板1141,用户可以根据显示面板1141显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板1141上覆盖的触控面板1142上或者附近进行操作,触控面板1142检测到在其上或附近的操作后,通过I/O子系统1170传送给处理器1180以确定用户输入,随后处理器1180根据用户输入通过I/O子系统1170在显示面板1141上提供相应的视觉输出。虽然在图8中,触控面板1142与显示面板1141是作为两个独立的部件来实现终端1100的输入和输入功能,但是在某些实施例中,可以将触控面板1142与显示面板1141集成而实现终端1100的输入和输出功能。
终端1100还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,接近传感器可在终端1100移动到耳边时,关闭显示面板1141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1160、扬声器1161,麦克风1162可提供用户与终端1100之间的音频接口。音频电路1160可将接收到的音频数据转换后的信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,麦克风1162将收集的声音信号转换为信号,由音频电路1160接收后转换为音频数据,再将音频数据输出至RF电路1110以发送给比如另一移动终端,或者将音频数据输出至存储器1120以便进一步处理。
I/O子系统1170用来控制输入输出的外部设备,可以包括其他设备输入控制器1171、传感器控制器1172、显示控制器1173。可选的,一个或多个其他设备输入控制器1171从其他输入设备1130接收信号和/或者向其他输入设备1130发送信号,其他输入设备1130可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)。值得说明的是,其他输入设备控制器1171可以与任一个或者多个上述设备连接。所述I/O子系统1170中的显示控制器1173从显示屏1140接收信号和/或者向显示屏1140发送信号。显示屏1140检测到用户输入后,显示控制器1173将检测到的用户输入转换为与显示在显示屏1140上的用户界面对象的交互,即实现人机交互。传感器控制器1172可以从一个或者多个传感器1150接收信号和/或者向一个或者多个传感器1150发送信号。
处理器1180是终端1100的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行终端1100的各种功能和处理数据,从而对移动终端进行整体监控。可选的,处理器1180可包括一个或多个处理器或处理模块;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。在本发明实施例中,上述处理器1180还可包括图像处理器GPU。GPU可单独与专用电路板以及附属组件组成显卡,或单独一片芯片直接内嵌入到主板上,或者内置于主板的芯片中,也可内置于CPU上组成系统芯片(System on Chip,SoC),对此本发明不作具体限定。
终端1100还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,终端1100还可以包括摄像头、蓝牙模块、无线保真(Wireless-Fidelity,Wi-Fi or WiFi)模块等,在此不再赘述。
图8是移动终端的通用结构框图,可以理解的是,不同的移动终端可以包括图8中更多或更少的结构。如,移动终端还可包括蓝牙模块、WiFi模块、红外模块等结构。
具体的,处理器1180包括的一个或多个处理器,可用于调用所述存储器中的指令执行:
对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入第一缓存区;
对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入第二缓存区,所述第二缓存区不同于所述第一缓存区;
停止对显示数据进行绘图;
获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;
获取所述第二缓存区的所述第二图层数据进行处理后,显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像。
该终端可停止对显示数据的绘图,降低绘图频率,因此可以节省功耗。在显示数据没有变化的情况下,该方案在降低终端功耗的同时,正常显示图像,不影响用户的体验。
该第一显示数据包括光标图片的显示数据,该第二显示数据包括所述光标图片的位置对应的背景图片的显示数据。
在所述停止对显示数据进行绘图之后,处理器1180包括的一个或多个处理器还可用于:
获取第三显示数据;
若所述第三显示数据与所述第一显示数据相同或所述第三显示数据与所述第二显示数据相同,获取所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像。
可选的,若上述获取的第三显示数据不同于所述第一显示数据或第二显示数据,对所述应用的第三显示数据进行绘图生成第三图层数据,并将所述第三图层数据存入第三缓存区;
获取所述第三缓存区的所述第三图层数据进行处理后,显示根据所述第三图层数据生成的图像。
在所述停止对显示数据进行绘图之前,所述一个或多个处理器还可用于检测触发事件。可选的,该触发事件为所述光标图片的位置没有变化。
所述一个或多个处理器对所述第一显示数据和第二显示数据进行绘图的具体可参见图3、图4的描述。
该终端可执行上述图3至图7所述的方法,具体实现细节可参考上述图3至图7中的相关描述,此处不再一一赘述。图3至图7中特征和技术效果均适用于该终端1100。
需要说明的是,实现本发明实施例的提示呼叫的方法的终端也可以是指一个处理器或一个处理器加上必要的辅助电路及辅助器件(例如,显示屏、扬声器)或一个芯片或多个芯片构成的芯片组等。
应理解,在本发明实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
应当理解,在本说明书的所有实施例中,如图8所示,所述移动终端一般包括至少一个处理器(例如CPU)、至少一个收发器、和至少一个总线。处理器为电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储单元内的软件程序和/或模块,以及调用存储在存储单元内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是GPU、数字信号处理器(Digital Signal Processor,简称DSP)、及通信单元中的控制芯片(例如基带芯片)的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
图8所示的硬件结构以及上述描述适用于本发明实施例所提供的各种移动终端。本领域普通技术人员可知,上述方法中的全部或部分步骤可以通过程序指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质如ROM、RAM和光盘等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (18)
1.一种显示方法,其特征在于,包括:
对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入第一缓存区;
对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入第二缓存区,所述第二缓存区不同于所述第一缓存区;
停止对显示数据进行绘图;
获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;
获取所述第二缓存区的所述第二图层数据进行处理后,显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像;
获取第三显示数据;
若所述第三显示数据与所述第一显示数据相同或所述第三显示数据与所述第二显示数据相同,获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像。
2.根据权利要求1所述的方法,其特征在于,所述第一显示数据包括光标图片的显示数据,所述第二显示数据包括所述光标图片的位置对应的背景图片的显示数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第三显示数据不同于所述第一显示数据和所述第二显示数据,对所述第三显示数据进行绘图生成第三图层数据,并将所述第三图层数据存入第三缓存区;
获取所述第三缓存区的所述第三图层数据进行处理后,显示根据所述第三图层数据生成的图像。
4.根据权利要求2所述的方法,其特征在于,在所述停止对显示数据进行绘图之前,所述方法还包括:
检测到触发事件。
5.根据权利要求4所述的方法,其特征在于,所述触发事件为所述光标图片的位置没有变化。
6.根据权利要求2或4或5任一项所述的方法,其特征在于,对所述第一显示数据进行绘图生成第一图层数据,包括:
获取所述光标图片的显示数据和所述光标图片的位置;
调用图像处理器GPU对所述光标图片的显示数据进行绘图生成第一图层数据,以将所述第一图层数据写入所述光标图片的位置对应的第一缓存区;
对所述第二显示数据进行绘图生成第二图层数据,包括:
获取所述背景图片的显示数据和所述光标图片的位置;
调用图像处理器GPU对所述背景图片的显示数据进行绘图生成第二图层数据,以将所述第二图层数据写入所述第二缓存区中所述光标图片的位置对应的数据区。
7.一种具有显示功能的终端,其特征在于,包括:一个或多个处理器,存储器、显示屏以及总线,所述一个或多个处理器、所述存储器和所述显示屏通过所述总线通信;
所述存储器用于存储指令;
所述显示屏用于显示用户界面;
所述一个或多个处理器用于调用所述存储器中的指令执行以下步骤:
对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入第一缓存区;
对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入第二缓存区,所述第二缓存区不同于所述第一缓存区;
停止对显示数据进行绘图;
获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像;
获取所述第二缓存区的所述第二图层数据进行处理后,显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像;
所述一个或多个处理器还用于获取第三显示数据;
若所述第三显示数据与所述第一显示数据相同或所述第三显示数据与所述第二显示数据相同,所述一个或多个处理器还用于获取所述第一缓存区的所述第一图层数据进行处理后,显示根据所述第一图层数据生成的图像。
8.根据权利要求7所述的终端,其特征在于,所述第一显示数据包括光标图片的显示数据,所述第二显示数据包括所述光标图片的位置对应的背景图片的显示数据。
9.根据权利要求7所述的终端,其特征在于,
若所述第三显示数据不同于所述第一显示数据和所述第二显示数据,所述一个或多个处理器还用于对所述第三显示数据进行绘图生成第三图层数据,并将所述第三图层数据存入第三缓存区;
所述一个或多个处理器还用于获取所述第三缓存区的所述第三图层数据进行处理后,显示根据所述第三图层数据生成的图像。
10.根据权利要求8所述的终端,其特征在于,所述一个或多个处理器还用于:
检测到触发事件,执行所述停止对显示数据进行绘图的步骤。
11.根据权利要求10所述的终端,其特征在于,所述触发事件为所述光标图片的位置没有变化。
12.根据权利要求8或10或11任一项所述的终端,其特征在于,所述一个或多个处理器对所述第一显示数据进行绘图生成第一图层数据,具体包括:
获取所述光标图片的显示数据和所述光标图片的位置;
对所述光标图片的显示数据进行绘图生成第一图层数据,以将所述第一图层数据写入所述第一缓存区中所述光标图片的位置对应的数据区;
所述一个或多个处理器对所述第二显示数据进行绘图生成第二图层数据,包括:
获取所述背景图片的显示数据和所述光标图片的位置;
对所述背景图片的显示数据进行绘图生成第二图层数据,以将所述第二图层数据写入所述第二缓存区中所述光标图片的位置对应的数据区。
13.一种具有显示系统的终端,其特征在于,所述显示系统包括:控制模块、绘图模块、合成模块、存储模块和显示模块;
所述控制模块,用于调用所述绘图模块进行绘图,控制所述合成模块对图层数据进行处理;
所述绘图模块,用于对第一显示数据进行绘图生成第一图层数据,并将所述第一图层数据存入所述存储模块的第一缓存区;
所述绘图模块,还用于对第二显示数据进行绘图生成第二图层数据,并将所述第二图层数据存入所述存储模块的第二缓存区,所述第二缓存区不同于所述第一缓存区;
所述存储模块包括第一缓存区和第二缓存区,所述第一缓存区用于存储第一图层数据,所述第二缓存区用于存储第二图层数据;
所述绘图模块,还用于根据所述控制模块的控制停止对显示数据进行绘图;
所述合成模块,用于根据所述控制模块的控制获取所述第一缓存区的所述第一图层数据进行处理;
所述显示模块,用于显示根据所述第一图层数据生成的图像;
所述合成模块,还用于根据所述控制模块的控制获取所述第二缓存区的所述第二图层数据进行处理;
所述显示模块,还用于当所述合成模块处理完成所述第二图层数据后显示根据所述第二图层数据生成的图像,不显示根据所述第一图层数据生成的图像;
所述绘图模块还用于获取第三显示数据;
若所述第三显示数据与所述第一显示数据相同或所述第三显示数据与所述第二显示数据相同,所述合成模块还用于获取所述第一图层数据进行处理,所述显示模块显示根据所述第一图层数据生成的图像。
14.根据权利要求13所述的终端,其特征在于,所述第一显示数据包括光标图片的显示数据,所述第二显示数据包括所述光标图片的位置对应的背景图片的显示数据。
15.根据权利要求13所述的终端,其特征在于,
若所述第三显示数据不同于所述第一显示数据和所述第二显示数据,所述绘图模块还用于对所述第三显示数据进行绘图生成第三图层数据,并将所述第三图层数据存入第三缓存区;
所述合成模块还用于获取所述第三缓存区的所述第三图层数据进行处理;所述显示模块显示根据所述第三图层数据生成的图像。
16.根据权利要求14所述的终端,其特征在于,所述控制模块还用于:
检测到触发事件,控制所述绘图模块停止对显示数据进行绘图。
17.根据权利要求16所述的终端,其特征在于,所述触发事件为所述光标图片的位置没有变化。
18.根据权利要求14或16或17任一项所述的终端,其特征在于,所述绘图模块用于对所述第一显示数据进行绘图生成第一图层数据,包括:
获取所述光标图片的显示数据和所述光标图片的位置;
调用所述绘图模块的图像处理器GPU对所述光标图片的显示数据进行绘图生成第一图层数据,以将所述第一图层数据写入所述第一缓存区中所述光标图片的位置对应的数据区;
所述绘图模块用于对所述第二显示数据进行绘图生成第二图层数据,包括:
获取所述背景图片的显示数据和所述光标图片的位置;
调用所述绘图模块的图像处理器GPU对所述背景图片的显示数据进行绘图生成第二图层数据,以将所述第二图层数据写入所述第二缓存区中所述光标图片的位置对应的数据区。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/078476 WO2017173576A1 (zh) | 2016-04-05 | 2016-04-05 | 一种显示方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108885775A CN108885775A (zh) | 2018-11-23 |
CN108885775B true CN108885775B (zh) | 2019-11-29 |
Family
ID=60000797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680084262.8A Active CN108885775B (zh) | 2016-04-05 | 2016-04-05 | 一种显示方法及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108885775B (zh) |
WO (1) | WO2017173576A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614525B (zh) * | 2018-10-31 | 2023-05-05 | 深圳市元征科技股份有限公司 | 图像处理方法、装置、诊断设备及计算机可读存储介质 |
CN111526420A (zh) * | 2019-02-01 | 2020-08-11 | 北京右划网络科技有限公司 | 一种视频渲染方法、电子设备及存储介质 |
CN110363831B (zh) * | 2019-07-17 | 2023-04-07 | Oppo广东移动通信有限公司 | 图层合成方法、装置、电子设备及存储介质 |
CN110989948B (zh) * | 2019-10-31 | 2023-03-21 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于ufcp绘图帧率提升方法 |
CN112767231B (zh) * | 2021-04-02 | 2021-06-22 | 荣耀终端有限公司 | 图层合成方法和设备 |
CN115564668A (zh) * | 2021-05-31 | 2023-01-03 | 荣耀终端有限公司 | 一种噪声的监测方法、电子设备及芯片系统 |
CN116077940B (zh) * | 2022-05-18 | 2023-10-20 | 荣耀终端有限公司 | 游戏应用中的绘图处理方法和相关装置 |
CN117523037B (zh) * | 2024-01-05 | 2024-03-29 | 中科星图深海科技有限公司 | 一种提高二维电子海图显示效率的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059756A (zh) * | 2007-05-16 | 2007-10-24 | 珠海金山软件股份有限公司 | 一种用户操作区域反遮挡的装置和方法 |
CN102708280A (zh) * | 2012-04-12 | 2012-10-03 | 深圳市开立科技有限公司 | 一种图像显示方法及设备 |
CN104991722A (zh) * | 2015-07-06 | 2015-10-21 | 天脉聚源(北京)传媒科技有限公司 | 光标显示方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754409A (zh) * | 2013-12-27 | 2015-07-01 | 联芯科技有限公司 | 应用于Android平台的多媒体视频播放系统及方法 |
CN104811785A (zh) * | 2015-04-01 | 2015-07-29 | 乐视致新电子科技(天津)有限公司 | 智能终端的显示图形用户界面的控制方法及装置 |
-
2016
- 2016-04-05 CN CN201680084262.8A patent/CN108885775B/zh active Active
- 2016-04-05 WO PCT/CN2016/078476 patent/WO2017173576A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059756A (zh) * | 2007-05-16 | 2007-10-24 | 珠海金山软件股份有限公司 | 一种用户操作区域反遮挡的装置和方法 |
CN102708280A (zh) * | 2012-04-12 | 2012-10-03 | 深圳市开立科技有限公司 | 一种图像显示方法及设备 |
CN104991722A (zh) * | 2015-07-06 | 2015-10-21 | 天脉聚源(北京)传媒科技有限公司 | 光标显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108885775A (zh) | 2018-11-23 |
WO2017173576A1 (zh) | 2017-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885775B (zh) | 一种显示方法及终端 | |
US9946454B2 (en) | Watch type mobile terminal | |
CN105280155B (zh) | 显示驱动器、显示系统和操作显示驱动器的方法 | |
CN103593155B (zh) | 显示帧生成方法和终端设备 | |
CN107102936A (zh) | 一种流畅度的评估方法和移动终端以及存储介质 | |
US20190130087A1 (en) | Electronic apparatus, control device, and non-transitory computer readable storage medium | |
CN115631258B (zh) | 一种图像处理方法及电子设备 | |
CN103092458B (zh) | 移动终端中运行应用程序的装置和方法 | |
CN107851415A (zh) | 显示驱动集成电路、显示驱动方法和电子设备 | |
CN110989882B (zh) | 一种控制方法、电子设备和计算机可读存储介质 | |
CN106357880A (zh) | 一种双屏移动终端及其系统控制方法 | |
CN107203960B (zh) | 图像渲染方法及装置 | |
CN105912091A (zh) | 电子装置以及减少其电力消耗的方法 | |
KR20160085190A (ko) | 벤딩 가능한 사용자 단말 장치 및 이의 디스플레이 방법 | |
US20190095077A1 (en) | Electronic apparatus | |
CN108989668A (zh) | 一种摄像头的工作方法及移动终端 | |
CN106502608B (zh) | 显示方法、装置及终端设备 | |
CN109379484A (zh) | 一种信息处理方法及终端 | |
CN108449488A (zh) | 时间信息熄屏显示控制方法、电路及终端 | |
CN108897486A (zh) | 一种显示方法及终端设备 | |
CN109085968A (zh) | 一种截屏方法及终端设备 | |
CN107809531A (zh) | 一种日程创建方法、移动终端 | |
CN110162254A (zh) | 一种显示方法和终端设备 | |
CN109416615A (zh) | 处理触摸事件的方法和适用于该方法的电子装置 | |
CN109743724A (zh) | 一种嵌入式sim卡的管理方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |