专利名称:绘图层控制装置的制作方法
技术领域:
本发明涉及在各层设置多个与应用程序对应的窗口并进行显示的绘图层控制装置。
背景技术:
在具有显示部的信息处理装置中,已知一种使用窗口系统显示多个应用程序的显示内容的装置。安装有该窗口系统的信息处理装置中具有以下装置具有多个视频存储器作为绘图层,在液晶或CRT等显示器上进行显示时,合成并显示在多个绘图层上绘图的绘图结果。这样在具有多个绘图层的装置上安装的窗口系统通常需要在生成窗口时预先决定由哪个绘图层确保绘图用的存储区,以后不会进行变更(例如,参考专利文献1)。专利文献1 日本特开2007-102751号公报因此,例如绘图更新频率高的窗口与绘图更新频率低的窗口混合存在于同一绘图层时,每当绘图更新频率高的窗口被重绘时,绘图更新频率低的窗口也需要重绘,存在绘图效率差的问题。另外,进行窗口间的绘图同步处理时,为了进行分配给不同绘图层的窗口的同步控制,需要等待分配有应同步的窗口的绘图层的绘图完成之后同时进行绘图更新,存在处理复杂化的问题。
发明内容
本发明是为解决如上所述的课题而作出的,目的在于得到一种能够提高绘图效率的绘图层控制装置。本发明所涉及的绘图层控制装置,监视各窗口的绘图更新频率,分配给相同层的窗口的绘图更新频率不同时,将绘图更新频率同等程度的各窗口重新分配给相同层。据此, 能够提高各绘图层的绘图效率。
图1是本发明的实施方式1的绘图层控制装置的结构图。图2是表示本发明的实施方式1的绘图层控制装置的窗口与绘图层的关系的说明图。图3是表示本发明的实施方式1的绘图层控制装置的绘图层与物理存储器的地址的关系的说明图。图4是表示用于存储本发明的实施方式1的绘图层控制装置的各窗口的绘图更新频率的数据结构的说明图。图5是表示本发明的实施方式1的绘图层控制装置的绘图层的分配变更动作的说明图。图6是表示本发明的实施方式1的绘图层控制装置的窗口的层分配动作的流程图。图7是表示本发明的实施方式1的绘图层控制装置的窗口的绘图与绘图频率的监视动作的流程图。图8是表示基于本发明的实施方式1的绘图层控制装置的绘图频率的窗口的层分配动作的流程图。图9是本发明的实施方式2的绘图层控制装置的结构图。图10是表示本发明的实施方式2的绘图层控制装置的窗口绘图与遮罩设定处理的流程图。图11是表示本发明的实施方式2的绘图层控制装置的绘图层分配动作的流程图。图12是表示本发明的实施方式2的绘图层控制装置的窗口与遮罩的关系的说明图。图13是表示本发明的实施方式2的绘图层控制装置的绘图命令与遮罩设定的关系的说明图。图14是本发明的实施方式3的绘图层控制装置的结构图。图15是表示本发明的实施方式3的绘图层控制装置的窗口分组的说明图。图16是表示本发明的实施方式3的绘图层控制装置的绘图层分配动作的流程图。
具体实施例方式下面,为了更详细地说明本发明,根据附图对实施本发明的最佳方式进行说明。实施方式1.图1是本发明的实施方式1的绘图层控制装置的结构图。图1所示的绘图层控制装置包括应用程序执行部101、窗口管理部102、窗口绘图部103、绘图频率监视部104、绘图层管理部105、绘图更新部106。应用程序执行部101是执行各种应用程序的功能部。窗口管理部102是管理与由应用程序执行部101执行的各应用程序对应的窗口的功能部,具有用于管理窗口的窗口层栈结构体10加。此外,关于窗口层栈结构体10 会在后面描述。窗口绘图部103是在分配给视频存储器的绘图层上对由窗口管理部102管理的各窗口进行绘图的功能部。绘图频率监视部104是监视由窗口绘图部103绘图的各窗口的绘图频率的功能部,具有每个绘图层的绘图更新频率监视表l(Ma-l l(Ma-n。绘图层管理部105是在分配给相同层的窗口的绘图更新频率不同时,将更新频率同等程度的各窗口分配给相同层的功能部。绘图更新部 106是更新绘图层的功能部。此外,绘图层控制装置由计算机实现,这些应用程序执行部101 绘图更新部106 或者由与各个功能对应的软件和用于执行该软件的CPU或存储器等硬件构成,或者由专用的硬件构成。下面,对如上所述构成的绘图层控制装置的动作进行说明。图2表示由应用程序执行部101生成的窗口与分配的绘图层(视频存储器)的关系。图3表示绘图层与物理存储器的地址的关系。图4表示用于存储各窗口的绘图更新频率的数据结构。
图5表示绘图层的分配变更动作。图6是表示窗口的层分配动作的流程图。图7是表示窗口的绘图与绘图频率的监视动作的流程图。图8是表示基于绘图频率的窗口的层分配动作的流程图。如图6的流程图所示,应用程序执行部101对窗口管理部102进行绘图窗口生成请求(步骤ST101),窗口管理部102首先判定来自于应用程序执行部101的窗口生成请求中是否有绘图层指定(步骤ST1(^),在有指定时分配指定的绘图层(步骤ST1(^)。这里, 绘图层如图3所示,由与ID对应的视频存储器地址管理。接着,在窗口层栈结构体10 中登记生成的窗口的信息。此外,如图2所示,该窗口层栈结构体10 表示窗口的识别ID(WinID)与尺寸(Size)、位置(Pos)以及表示是哪层的层ID(LayerID)的关系。另外,在图2所示的例子中,识别ID = 1的窗口被分配给绘图层1 001),识别ID = 2、3的窗口被分配给绘图层2 002)。在上述的步骤ST102中,在没有分配指定时,对绘图层管理部105进行层分配请求 (步骤ST10;3),将生成的窗口的绘图层例如分配给上位层(步骤ST104)。应用程序执行部101对如此分配的窗口适当地进行绘图请求。在图7的流程图中,窗口绘图部103以一定期间例如垂直同步信号间隔等待来自于应用程序执行部101的绘图请求。从应用程序执行部101发布绘图时(步骤ST201),窗口绘图部103由于处理在一定期间内接受到的绘图请求,所以参考窗口层栈结构体102a, 从最下位窗口的绘图请求开始处理绘图请求(步骤ST2(^)。此时,绘图频率监视部104监视对窗口的绘图请求(步骤ST203),如图4所示,在绘图层1的绘图更新频率监视表l(Ma-l 和绘图层2的绘图更新频率监视表l(Ma-2中登记信息。在此,记录在一定时间例如1秒钟期间内更新的次数。
另外,在具有覆盖(重叠)在当前绘图中的窗口上的窗口、且未提出绘图请求的窗口时,由窗口管理部102对窗口绘图部103发布重绘请求(步骤ST204)。这是由于当下面的窗口因重绘而被更新时,重叠在其窗口区域上的窗口内的绘图内容也会变更,因此重叠的窗口也需要重绘。然后,在步骤ST205中,在同一层的绘图处理全部完成时,在绘图更新部106中向未图示的显示器传送、或者在绘图层为双缓存时,进行显示画面与绘图画面的切换(步骤ST206)。接着,绘图层管理部105根据每个绘图层的绘图更新频率监视表l(Ma-l和l(Ma_2 确定是否进行绘图层的变更(步骤ST207)。如图8的流程图所示,绘图层管理部105中的绘图层的更新判定中,首先求出各绘图层中的各窗口的更新频率的平均与方差(步骤ST301)。然后,判定各窗口的更新频率的方差值是否为阈值以下(步骤ST302)。如果为阈值以下,即分配给各层的窗口的更新频率在每层稳定时,直接结束。另一方面,在步骤ST302中,如果方差值超过阈值,则对所有窗口进行以下的处理(步骤ST303 步骤ST308)。首先,取各绘图层中的窗口的平均更新频率与作为目标的窗口的更新频率的差分,选择差分最小的绘图层(步骤ST304)。这是用于集合具有相同更新频率的各窗口的处理。求出绘图层后,将作为目标的窗口分配给该绘图层时,判定向哪个方向的绘图层
5移动(步骤ST30O。即,在分配给上位层的窗口向下位层移动时成为下方向,在分配给下位层的窗口被分配给上位层时成为上方向。在步骤ST305中,在层移动方向为下方向时,确认在同一层中是否存在成为目标的窗口重叠的窗口(步骤ST306)。这是在使窗口向下位方向移动时,检查窗口间的重叠顺序是否逆转。在步骤ST306中,在不存在重叠的窗口时使层移动(步骤ST308)。另一方面, 在步骤ST306中,在存在重叠的窗口时,对该窗口设为其层不可变更而不进行任何操作。同样地,在步骤ST305中,在层移动方向为上方向时,判定在同一层中是否存在重叠在目标窗口上的窗口(步骤ST307),在不存在时移动层(步骤ST308)。在存在重叠的窗口时不进行任何操作。反复进行K(K为任意整数)次上述的处理以使绘图层最优化,并结束。然后,在最优化的绘图层中实施绘图更新。例如,如图4和图5所示,窗口 KWinID= 1)与窗口 3 (WinID = 3)的绘图更新频率高、且窗口 1与窗口 3位于不同的绘图层时,由于窗口 3的影响,尽管窗口 2(WinID = 2) 本来不需要绘图更新但也不得不进行绘图更新。因此,通过根据更新频率将绘图层从图5的状态501变更为状态502,从而即使窗口 2完全不进行绘图更新也可以,由于不进行不需要的重新绘图处理,因此提高系统整体的绘图效率。如上所述,根据实施方式1的绘图层控制装置,由于包括窗口管理部,管理与应用程序对应的窗口 ;窗口绘图部,在绘图层上对由窗口管理部管理的各窗口进行绘图;绘图频率监视部,监视由窗口绘图部绘图的各窗口的绘图更新频率;以及绘图层管理部,在分配给相同层的窗口的绘图更新频率不同时,将绘图更新频率同等程度的各窗口重新分配给相同层,因此能够提高每个绘图层的绘图效率。另外,根据实施方式1的绘图层控制装置,由于绘图层管理部求出任意的绘图层中的各窗口的绘图更新频率的方差值,变更方差值为一定值以上的绘图层的分配,因此能够从分配变更的对象中排除窗口的更新频率稳定的层,所以不进行不需要的处理也可以, 能够进一步提高绘图效率。实施方式2.实施方式1中对绘图层的移动附加了制约条件(是否重叠),但通过对窗口设定遮罩(mask)来能够消除该制约条件。下面将该例作为实施方式2进行说明。图9是表示实施方式2的绘图层控制装置的结构图。实施方式2的绘图层控制装置的结构在实施方式1的结构上增加了窗口遮罩处理部107,除此以外与实施方式1的结构相同。窗口遮罩处理部107在作为对象的窗口中存在因其他窗口的重叠造成的非显示部分时,对该非显示部分设定遮罩。下面,对实施方式2的绘图层控制装置的动作进行说明。图10是表示实施方式2的窗口绘图与遮罩设定处理的流程图。图11是表示实施方式2的绘图层分配动作的流程图。首先,应用程序执行部101发布绘图请求(步骤ST401)。这与实施方式1同样,窗口绘图部103接受一定时间的绘图请求。接着,在窗口遮罩处理部107中,实施所有窗口的重叠判定,对各窗口绘图命令列追加各窗口的非显示部分的遮罩处理(步骤ST402)。图12是表示窗口的非显示部分的说明图,图中的阴影部分是其他窗口重叠的部分,对该区域进行遮罩处理。另外,图13是表示绘图命令与遮罩设定的关系的说明图,如图
示,遮罩设定插入到各绘图命令(命令1、2、3.......)的开头。据此,在对设定有遮罩的窗
口进行绘图时,必须在设定了遮罩的状态下进行。回到图10,窗口绘图部103根据窗口层栈结构体10 的信息,从下位窗口开始按顺序执行绘图处理(步骤ST4(X3)。另外,通过绘图频率监视部104监视绘图频率(步骤 ST404),对绘图更新频率监视表10 l(Ma-n记录更新信息。同一层的绘图处理完成时(步骤ST4(^),通过绘图更新部106进行绘图更新(步骤ST406),接着进行与绘图频率相应的层分配的变更处理(步骤ST407)。基于绘图层管理部105的绘图层的更新如图11的流程图所示,首先,求出各绘图层的更新频率的平均与方差(步骤ST501)。然后,判定各层的方差值是否为阈值以下(步骤ST5(^)。如果为阈值以下,即分配给各层的窗口的更新频率在每层稳定时,直接结束。 另一方面,在步骤ST502中,如果方差值超过阈值,则对所有窗口进行以下的处理(步骤 ST503 步骤 ST505)。首先,取各绘图层中的窗口的平均更新频率与作为目标的窗口的更新频率的差分,选择差分最小的绘图层(步骤ST504),变更绘图层(步骤ST505)。反复进行上述的处理,判定是否反复了 K次(步骤ST506),在反复了 K次时结束。 然后,在最优化的绘图层实施绘图更新。如上所述,根据实施方式2的绘图层控制装置,由于包括窗口遮罩处理部,在作为对象的窗口中存在因其他窗口的重叠造成的非显示部分时,对非显示部分设定遮罩,在绘图层控制装置中,在对窗口进行绘图时,在对窗口设定有遮罩的情况下,适用遮罩来进行绘图,因此没有制约条件就能够进行绘图层变更,即使窗口的逻辑重叠顺序与物理重叠顺序矛盾也能够正确显示。另外,根据实施方式2的绘图层控制装置,由于窗口遮罩处理部将遮罩设定插入到作为对象的窗口的绘图命令的开头,并在对窗口进行绘图时,通过执行开头的遮罩设定来进行遮罩处理,因此进行窗口的绘图时必然会适用遮罩,能够进行正确的显示。实施方式3.实施方式3中,对需要窗口间的同步的各窗口进行分组。图14是表示实施方式3的绘图层控制装置的结构图。实施方式3的绘图层控制装置在实施方式2的绘图层控制装置上增加了窗口同步控制部108。窗口同步控制部108是用于控制窗口的同步绘图的功能部。S卩,窗口同步控制部108对需要窗口间的同步绘图的各窗口进行分组。然后,绘图层管理部105对非同步窗口进行基于窗口的绘图更新频率的层分配。由于其他结构与实施方式2相同,因此这里省略说明。下面,对实施方式3的绘图层控制装置的动作进行说明。在进行窗口间的绘图同步时,最简单的方法是在相同的绘图层进行绘图,并进行绘图更新。因此,在窗口同步控制部108中受理例如图15的同步请求列表1501这样的来自于应用程序执行部101的绘图同步请求,并将用于进行同步的窗口分组为同步组1 (1502)、同步组2 (1503),变更绘图层的分配。然后,关于非同步窗口,与实施方式1和实施方式2同样地按照绘图更新频率进行绘图层的切换即可。使用图16对实施方式3中的绘图层的更新处理进行说明。绘图层管理部105中,首先变更绘图层的分配,以使在窗口同步控制部108中分组的窗口的绘图层以组为单位变为相同的绘图层(步骤ST601)。接着,求出各绘图层的更新频率的平均与方差(步骤ST6(^)。然后,判定各层的方差值是否为阈值以下(步骤ST603)。 如果为阈值以下,即分配给各层的窗口的更新频率在每层稳定时,直接结束。另一方面,如果方差值为阈值以上,则对非同步窗口进行以下的处理(步骤ST604 步骤ST606)。S卩,取各绘图层的平均更新频率与作为目标的窗口的更新频率的差分,选择差分最小的绘图层(步骤ST60O,变更绘图层(步骤ST606)。 反复进行上述的处理,在反复了 K次时结束窗口的层分配处理(步骤ST607),以后在最优化的绘图层实施绘图更新。此外,上述实施方式3中,对实施方式2的结构适用,但也可以对实施方式1的结构适用。如上所述,根据实施方式3的绘图层控制装置,由于包括窗口同步控制部,对需要窗口间的同步绘图的各窗口进行分组,在绘图层控制装置中,将同一组内的窗口分配给同一绘图层,并且绘图层管理部对非同步窗口在窗口的绘图更新频率不同时将绘图更新频率同等程度的各窗口重新分配给相同层,因此能够自动地将想要同步绘图的窗口的绘图层设为相同的绘图层,简化绘图处理,进一步提高绘图效率。产业上的可利用性如上所述,本发明所涉及的绘图层控制装置涉及考虑绘图负荷、绘图同步来自动地变更各应用程序与绘图层的对应关系的结构,适合用于安装了窗口系统的信息处理装置。
权利要求
1.一种绘图层控制装置,包括窗口管理部,管理与应用程序对应的窗口 ;窗口绘图部,在绘图层上对由所述窗口管理部管理的各窗口进行绘图; 绘图频率监视部,监视由所述窗口绘图部绘图的各窗口的绘图更新频率;以及绘图层管理部,在分配给相同层的窗口的绘图更新频率不同时,将该绘图更新频率同等程度的各窗口重新分配给相同层。
2.根据权利要求1所述的绘图层控制装置,其特征在于,绘图层管理部求出任意的绘图层中的各窗口的绘图更新频率的方差值,变更该方差值为一定值以上的绘图层的分配。
3.根据权利要求1所述的绘图层控制装置,其特征在于,包括窗口遮罩处理部,该窗口遮罩处理部在作为对象的窗口中存在因其他窗口的重叠造成的非显示部分时,对该非显示部分设定遮罩,在对窗口进行绘图时,在对该窗口设定有所述遮罩的情况下,适用所述遮罩来进行绘图。
4.根据权利要求3所述的绘图层控制装置,其特征在于,窗口遮罩处理部将遮罩设定插入到作为对象的窗口的绘图命令的开头,在对所述窗口进行绘图时,通过执行开头的遮罩设定来进行遮罩处理。
5.根据权利要求1所述的绘图层控制装置,其特征在于,包括窗口同步控制部,该窗口同步控制部对需要窗口间的同步绘图的各窗口进行分组,将同一组内的窗口分配给同一绘图层,并且绘图层管理部对非同步窗口在窗口的绘图更新频率不同时将该绘图更新频率同等程度的各窗口重新分配给相同层。
全文摘要
在绘图层上对多个窗口进行绘图的绘图层控制装置中,通过绘图频率监视部(104)监视各窗口的绘图更新频率。绘图层管理部(105)在分配给相同层的窗口的绘图更新频率不同时,将绘图更新频率同等程度的各窗口重新分配给相同层。
文档编号G09G5/36GK102272824SQ20098015388
公开日2011年12月7日 申请日期2009年1月6日 优先权日2009年1月6日
发明者田中昭二 申请人:三菱电机株式会社