CN103530101A - 一种计算机图形内核窗口缓存技术 - Google Patents

一种计算机图形内核窗口缓存技术 Download PDF

Info

Publication number
CN103530101A
CN103530101A CN201210231805.8A CN201210231805A CN103530101A CN 103530101 A CN103530101 A CN 103530101A CN 201210231805 A CN201210231805 A CN 201210231805A CN 103530101 A CN103530101 A CN 103530101A
Authority
CN
China
Prior art keywords
window
kernel
buffer memory
caching
memory
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.)
Pending
Application number
CN201210231805.8A
Other languages
English (en)
Inventor
罗侍田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201210231805.8A priority Critical patent/CN103530101A/zh
Publication of CN103530101A publication Critical patent/CN103530101A/zh
Pending legal-status Critical Current

Links

Images

Abstract

一种计算机图形内核窗口缓存技术,在图形内核中,结合窗口缓存与非缓存技术,程序员可以根据目标计算机系统的内存资源状况,以及显示界面本身是否需要实现复杂的功能,灵活选择是否使用窗口缓冲区。使用窗口缓存时,由于重绘操作完全由内核执行,大大简化了编程工作量,提高运行效率;不使用窗口缓存,则可使窗口系统运行在内存非常贫乏的计算机系统上,有利于减小设备功耗、体积、成本。

Description

一种计算机图形内核窗口缓存技术
所属技术领域
本发明涉及一种计算机图形用户界面设计技术,提出一种新的、在图形内核中使用窗口缓冲区的方法。
背景技术
目前,公知的图形用户界面设计中,图形内核提供窗口管理,包括创建和删除窗口、窗口移动、窗口删除、改变窗口尺寸等操作。由用户程序负责窗口内的图形绘制,图形系统提供绘制函数,方便应用程序绘制,但图形系统并不管理窗口里面绘制的内容。在多窗口的软件设计中,由于窗口可能互相重叠,窗口可能部分或全部被其他窗口遮盖。应用程序在窗口绘制内容后,当发生创建窗口、移动窗口、改变重叠顺序等操作时,会使某些窗口的部分或全部区域由可见不可见,这些部分所显示的内容,也将丢失;当这些丢失了内容的窗口区域重新变得可见时,窗口管理系统将发送绘制消息给应用程序,由应用程序重绘这些区域。一个窗口呈现的内容,是所有历史绘制操作合并的结果,应用程序要重绘这些内容,有两种方法:一是记住合成被重绘区域当前内容的全部历史绘制操作,在重绘区域把这些绘制操作全部重新执行一遍;二是使用缓冲区把窗口所显示的内容全部备份起来,所有绘制操作,往窗口绘制的同时,还必须往缓冲区绘制,在需要重绘的时候,就从备份区域把重绘区域的内容绘制到窗口中。其中重绘区域可能是由许多小区域组成的复杂区域,应用程序判断哪些区域须重绘并重绘这些区域,也是一个比较复杂的过程。记住历史操作,是一个复杂、繁琐的过程;使用备份缓冲区,所有绘制操作都要执行两遍,效率很低。
公知的图形系统中,通常会使用帧缓冲技术,即把待显示的内容先写到帧缓存上,然后再从帧缓存转移到显示器中。帧缓存技术有利于实现复杂的图形功能,以及消除或减少显示刷新过程中的屏幕闪烁,不利的一面是,缓存需要使用大量的内存,例如一个640*480分辨率的TFT的彩色显示器,帧缓存需要超过600KB内存。因此,只有具有丰富内存的计算机系统(下称富内存系统)才可以使用这样的图形系统。而有些小型嵌入式系统的内存很少(下称贫内存系统),无法提供帧缓冲所需的内存,而无法使用这样的图形系统。
发明内容
本发明设计了窗口缓冲技术,可用于设计多窗口图形界面,对于任意一个窗口,内核允许用户选择是否使用缓存。
对于使用了缓存的窗口,应用程序的所有绘制操作,窗口的可见部分将直接绘制在显示器上。同时,该窗口的可见和不可见部分,均缓存在由图形内核管理的缓存中。当窗口的部分或全部由可见变为不可见时,因为窗口的全部内容已经被内核提供的缓存“记住”,所以被遮挡的部分并不会“丢失”。当这些区域重新变得可见时,图形内核直接从缓存中取出内容,并绘制到显示器上。重绘操作已经由图形内核完成,并不需要通知应用程序重绘,应用程序的设计方法将大大简化。
对于没有使用缓存的窗口,应用程序针对某窗口的绘制操作,将直接将该窗口的可见部分绘制在显示器上,不再缓存。如果发生移动窗口、改变重叠顺序等操作,使窗口的不可见部分变为可见时,图形内核将给应用程序发消息,通知应用程序更新显示。
图形界面设计者,可以针对界面特点,可以对部分或全部窗口选择使用缓存,以实现复杂的图形功能;也可以对部分或全部窗口选择不使用缓存,以节省内存。
本发明的效果是:
同一个图形系统,将可以适合不同层次的产品开发。有些企业,产品多样化,有些产品由贫内存系统构成,另一些产品则用富内存系统构成。在贫内存系统上实现较为简单的图形功能,富内存系统上则实现复杂的图形功能。现有的图形系统,无法同时满足富内存和贫内存系统,将迫使企业使用和维护两个不同的图形系统,使用两种完全不同的方法开发产品,导致代码不能共享。开发两类产品的人员需要的技能完全不同,导致不能自由流动。djygui将破解这个问题,使得企业不同档次的产品,可以用相同的方法开发,维护同一套系统即可,代码可以共享,开发人员可以自由流动。
设计使用了窗口缓存的图形界面,将可以避免编写重绘代码。绘制操作一旦完成,窗口移动、更改重叠顺序等操作,引发的重绘操作,均由图形内核直接完成,大大简化了编程过程,提高了软件生产率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是创建窗口的过程。
图2是窗口绘制过程。
图3是窗口重绘过程。
具体实施方式
本发明已经被应用于都江堰操作系统(简称djyos)的图形系统中,用于构建djyos的图形环境。应用本发明,程序员可以根据目标计算机系统的内存资源状况,以及显示界面本身是否需要实现复杂的功能,灵活选择是否使用窗口缓冲区。使用窗口缓存时,由于重绘操作完全由内核执行,大大简化了编程工作量,提高运行效率;不使用窗口缓存,则可使窗口系统运行在内存非常贫乏的计算机系统上,有利于减小设备功耗、体积、成本。
如图1所示,应用程序需要创建窗口时,就调用操作系统提供的API函数,该函数向图形系统发出创建窗口的请求。应用程序发出请求时,通过函数的参数,设定待创建的窗口是带窗口缓存的,还是不带窗口缓存的。图形系统接收到这个请求后,执行创建窗口的过程。首先,图形内核会判断用户时要创建带缓存的窗口,还是无缓存的窗口。如果要创建带缓存的窗口,图形内核将分配一块与窗口大小相适应的内存作为缓存,否则,创建一个不带缓存的窗口。
窗口创建后,应用程序就可以在该窗口上执行各种绘图操作。如图2所示,应用程序需要在窗口上绘制图形时,就调用操作系统提供的相关绘图API函数,发出绘制命令,由图形内核执行绘制操作。如果绘制的目标窗口是带缓存的窗口,则除了将图形绘制在窗口的可视域外,还要将图形绘制在窗口缓存上;如果目标窗口是无缓存窗口,则只绘制在窗口可视域上。这样,在带缓存的窗口上,窗口内的所有显示内容均已经保存在缓存中,窗口移动或改变重叠顺序,导致新增可视域时,图形内核直接从缓存中取出新增可视域内的图象,绘制到显示器上即可,不需要通知应用程序执行重绘。
如图3所示,窗口移动、窗口间重叠关系改变、新建或删除窗口等操作,都会导致窗口可视域改变。有些窗口可能会出现新增可视域,即原来不可见的部分变成可见。djygui中,对于有缓存的窗口,由于需要绘制的内容已经保存在由内核提供的缓存中,图形内核直接从缓存中取出新增可视域对应的图像,绘制到新增可视域中;对于无缓存的窗口,则发出消息,通知应用程序执行重绘操作。

Claims (3)

1.一种计算机图形内核窗口缓存技术,其特征是:计算机图形内核中,每个窗口允许用户选择是否在内核中使用缓存。
2.如权利要求1所述的方法,其特征是:使用了缓存的窗口,当窗口可视区域发生变化而导致出现新增可视域时,由图形内核完成重绘窗口新增可视域的操作。
3.如权利要求1所述的方法,其特征是:未使用缓存的窗口,当窗口可视区域发生变化而导致出现新增可视域时,由图形内核发送消息,通知应用程序重新绘制新增可视域。
CN201210231805.8A 2012-07-05 2012-07-05 一种计算机图形内核窗口缓存技术 Pending CN103530101A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210231805.8A CN103530101A (zh) 2012-07-05 2012-07-05 一种计算机图形内核窗口缓存技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210231805.8A CN103530101A (zh) 2012-07-05 2012-07-05 一种计算机图形内核窗口缓存技术

Publications (1)

Publication Number Publication Date
CN103530101A true CN103530101A (zh) 2014-01-22

Family

ID=49932147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210231805.8A Pending CN103530101A (zh) 2012-07-05 2012-07-05 一种计算机图形内核窗口缓存技术

Country Status (1)

Country Link
CN (1) CN103530101A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344849A (zh) * 2008-08-22 2009-01-14 四川长虹电器股份有限公司 嵌入式gui环境下实现输入法叠加的方法
CN101667123A (zh) * 2009-09-24 2010-03-10 中兴通讯股份有限公司 一种不规则窗口实现方法及移动手持设备
CN101937317A (zh) * 2010-09-26 2011-01-05 北京握奇数据系统有限公司 一种窗口管理方法及终端
CN102196034A (zh) * 2010-03-09 2011-09-21 微软公司 移除遮挡的应用共享

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344849A (zh) * 2008-08-22 2009-01-14 四川长虹电器股份有限公司 嵌入式gui环境下实现输入法叠加的方法
CN101667123A (zh) * 2009-09-24 2010-03-10 中兴通讯股份有限公司 一种不规则窗口实现方法及移动手持设备
CN102196034A (zh) * 2010-03-09 2011-09-21 微软公司 移除遮挡的应用共享
CN101937317A (zh) * 2010-09-26 2011-01-05 北京握奇数据系统有限公司 一种窗口管理方法及终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
伪君: "在刷新窗口时经常要调用重绘函数", 《HTTP://WWW.CNBLOGS.COM/MYSUNNYDAY/ARCHIVE/2011/08/04/2127209.HTML》 *
匿名: "HTML5缓存:cache manifest", 《HTTP://KB.CNBLOGS.COM/PAGE/76808/》 *

Similar Documents

Publication Publication Date Title
CN112269604B (zh) 在Linux上兼容运行Android应用的窗口交互方法及装置
US20130024812A1 (en) Foreground/background assortment of hidden windows
JP6273354B2 (ja) 複数のディスプレイ用のユーザインタフェース要素
US9436385B2 (en) Invocation control over keyboard user interface
US9049213B2 (en) Cross-environment user interface mirroring using remote rendering
EP2622463B1 (en) Instant remote rendering
AU2014296339B2 (en) Multi-monitor full screen mode in a windowing environment
US7577918B2 (en) Visual expression of a state of an application window
US9977683B2 (en) De-coupling user interface software object input from output
US9141264B2 (en) Variable refresh rates for portions of shared screens
US20130111396A1 (en) Exposing inertial snap points
CN104123110A (zh) 一种Android双屏异像显示方法
US10453236B1 (en) Dynamic mesh generation to minimize fillrate utilization
WO1996013026A1 (en) Object-oriented system for servicing windows
WO2016095728A1 (zh) 一种多窗口显示方法及装置
CA2870298A1 (en) Remoting graphical components through a tiered remote access architecture
CN111651079A (zh) 书写笔迹显示方法、装置、设备及计算机存储介质
CN105528217A (zh) 一种基于显示列表的局部刷新方法及装置
US20140344729A1 (en) Primitive-based composition
CN102541554A (zh) 一种输入框动态透明显示特效实现方法
CN106325657A (zh) 屏幕投影显示的控制方法、装置及移动终端
EP2833260A1 (en) Method and system for graphical user interface layout generation, computer program product
CN105653246A (zh) 一种在Android系统中横向列表的实现方法及装置
US20190080667A1 (en) Android platform based display device and image display method thereof
US8819568B1 (en) Electronic paper display updates

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Luo Shitian

Document name: the First Notification of an Office Action

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140122