CN106383711A - 一种屏幕刷新系统、方法及装置 - Google Patents
一种屏幕刷新系统、方法及装置 Download PDFInfo
- Publication number
- CN106383711A CN106383711A CN201610833423.0A CN201610833423A CN106383711A CN 106383711 A CN106383711 A CN 106383711A CN 201610833423 A CN201610833423 A CN 201610833423A CN 106383711 A CN106383711 A CN 106383711A
- Authority
- CN
- China
- Prior art keywords
- window
- application
- brushed
- management system
- frame buffer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种屏幕刷新系统、方法及装置,本申请窗口管理系统在每个时间周期内仅从多个窗口应用中确定一个目标窗口应用,向其发送时间片,而窗口应用只有在收到时间片后,在时间片长度范围内检测到需要刷新屏幕时才能够与窗口管理系统交互,实现屏幕刷新。也即,在一个时间周期内,最多只有一个窗口应用能够实现屏幕刷新,避免了现有技术对各刷新区域求并集后,将不需要绘图的窗口也作为发送绘图指令的对象,避免了不必要的绘图操作。
Description
技术领域
本申请涉及屏幕刷新技术领域,更具体地说,涉及一种屏幕刷新系统、方法及装置。
背景技术
终端的屏幕对应系统中一个帧缓冲区frame buffer,frame buffer为预先分配的一块缓冲内存,内存中存放要显示的像素内容。底层一般会提供一个接口,将frame buffer中的内容显示到终端屏幕上。
终端屏幕上可以同时存在多个窗口,多个窗口的刷新、绘图、上屏等操作由窗口管理系统统一管理。窗口管理系统对外提供统一的刷新接口,任何窗口都可以通过这个刷新接口通知窗口管理系统对指定区域(一般是窗口所占区域)进行刷新。对于窗口管理系统而言,区域均是矩形。窗口管理系统将一个周期内所接收的各待刷新区域进行合并,求取包围各刷新区域的最小矩形区域。进一步,确定窗口所占区域与该最小矩形区域存在交集的目标窗口。按照窗口层次由低至高的顺序,依次向各目标窗口发送绘图指令。各目标窗口在收到绘图指令时对frame buffer中对应区域进行内容绘制。窗口管理系统在确定所有目标窗口均绘图完毕之后,将frame buffer中的内容上屏显示。
本案发明人通过研究发现,在某些情况下现有技术会存在多余绘图的过程,参见图1所示例子:屏幕10中共包含三个窗口,分别为窗口11、窗口12和窗口13。假设在一个周期内窗口11和窗口13需要进行刷新,并向窗口管理系统发送了刷新请求,而窗口12并不需要进行刷新。按照现有技术,窗口管理系统会对窗口11及窗口13求并集,得到区域14。进而向与该区域14存在交集的各窗口发送绘图指令。由于窗口12与区域14存在交集,因此会收到绘图指令,并对缓冲内存中窗口12对应区域进行重复绘图。而显然,窗口12显示内容并未产生变化,重复绘图即浪费时间,也占用有限的绘图资源。
发明内容
有鉴于此,本申请提供了一种屏幕刷新系统、方法及装置,以解决现有技术存在多余绘图过程,浪费时间且占用绘图资源的问题。
为了实现上述目的,现提出的方案如下:
一种屏幕刷新系统,包括窗口管理系统及至少一窗口应用,其中:
所述窗口管理系统用于,在每个时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用,向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用,若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
所述目标窗口应用用于,在所述时间片的长度范围内,持续检测是否需要进行屏幕刷新,若确定需要进行屏幕刷新,则与所述窗口管理系统交互,实现对屏幕的刷新。
优选地,所述目标窗口应用与所述窗口管理系统交互,实现对屏幕的刷新的过程,包括:
所述目标窗口应用向所述窗口管理系统发送刷新指令,刷新指令中包含刷新区域;
所述窗口管理系统用于,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令;
所述待刷新窗口应用还用于,在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图;
所述窗口管理系统还用于,在确定各待刷新窗口应用均绘图完毕后,对帧缓冲区frame buffer中的内容进行上屏显示。
优选地,向待刷新窗口对应的待刷新窗口应用发送的绘图指令包含,待刷新窗口的窗口区域与所述刷新区域的交集区域;
所述待刷新窗口应用在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图的过程,具体包括:
在收到所述窗口管理系统发送的包含所述交集区域的绘图指令时,调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
优选地,向待刷新窗口对应的待刷新窗口应用发送的绘图指令包含,所述刷新区域;
所述待刷新窗口应用在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图的过程,具体包括:
在收到所述窗口管理系统发送的包括所述刷新区域的绘图指令时,确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的所述刷新区域的交集区域;
调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
一种屏幕刷新方法,应用于窗口管理系统,该方法包括:
在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,以触发待刷新窗口应用与所述窗口管理系统交互,实现对帧缓冲区framebuffer的绘图,及对绘图后的帧缓冲区frame buffer中的内容进行上屏显示。
优选地,向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含,待刷新窗口的窗口区域与所述刷新区域的交集区域;
所述窗口管理系统与待刷新窗口应用交互,实现对帧缓冲区frame buffer的绘图的过程,包括:
接收待刷新窗口应用对绘图接口的调用请求,所述调用请求包括所述交集区域;
调用所述绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
优选地,向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含所述刷新区域,以便待刷新窗口应用确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的所述刷新区域的交集区域。
一种屏幕刷新装置,应用于窗口管理系统,该装置包括:
目标窗口应用确定单元,用于在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
时间片发送单元,用于向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
当前编号更改单元,用于判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
待刷新窗口确定单元,用于在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
绘图指令发送单元,用于按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,以触发待刷新窗口应用与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图,及对绘图后的帧缓冲区frame buffer中的内容进行上屏显示。
优选地,所述绘图指令发送单元向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含,待刷新窗口的窗口区域与所述刷新区域的交集区域;
该装置还包括:
调用请求接收单元,用于接收待刷新窗口应用对绘图接口的调用请求,所述调用请求包括所述交集区域;
绘图接口调用单元,用于调用所述绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
优选地,所述绘图指令发送单元向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含所述刷新区域,以便待刷新窗口应用确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的刷新区域的交集区域。
从上述的技术方案可以看出,本申请实施例提供的屏幕刷新系统,包括窗口管理系统及至少一个窗口应用,其中:所述窗口管理系统用于,在每个时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用,向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用,若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;所述目标窗口应用用于,在所述时间片的长度范围内,持续检测是否需要进行屏幕刷新,若确定需要进行屏幕刷新,则与所述窗口管理系统交互,实现对屏幕的刷新。由此可见,本申请窗口管理系统在每个时间周期内仅从多个窗口应用中确定一个目标窗口应用,向其发送时间片,而窗口应用只有在收到时间片后,在时间片长度范围内检测到需要刷新屏幕时才能够与窗口管理系统交互,实现屏幕刷新。也即,在一个时间周期内,最多只有一个窗口应用能够实现屏幕刷新,避免了现有技术对各刷新区域求并集后,将不需要绘图的窗口也作为发送绘图指令的对象,避免了不必要的绘图操作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例示例的一种多窗口示意图;
图2为本申请实施例公开的一种屏幕刷新系统结构示意图;
图3为本申请实施例从窗口管理系统角度公开的一种屏幕刷新方法流程图;
图4为本申请实施例从窗口管理系统角度公开的另一种屏幕刷新方法流程图;
图5为本申请实施例公开的一种屏幕刷新装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种屏幕刷新系统,参见图2,图2为本申请实施例公开的一种屏幕刷新系统结构示意图。
如图2所示,该系统包括:
窗口管理系统100及至少一窗口应用110,其中:
所述窗口管理系统用于100,在每个时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用110,向所述目标窗口应用110发送时间片,所述时间片的长度与所述时间周期的长度相同;判断所述目标窗口应用110是否为所述窗口应用序列中最后一个窗口应用,若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用110近邻的后一窗口应用的编号;
这里需要说明的是,一个窗口应用只有在收到时间片时才会进行刷新检测,否则该窗口应用不会进行刷新检测。并且,窗口应用在收到时间片之后,仅能够在时间片的长度范围内进行刷新检测,如果在时间片长度范围内检测到需要刷新,则可以向窗口管理系统发送刷新指令。
所述目标窗口应用110用于,在所述时间片的长度范围内,持续检测是否需要进行屏幕刷新,若确定需要进行屏幕刷新,则与所述窗口管理系统100交互,实现对屏幕的刷新。
本申请实施例提供的屏幕刷新系统,窗口管理系统在每个时间周期内仅从多个窗口应用中确定一个目标窗口应用,向其发送时间片,而窗口应用只有在收到时间片后,在时间片长度范围内检测到需要刷新屏幕时才能够与窗口管理系统交互,实现屏幕刷新。也即,在一个时间周期内,最多只有一个窗口应用能够实现屏幕刷新,避免了现有技术对各刷新区域求并集后,将不需要绘图的窗口也作为发送绘图指令的对象,避免了不必要的绘图操作。
在本申请的方案中,即时屏幕上有多个窗口,也不会在同一时间周期内一起发出刷新指令,而会分散到多个周期内交替发出刷新指令,避免在同一周期里一起发送刷新指令所导致的刷新区域合并的问题。
可选的,本申请可以对终端屏幕上各窗口进行统计,按照一定顺序为各窗口编号,窗口的编号即为窗口对应的窗口应用的编号。由编号后的各窗口应用组成窗口应用序列。
窗口应用序列中各窗口应用的编号可以是以1为单位递增的。举例如,序列中自首个窗口应用至第n个窗口应用的编号依次为:1、2……n。
基于此种编号方式,本申请可以设置初始化状态时当前编号为1。每当时间周期加1时,当前编号也加1,直至当前编号加1后超过最大窗口应用编号时,将其翻转为1。也即,当前编号从1至n循环变化。
参见图1示例的情况进行举例说明:
屏幕10中共包含三个窗口,分别为窗口11、窗口12和窗口13。定义三个窗口的编号为1、2和3,对应的窗口应用的编号相同。
在第一个时间周期内,当前编号为1。窗口管理系统向编号为1的窗口应用11发送时间片,时间片长度为时间周期的长度。
编号为1的窗口应用11收到时间片后,持续检测本窗口是否需要进行刷新。若在时间片范围内检测到需要刷新,则向窗口管理系统发送刷新指令,并在窗口管理系统的配合下实现对窗口应用11的窗口的刷新。
在第二个时间周期到来时,当前编号加1,变成2。窗口管理系统向编号为2的窗口应用12发送时间片,时间片长度为时间周期的长度。
编号为2的窗口应用12收到时间片后,持续检测本窗口是否需要进行刷新。若在时间片长度范围内检测到不需要进行刷新,则不发送任何信息。
在第三个时间周期到来时,当前编号加1,变成3。窗口管理系统向编号为3的窗口应用13发送时间片,时间片长度为时间周期的长度。
编号为3的窗口应用13收到时间片后,持续检测本窗口是否需要进行刷新。若在时间片范围内检测到需要刷新,则向窗口管理系统发送刷新指令,并在窗口管理系统的配合下实现对窗口应用13的窗口的刷新。
在第四个时间周期到来时,当前编号加1后为4,而4超过了最大窗口应用编号,因此当前编号翻转变成1。重复上述过程。
可选的,上述实施例中目标窗口应用于所述窗口管理系统交互,实现对屏幕的刷新的过程,可以包括:
所述目标窗口应用向所述窗口管理系统发送刷新指令,刷新指令中包含刷新区域;
所述窗口管理系统用于,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令;
所述待刷新窗口应用还用于,在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图;
所述窗口管理系统还用于,在确定各待刷新窗口应用均绘图完毕后,对帧缓冲区frame buffer中的内容进行上屏显示。
可选的,窗口管理系统向待刷新窗口对应的待刷新窗口应用发送的绘图指令可以包含,待刷新窗口的窗口区域与所述刷新区域的交集区域。该交集区域即为戴刷新窗口需要绘图的区域。
在此基础上,待刷新窗口应用在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图的过程,可以包括:
在收到所述窗口管理系统发送的包含所述交集区域的绘图指令时,调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
具体地,窗口管理系统提供了绘图接口,以供窗口应用进行调用。窗口应用调用窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
与上述实施例不同的是,窗口管理系统向待刷新窗口对应的待刷新窗口应用发送的绘图指令可以包含,所述刷新区域。也即,窗口管理系统直接将刷新区域携带在绘图指令中发送给待刷新窗口应用。
在此基础上,待刷新窗口应用在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图的过程,可以包括:
1、在收到所述窗口管理系统发送的包括区域组的绘图指令时,确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的刷新区域的交集区域;
具体地,待刷新窗口应用收到绘图指令时,确定需要绘图的区域,该确定过程包括:确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的刷新区域的交集区域。
2、调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
具体地,窗口管理系统提供了绘图接口,以供窗口应用进行调用。窗口应用调用窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
通过上述两个实施例可以看出,交集区域可以由窗口管理系统确定,也可以由待刷新窗口应用确定。在确定了待绘图的交集区域之后,调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
可选的,区别于上述两个实施例,本申请中窗口管理系统向待刷新窗口应用发送的绘图指令中可以不携带任何信息。基于此,待刷新窗口应用调用绘图接口进行绘图时,向窗口管理系统提供整个窗口区域需要绘图的内容,由窗口管理系统计算当前调用绘图接口的待刷新窗口应用对应窗口的窗口区域,与所述刷新区域的交集区域,进而对提供的需要绘图的内容进行裁剪,保留交集区域对应的内容,进而对帧缓冲区frame buffer中所述交集区域进行绘图。
基于上述屏幕刷新系统,本申请从窗口管理系统的角度对屏幕刷新方法进行了介绍,参见图3,图3为本申请实施例从窗口管理系统角度公开的一种屏幕刷新方法流程图。
如图3所示,该方法包括:
步骤S300、在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
步骤S310、向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
步骤S320、判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,执行步骤S330,若否,执行步骤S340;
步骤S330、将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号;
步骤S340、将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
步骤S350、在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
步骤S360、按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,以触发待刷新窗口应用与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图,及对绘图后的帧缓冲区frame buffer中的内容进行上屏显示。
具体地,窗口管理系统按照窗口层次由低至高顺序,向各待刷新窗口对应的待刷新窗口应用发送绘图指令,保证各待刷新窗口应用顺序绘图,不会存在窗口层次高的窗口应用先于窗口层次低的窗口应用绘图。
本申请实施例提供的屏幕刷新方法,窗口管理系统在每个时间周期内仅从多个窗口应用中确定一个目标窗口应用,向其发送时间片,而窗口应用只有在收到时间片后,在时间片长度范围内检测到需要刷新屏幕时才能够与窗口管理系统交互,实现屏幕刷新。也即,在一个时间周期内,最多只有一个窗口应用能够实现屏幕刷新,避免了现有技术对各刷新区域求并集后,将不需要绘图的窗口也作为发送绘图指令的对象,避免了不必要的绘图操作。
在本申请的方案中,即时屏幕上有多个窗口,也不会在同一时间周期内一起发出刷新指令,而会分散到多个周期内交替发出刷新指令,避免在同一周期里一起发送刷新指令所导致的刷新区域合并的问题。
参见图4,图4为本申请实施例从窗口管理系统角度公开的另一种屏幕刷新方法流程图。
如图4所示,该方法包括:
步骤S400、在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
步骤S410、向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
步骤S420、判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,执行步骤S430,若否,执行步骤S440;
步骤S430、将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号;
步骤S440、将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
步骤S450、在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
步骤S460、按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,绘图指令中包含待刷新窗口的窗口区域与所述刷新区域的交集区域;
具体地,本实施例中由窗口管理系统确定各待刷新窗口的窗口区域与所述刷新区域的交集区域,该交集区域即为待刷新窗口需要绘图的区域。将交集区域随绘图指令发送给待刷新窗口应用。
步骤S470、接收待刷新窗口应用对绘图接口的调用请求,所述调用请求包括所述交集区域;
具体地,待刷新窗口应用根据需要确定交集区域所要绘图内容,并调用绘图接口请求进行绘图。
步骤S480、调用所述绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
窗口管理系统接收到调用请求之后,利用绘图接口对帧缓冲区frame buffer中所述交集区域进行绘图。
本实施例中,窗口管理系统向待刷新窗口应用发送的绘图指令中包含待刷新窗口的窗口区域与所述刷新区域的交集区域,该交集区域即为待刷新窗口需要绘图的区域。基于此,待刷新窗口应用调用绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
进一步可选的,区别于上述实施例,本申请中窗口管理系统向待刷新窗口应用发送的绘图指令中可以包含所述刷新区域。由待刷新窗口应用确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的刷新区域的交集区域,进而基于该交集区域调用绘图接口进行绘图。
下面对本申请实施例提供的屏幕刷新装置进行描述,下文描述的屏幕刷新装置与上文描述的屏幕刷新方法可相互对应参照。
其中,装置项未公开的细节可以参照方法项实施例的介绍。
参见图5,图5为本申请实施例公开的一种屏幕刷新装置结构示意图。
如图5所示,该装置包括:
目标窗口应用确定单元51,用于在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
时间片发送单元52,用于向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
当前编号更改单元53,用于判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
待刷新窗口确定单元54,用于在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
绘图指令发送单元55,用于按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,以触发待刷新窗口应用与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图,及对绘图后的帧缓冲区frame buffer中的内容进行上屏显示。
可选的,所述绘图指令发送单元向待刷新窗口对应的待刷新窗口应用发送的绘图指令中可以包含,待刷新窗口的窗口区域与所述刷新区域的交集区域。
基于此,该装置还可以包括:
调用请求接收单元,用于接收待刷新窗口应用对绘图接口的调用请求,所述调用请求包括所述交集区域;
绘图接口调用单元,用于调用所述绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
可选的,所述绘图指令发送单元向待刷新窗口对应的待刷新窗口应用发送的绘图指令中可以包含所述刷新区域,以便待刷新窗口应用确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的刷新区域的交集区域。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种屏幕刷新系统,其特征在于,包括窗口管理系统及至少一窗口应用,其中:
所述窗口管理系统用于,在每个时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用,向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用,若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
所述目标窗口应用用于,在所述时间片的长度范围内,持续检测是否需要进行屏幕刷新,若确定需要进行屏幕刷新,则与所述窗口管理系统交互,实现对屏幕的刷新。
2.根据权利要求1所述的系统,其特征在于,所述目标窗口应用与所述窗口管理系统交互,实现对屏幕的刷新的过程,包括:
所述目标窗口应用向所述窗口管理系统发送刷新指令,刷新指令中包含刷新区域;
所述窗口管理系统用于,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令;
所述待刷新窗口应用还用于,在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图;
所述窗口管理系统还用于,在确定各待刷新窗口应用均绘图完毕后,对帧缓冲区framebuffer中的内容进行上屏显示。
3.根据权利要求2所述的系统,其特征在于,向待刷新窗口对应的待刷新窗口应用发送的绘图指令包含,待刷新窗口的窗口区域与所述刷新区域的交集区域;
所述待刷新窗口应用在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图的过程,具体包括:
在收到所述窗口管理系统发送的包含所述交集区域的绘图指令时,调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
4.根据权利要求2所述的系统,其特征在于,向待刷新窗口对应的待刷新窗口应用发送的绘图指令包含,所述刷新区域;
所述待刷新窗口应用在收到所述窗口管理系统发送的绘图指令时,与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图的过程,具体包括:
在收到所述窗口管理系统发送的包括所述刷新区域的绘图指令时,确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的所述刷新区域的交集区域;
调用所述窗口管理系统提供的绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
5.一种屏幕刷新方法,其特征在于,应用于窗口管理系统,该方法包括:
在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,以触发待刷新窗口应用与所述窗口管理系统交互,实现对帧缓冲区framebuffer的绘图,及对绘图后的帧缓冲区frame buffer中的内容进行上屏显示。
6.根据权利要求5所述的方法,其特征在于,向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含,待刷新窗口的窗口区域与所述刷新区域的交集区域;
所述窗口管理系统与待刷新窗口应用交互,实现对帧缓冲区frame buffer的绘图的过程,包括:
接收待刷新窗口应用对绘图接口的调用请求,所述调用请求包括所述交集区域;
调用所述绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
7.根据权利要求5所述的方法,其特征在于,向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含所述刷新区域,以便待刷新窗口应用确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的所述刷新区域的交集区域。
8.一种屏幕刷新装置,其特征在于,应用于窗口管理系统,该装置包括:
目标窗口应用确定单元,用于在当前时间周期开始时刻,在顺序编号的窗口应用序列中确定当前编号对应的目标窗口应用;
时间片发送单元,用于向所述目标窗口应用发送时间片,所述时间片的长度与所述时间周期的长度相同;
当前编号更改单元,用于判断所述目标窗口应用是否为所述窗口应用序列中最后一个窗口应用;若是,将所述当前编号更改为所述窗口应用序列中首个窗口应用的编号,若否,将所述当前编号更改为所述窗口应用序列中与所述目标窗口应用近邻的后一窗口应用的编号;
待刷新窗口确定单元,用于在当前时间周期内接收到所述目标窗口应用发送的包含刷新区域的刷新指令时,根据终端屏幕上的各窗口区域,确定窗口区域与所述刷新区域存在交集的待刷新窗口;
绘图指令发送单元,用于按照窗口层次由低至高顺序,向确定的各所述待刷新窗口对应的待刷新窗口应用发送绘图指令,以触发待刷新窗口应用与所述窗口管理系统交互,实现对帧缓冲区frame buffer的绘图,及对绘图后的帧缓冲区frame buffer中的内容进行上屏显示。
9.根据权利要求8所述的装置,其特征在于,所述绘图指令发送单元向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含,待刷新窗口的窗口区域与所述刷新区域的交集区域;
该装置还包括:
调用请求接收单元,用于接收待刷新窗口应用对绘图接口的调用请求,所述调用请求包括所述交集区域;
绘图接口调用单元,用于调用所述绘图接口,对帧缓冲区frame buffer中所述交集区域进行绘图。
10.根据权利要求8所述的装置,其特征在于,所述绘图指令发送单元向待刷新窗口对应的待刷新窗口应用发送的绘图指令中包含所述刷新区域,以便待刷新窗口应用确定本窗口应用对应窗口的窗口区域与所述绘图指令包含的刷新区域的交集区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610833423.0A CN106383711B (zh) | 2016-09-19 | 2016-09-19 | 一种屏幕刷新系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610833423.0A CN106383711B (zh) | 2016-09-19 | 2016-09-19 | 一种屏幕刷新系统、方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106383711A true CN106383711A (zh) | 2017-02-08 |
CN106383711B CN106383711B (zh) | 2020-02-21 |
Family
ID=57936763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610833423.0A Active CN106383711B (zh) | 2016-09-19 | 2016-09-19 | 一种屏幕刷新系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383711B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933526A (zh) * | 2017-03-10 | 2017-07-07 | 广东欧珀移动通信有限公司 | 一种动态调节屏幕刷新率的方法、装置及移动终端 |
CN109725978A (zh) * | 2019-01-22 | 2019-05-07 | Oppo广东移动通信有限公司 | 窗口刷新方法、装置、电子设备及存储介质 |
CN114816028A (zh) * | 2021-01-21 | 2022-07-29 | 华为技术有限公司 | 屏幕刷新方法、电子设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493751A (zh) * | 2009-02-09 | 2009-07-29 | 深圳市步科电气有限公司 | 一种嵌入式图形系统的多窗口管理器 |
CN102446082A (zh) * | 2011-08-29 | 2012-05-09 | 广东威创视讯科技股份有限公司 | 窗口刷新方法与装置 |
CN102565480A (zh) * | 2010-12-31 | 2012-07-11 | 北京普源精电科技有限公司 | 测试设备的多窗口显示方法 |
TW201232304A (en) * | 2011-01-26 | 2012-08-01 | Tencent Tech Shenzhen Co Ltd | Method and apparatus for multiple windows simultaneously analyzing and displaying web pages |
US20130159874A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Variable refresh rates for portions of shared screens |
-
2016
- 2016-09-19 CN CN201610833423.0A patent/CN106383711B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493751A (zh) * | 2009-02-09 | 2009-07-29 | 深圳市步科电气有限公司 | 一种嵌入式图形系统的多窗口管理器 |
CN102565480A (zh) * | 2010-12-31 | 2012-07-11 | 北京普源精电科技有限公司 | 测试设备的多窗口显示方法 |
TW201232304A (en) * | 2011-01-26 | 2012-08-01 | Tencent Tech Shenzhen Co Ltd | Method and apparatus for multiple windows simultaneously analyzing and displaying web pages |
CN102446082A (zh) * | 2011-08-29 | 2012-05-09 | 广东威创视讯科技股份有限公司 | 窗口刷新方法与装置 |
US20130159874A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Variable refresh rates for portions of shared screens |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933526A (zh) * | 2017-03-10 | 2017-07-07 | 广东欧珀移动通信有限公司 | 一种动态调节屏幕刷新率的方法、装置及移动终端 |
WO2018161578A1 (zh) * | 2017-03-10 | 2018-09-13 | 广东欧珀移动通信有限公司 | 动态调节屏幕刷新率的方法、装置、存储介质及电子设备 |
CN109725978A (zh) * | 2019-01-22 | 2019-05-07 | Oppo广东移动通信有限公司 | 窗口刷新方法、装置、电子设备及存储介质 |
CN109725978B (zh) * | 2019-01-22 | 2022-06-17 | Oppo广东移动通信有限公司 | 窗口刷新方法、装置、电子设备及存储介质 |
CN114816028A (zh) * | 2021-01-21 | 2022-07-29 | 华为技术有限公司 | 屏幕刷新方法、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106383711B (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106383711A (zh) | 一种屏幕刷新系统、方法及装置 | |
CN107786730A (zh) | 一种任务管理方法及终端 | |
CN107102936A (zh) | 一种流畅度的评估方法和移动终端以及存储介质 | |
CN107508961A (zh) | 一种活动窗口启动方法、终端及计算机可读存储介质 | |
CN108037893A (zh) | 一种柔性屏的显示控制方法、装置及计算机可读存储介质 | |
CN103150170B (zh) | 一种移动终端的桌面生成与操作方法及其对应的装置 | |
CN105656734A (zh) | 智能家居系统控制方法、装置及系统 | |
CN107981788A (zh) | 一种扫地机器人多机协作系统及方法 | |
CN104850299A (zh) | 多窗口快速排列方法、多窗口快速排列系统及移动装置 | |
CN108021281A (zh) | 触控处理装置、方法与电子系统 | |
CN104978413B (zh) | Gis线数据在浏览器端可视化的装置和方法 | |
CN106126636B (zh) | 一种面向智能机器人的人机交互方法及装置 | |
CN105224167A (zh) | 一种窗口切换方法及装置 | |
CN103885714B (zh) | 一种触控屏的锁屏方法、该触控屏及含该触控屏的终端 | |
CN103870115B (zh) | 信息处理方法及电子设备 | |
CN106383683A (zh) | 一种屏幕刷新系统、方法及装置 | |
CN105930149A (zh) | 一种显示方法及装置 | |
WO2015192574A1 (zh) | 基于安卓系统的曲线绘制处理方法、装置及终端 | |
CN109460523A (zh) | 数据展示方法、装置、终端设备及计算机存储介质 | |
CN104317586B (zh) | 多屏幕渲染处理方法、处理器、设备及系统 | |
CN106980642A (zh) | 一种业务数据实时展示系统及方法 | |
CN104793775A (zh) | 触控显示装置及其驱动方法与触控感测方法 | |
CN106127685A (zh) | 线条快速擦除方法及其系统 | |
CN101414312B (zh) | 在网页上选择信息的方法和装置 | |
CN103246500A (zh) | 桌面图标展示方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |