[发明专利]一种提升GUI窗口切换和移动效率的方法在审
申请号: | 201710089356.0 | 申请日: | 2017-02-20 |
公开(公告)号: | CN108469971A | 公开(公告)日: | 2018-08-31 |
发明(设计)人: | 刘刚 | 申请(专利权)人: | 珠海亿智电子科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F9/54;G06F3/0481 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 519080 广东省珠海市高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 剪贴 窗口切换 移动效率 上层 图形用户界面 窗口系统 绘图操作 显示效率 消息机制 移动操作 原始区域 运算负担 运算结果 正常显示 重新计算 传统的 域计算 减去 遍历 算法 移动 | ||
本发明涉及图形用户界面技术领域,提出了一种提高GUI窗口切换和移动效率的方法。在基于窗口系统与消息机制的GUI系统中,窗口的绘图操作会被限定在其剪贴域内进行,剪贴域是窗口正常显示的保障。在进行窗口切换和移动操作时,窗口的位置、大小或z序会发生变化,其剪贴域也需要重新计算。按传统的方法,计算某一窗口的剪贴域,要遍历zorder链上所有位于该窗口上层的窗口,用该窗口的原始区域减去上层窗口的区域,得到该窗口的剪贴域,整个过程完全由软件完成。采用本发明的方法,剪贴域计算中最复杂的算法由硬件来完成,软件只需要设置必要的参数给硬件,然后等待运算结果即可,等待过程中CPU可以执行其他任务。采用本发明的方法能大大提高窗口切换和移动的效率,同时也减轻了CPU的运算负担,提高了显示效率。
技术领域
本发明涉及图形用户界面技术领域,特别涉及图形用户界面的窗口切换和移动效率。
背景技术
GUI即图形用户界面(Graphical User Interfaces),指以图形方式显示的计算机用户界面。PC和嵌入式领域广泛使用了一种基于窗口系统与消息机制的GUI,在这种GUI框架中,窗口系统负责用户界面的显示,消息机制负责用户输入事件的响应。窗口管理是其中一个重要部分,为了使多个窗口在一个显示屏上正确地显示,需要建立一套规则,为此GUI提供了剪贴域和zorder(z序)的概念。zorder描述窗口在z方向上的排列顺序,系统中所有窗口在z方向上形成一个单项链表,链表头是顶层窗口,链表尾是底层窗口,即桌面窗口。其余窗口则根据z方向上的先后位置,在链表上按序排列。若窗口之间区域有重叠,则在重叠区域内,靠近链表头的窗口会覆盖远离链表头的窗口。由于z序的存在,窗口可能有部分区域被别的窗口覆盖,未被覆盖的部分才能被显示。窗口的剪贴域指窗口内部未被覆盖区域的集合,它们平铺排布,不能相交,且剪贴域中处于水平方向同一排的所有矩形区域等高。所有窗口的剪贴域相加,刚好是整个屏幕区域。
图1中有三个窗口,102为顶层的“命令提示符属性”窗口(简称“属性”窗口),101为“管理员:命令提示符”窗口(简称“管理员”窗口),103为底层的桌面窗口。图2描述了三个窗口的剪贴域,“管理员”窗口的剪贴域为区域201、203和206,“属性”窗口的剪贴域为区域204,桌面窗口的剪贴域为区域202、205、207和208。窗口的绘制被限定在其剪贴域内进行,剪贴域是窗口正确显示的保障。
当用户进行窗口切换和移动时,窗口的位置、大小或z序会发生变化,其剪贴域也需要重新计算。图3是传统的计算窗口(记为窗口A)剪贴域的方法。首先获取窗口A的原始区域,记为region,然后遍历zorder链上的每个窗口,若它位于窗口A的上层(即覆盖窗口A),且与窗口A有重叠区域,则在region中去除重叠的区域。最后得到的region即为窗口A的剪贴域,它可能是由多个矩形区域组成的区域集合。
窗口管理中经常用到两个区域的合并、相减、取交集等操作,比如剪贴域的计算用到了区域相减。图4、图5、图6和图7以区域合并为例,描述了区域操作的一般流程。图4为两个待合并区域的初始状态,其中区域A包含五个子区域(A1、A2、A3、A4、A5),区域B包含三个子区域(B1、B2、B3),它们之间有重叠部分。 图5为第一轮的处理过程,首先将区域A和B划分为不相交区段(501)和相交区段(502),然后对不相交区段进行拆分,对相交区段进行合并。图6包含第一轮的处理结果,即新的区域A1'、A2'、A3'和AB’。 第二轮处理B1、B2的下半段,生成新区域B1'和B2'。第三轮的处理与第一轮类似。最终生成的目的区域如图7所示,它由11个子区域组成。
从上面的介绍来看,剪贴域的计算和区域操作的算法比较复杂,运算量大,且它们在GUI中又会频繁用到。传统的做法都是由软件来计算,这在CPU运算能力低的平台,容易成为性能瓶颈,导致显示帧率和效果受影响。
发明内容
为了解决传统方法对窗口剪贴域的计算和区域操作效率低的问题,本发明提出了一种利用硬件来计算窗口剪贴域的方法,能更快地计算窗口剪贴域,提升窗口切换和移动的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海亿智电子科技有限公司,未经珠海亿智电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710089356.0/2.html,转载请声明来源钻瓜专利网。