专利名称:从存储器和处理中丢弃空闲图形显示元素的制作方法
技术领域:
本发明涉及丢弃来自存储器和处理的空闲图形显示元素的方法和系统。
背景技术:
随着计算的出现,用户界面已被发展为允许用户与电子内容和底层的软件应用功能进行交互。在一些情况下,给定用户可部署多个用户界面,该多个用户界面与在所部署的用户界面的各层中的多个内容项目相关联。例如,用户可能在他/她的计算机显示屏上同时部署并显示了两个文字处理文档、电子表格文档、幻灯片演示应用文档以及电子邮箱界面,其中每一个被显示的文档或内容项目中在显示屏上层叠,或如果有足够的显示屏空间可用的话则彼此相邻显示,或者被显示的一个或多个文档或内容项目被最小化而在视野之夕卜。在这样的情况下,被显示的文档或内容项目中的一个可以是活动项目,这是因为其当前正在接收用户动作(例如,编辑、光标聚焦等等)或由于其正在接收用于更新被显示项目的 一些方面所需的一些类型的系统动作。其他被显示的内容项目(例如,被显示的文字处理文档)可以是不活动的或空闲的,意味着由于不存在对该内容项目的用户动作或系统动作,该内容项目当前不需要处理或更新。在通常情况下,每个被显示的内容项目可被显示为组成被显示的内容项目的图形显示元素演示(例如位图)的集合。例如,被显示的文字处理文档可包括被显示的表示功能按钮/控件(例如,打印按钮、保存按钮等等)的位图或其他图形演示的集合,以及被显示的表示文档内容(例如,文本、图像等等)的位图或其他图形表示的集合。当这样的文档或文档的个体图形显示元素是不活动或空闲时,与显示图形演示相关联的继续处理和用于图形表示的数据的继续存储需要大量使用存储器容量、处理资源和包括移动计算设备的电池寿命的电能。因此,电子内容项目的空闲图形演示的存储和处理在存储器容量、处理资源和功耗方面是高成本的。本发明正是出于这些和其他考虑事项而做出的。
发明内容
本发明的实施例通过丢弃对于空闲的计算机生成的图形显示元素的存储器存储和处理,以节省存储器容量、处理资源和功耗,从而解决了上述和其他问题。包含功能组件(例如,按钮、控件、文档显示区域等)和用户内容(例如,文档、图像、照片等)的用户界面可由一个或多个显示框或窗口组成。每个显示框或窗口可包含一个或多个此类组件。例如,文字处理应用程序的用户界面(UI)可包含具有组成工具栏的多个按钮的一个显示框或窗口。另一显示框或窗口可包括组成服务面板的查找功能和帮助内容。又一显示框或窗口可包括例如文档、图表、图像、照片等等之类的用户信息。根据实施例,每个显示框或窗口以及其中所包含的显示元素可由显示管理组件(本文中也被称为“层主机”)进行管理。即,层主机可管理包含在绘制到显示屏的每个显示框或窗口中的显示元素。给定的显示元素可在多个显示框或窗口之间共享,因此可被多个层主机所引用。层主机可被分配给多个显示框或窗口的每一个以管理其中所包含的显示元素。如果所有多个显示框或窗口当前都是活动的,那么所有相关联的层主机将都被指定为活动的。每个显示元素被分配一引用计数,该引用计数等于引用该显示元素的活动层主机的总数量。如果给定的显示框或窗口变为空闲达到规定持续时间(例如,30秒),在该持续时间内没有用户或处理器动作在显示框或窗口上执行,那么被分配给该显示框或窗口的层主机将进入空闲状态,并且其引用的任何显示元素的引用计数将递减I (一)。只要显示元素具有等于或大于I (一)的引用计数,就保持与显示元素相关联的存储和处理。然而,如果任何显示元素的引用计数被递减至O时,则从存储器丢弃表示该显示元素的数据并且终止用于保持(更新)该显示元素所需的处理直至再次需要该显示元素。根据其他实施例,为了节省用于产生个体显示元素所需的处理资源,可产生单个大显示元素或纹理分组(也被称为“图集(atlas)”)以存储多个个体显示元素或纹理。图集 或显示元素分组的使用不限于用户界面的特定部分。用于用户界面的任何部分的显示元素可被储存在图集中,这样减少了创建每个显示元素的时间。即,显示元素分组或图集可包含用于Π的大不相同的部分的显示元素,并且Π的不同部分可由不同显示元素管理器或层主机进行管理。为了节省存储器和处理资源,个体显示元素和显示元素分组(图集)都可在规定的空闲状态下被丢弃。丢弃显示元素分组或图集需要通过将它们删除或通过将它们移动至另一分组或图集而将显示元素从该分组或图集移除。删除显示元素需要使引用该显示元素的所有显示元素管理器或层主机进入空闲状态。在显示元素被丢弃后,显示元素分组或图集可被压缩或被组合,以将显示元素从多个分组移动至一个分组中,这样可产生之后可被丢弃的空分组(图集)。一个或多个实施例的细节在附图和以下描述中阐明。通过阅读下面的具体实施例并参考相关联的附图,其他特征和优点将变得显而易见。要理解的是下面的具体实施例仅仅是说明性的,而不是对所要求保护的发明的限制。提供本发明内容以便以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
图IA示出了用于丢弃用于空闲的计算机生成的图形显示元素的存储器存储和处理,以节省存储容量、处理资源和功耗的系统体系结构图。图IB示出了与两个被显示的文字处理文档相关联的两个示例被显示的文字处理应用用户界面,其中被显示的用户界面组件中的每一个包括多个显示元素。图2示出了在显示元素分组或图集中被分组到一起的显示元素或纹理的集合。图3是示出了引用给定显示元素的多个被显示的框或窗口的映射和轨迹的简化框图。图4是示出了表示多个相关联的显示元素的两个或多个分组或图集的压缩或组合的简化框图。
图5是示出了表示多个相关联的显示元素的两个或多个分组或图集的压缩或组合的简化框图。图6示出了丢弃用于空闲的计算机生成的图形显示元素的存储器存储和处理,以节省存储器容量、处理资源和功耗的方法的流程图。图7是可用来实施本发明的各实施例的计算设备的简化框图。图8A和8B是可用来实施本发明的各实施例的移动计算设备的简化框图。图9是可在其中实施本发明的各实施例的分布式计算系统的简化框图。
具体实施方式
如上所简要描述的,本发明的各实施例涉及丢弃用于空闲的计算机生成的图形显示元素的存储器存储和处理,以节省存储器容量、处理资源和功耗。以下具体实施方式
参考各个附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或相似的元件。尽管可能描述了本发明的实施例,但修改、改编、以及其他实现是可能的。例如,可对附图中所示的元素进行置换、添加、或修改,并且可通过对所公开的方法置换、重新排序、或添加阶段来修改本文中所描述的方法。因此,下文的详细描述不限制本发明,相反,本发明的合适范围由所附权利要求来限定。根据实施例,当给定的图形显示项目(例如,图形用户界面)被显示到计算机启用的显示屏时,在计算机启用的显示屏上显示之前生成并存储个体显示元素。在一些情况下,当在计算机显示屏上显示显示元素时,每个个体显示元素被显示为用于表示与被显示的项目相关联的底层数据或功能的位图、图像或其他图形显示对象。例如,如果文字处理软件应用用户界面被启动以显示包含文本和图像的文档以供用户编辑,则用户界面的组件(例如,功能按钮和控件、服务面板、工具栏、查找界面等等)和用户数据(例如,文本、图像等)可在显示屏上显示为表示底层软件应用功能或用户数据的显示元素的集合。组件中的每一个可在显示屏上被显示为个体位图、图像或其他图形表示,当在显示框或窗口中被组合在一起时提供软件应用用户界面的所需显示和所需用户数据或其他信息。根据之前的系统,个体图形显示元素(在本文中有时被称为“纹理”)中的每一个在存储器中是连续保存的并且是被连续处理的以显示在计算机显示屏上。这样的连续存储器保存和处理消耗了存储器空间、处理资源和电功率和/或电池寿命。根据本发明的实施例,当图形显示元素不活动或空闲达到规定持续时间(例如,30秒)时,该图形组件的显示被保持在计算机显示屏上,但是该图形显示元素的处理被中断并且表示该图形显示元素的数据存储被从存储器丢弃。根据一个实施例,通过将定时器应用于该显示元素来跟踪该显示元素上的用户活动(例如,聚焦、选择或编辑等)或系统活动(例如,自动更新、动画等),以确定在该显示元素上的活动之间的持续时间,来跟踪该显示元素上的用户和/或系统活动。将该显示元素上的最后的用户或系统活动之后的其中没有接收到针对该显示元素的用户或系统活动的持续时间与规定持续时间作比较,以确定是否满足规定持续时间(例如,30秒)。因此,为其他使用节省了存储器容量、处理资源和所需电功率(包括电池寿命)。如果被显示的图形显示元素重新变成活动的,如下所述,那么可新生成该图形显示元素并绘制到显示屏,并将表示经更新的图形显示元素的数据存储到存储器。然而,在处理被中断和表示空闲图形显示元素的数据被从存储器丢弃的空闲时间期间,享有了存储器容量、处理时间和功耗的节省。在一些情况下,即使经历了规定的空闲时间,可能不能丢弃用于一个或多个图形组件的处理和存储器存储。例如,如果一个或多个图形组件包括当前活动的显示框或窗口(例如,用户聚焦当前放置在其中的顶层显示框或窗口),这样的显示框或窗口可保持在存储器中并且更新处理可继续。对于另一示例,显示动画可被指定为“不灭的”动画,意味着即使经历了规定空闲持续时间,相关联的存储器存储和处理将不被丢弃。例如,动画可在给定的显示框或窗口中或在给定显示元素上运行,指示处理在进行中(例如,旋转圈、摆动沙漏、跳动的图标等等)。不管是否是空闲时间,用于此类显示元素的显示处理和存储器存储都可被保持,因为该显示元素的连续更新被认为对用户体验和/或信息从另一个方面而言是重要的。图IA示出了用于丢弃用于空闲的计算机生成的图形显示元素的存储器存储和处理的系统体系结构,以节省存储器容量、处理资源和功耗。系统100包括具有计算机显示屏 表面110的计算机显示屏105,用以显示与用户内容和/或软件应用用户界面演示相关联的一个或多个图形显示元素。根据各实施例,计算机显示屏105例示了以下参照图7至9所描述的与各种合适的计算设备相关联的计算机显示屏。一对所显示的软件应用用户界面和相关联的用户内容被显示在显示表面110上。用户界面115、135例示了由多个软件应用(例如,文字处理应用、电子数据表应用、幻灯片演示应用、电子邮件应用、便笺应用、日历应用等等)所启用的用户界面和相关联的用户内容。即,用户界面115、135例示了可根据相关联的软件应用功能而被显示到由计算机启用的显示表面Iio上以供查看和使用的任何图形显示元素。如图IA中所示,用户界面115、135例示了一对文字处理应用用户界面,该用户界面具有多个功能控件120、140、服务面板125、145以及用户内容显示区域130、150。如应当理解,所示用户界面115、135仅用于示例目的,而且不是限制可根据本文所描述的本发明的诸实施例而显示和管理的大量和多种类型的图形显示元素。图形渲染、动画以及显示元素160例示了用于产生、渲染、存储图形显示元素以及向计算机显示表面110显示这些图形显示元素的一个或多个软件或硬件启用的进程,如图IA所示。即,图形渲染、动画和显示元素160例示了软件应用,该软件应用包含足够的计算机可执行指令用于导致图形显示元素的产生、渲染、存储并将图形显示元素显示至计算机显示表面110,以表示底层的功能和数据。例如,该组件160可以是软件应用或与软件应用相关联的软件应用组件,用于产生、渲染、存储以及显示软件应用用户界面,以及显示与被显示的用户界面相关联的用户数据。根据一个实施例,该组件160可以是用户界面、内容显示以及动画合成器应用的形式。类似地,该组件160可例示与计算机操作系统相关联或包含在计算机操作系统中的软件应用模块(例如桌面窗口或帧管理器应用),该软件应用模块操作用于产生、渲染、存储图形显示元素并将图形显示元素显示至计算机显示表面110。此外,组件160可例示软件应用或软件应用模块,该软件应用或软件应用模块操作用于提供与图形显示元素相关联的动画功能。例如,该组件160可操作以提供屏幕上的动画,诸如被显示的项目从显示屏的一个区域到另一区域或从一个显示对象到另一个显示对象的移动,等等。根据本发明的实施例,图形渲染、动画和显示元素160操作用于跟踪与被显示的图形显示元素相关联的活动,以用于确定给定的图形显示元素是否已经变得空闲达规定持续时间(例如30秒),停止针对这样的空闲图形显示元素的处理并且丢弃为这样的空闲图形显示元素所储存的数据,以节省存储器容量、处理资源和功耗。存储器组件170例示了任何本地或远程存储器存储区域,表示被显示的图形显示元素的数据可存储在该本地或远程存储器存储区域处。如本文中所描述,电源/电池组件800例示了一个或多个电功率源,用于产生、渲染、存储一个或多个图形显示元素并在计算机启用的显示表面110上显示这一个或多个图形显示元素。图IB示出与被显示的两个文字处理文档相关联的被显示的两个示例文字处理应用用户界面,其中每一个被显示的用户界面组件包含多个显示元素。例如,用户界面115、135可例示并排显示或以叠加的定向来显示的一对文字处理文档,如图IB所示。用户可能已经启动文字处理应用用户界面115、135的两个实例,用于在一个编辑会话期间查看和/或编辑两个文字处理文档。考虑作为另一示例,用户可能已经在同一显示表面110上启动了电子邮件用户界面、文字处理应用用户界面、幻灯片演示应用用户界面以及电子数据表应用用户界面,而且所启动和显示的每个用户界面可能并发地运行。如上所述,每个图形显示元素或图形显示元素的每个集合(例如,协调用户界面和相关联的用户数据的显示元素的集合)需要处理资源、存储器容量和功耗以用于产生、渲染、存储和显示这些图形显示元素。当显示了多个项目时,对存储器容量、处理资源以及功耗的需求急剧升高。例如,这些应用之一(例如文字处理应用)正在显示四个文档,且如果电子数据表应用正在显示两个电子数据表文档,且如果电子邮件应用正在显示两个打开的电子邮件项目,则可能产生10个全屏显示框或窗口,每个全屏显示框或窗口需要大量的存储器容量,例如每个全屏显示框或窗口 32兆字节的存储器容量。加起来,示例用户界面和内容项目可能需要大量的组合存储器容量,例如320兆字节的存储器。根据实施例,停止处理并从存储器中丢弃表示在任何给定时间不活动的那些被显示项目的数据可导致与除了一个所显示内容项目(即,由于用户动作或处理动作而当前为活动的单个内容项目)之外的所显示内容项目相关联的存储器容量和处理资源的大量节省。仍参考图1B,在计算机屏幕表面110上显示的每个显示元素可被显示为单个显 示对象或显示对象的集合。根据一个实施例,内容项目可被显示在显示框或窗口中,其中显示元素的集合可被组织以提供软件应用功能和相关联的用户内容的所需显示。参考图1B,用户界面135包括顶层显示框或窗口 180,且包括多个子显示框或窗口 185、190、195。例如,软件应用功能按钮或控件140的集合可被显示在子显示框或窗口 185中,用户内容150可被显示在子显示框或窗口 190中,且与服务面板145相关联的功能和内容(例如搜索功能、帮助功能、信息功能等等)可被显示在子显示框或窗口 195中。如应当理解地,图IB所示的示例文字处理用户界面和相关联的用户数据仅用于示例和说明目的,且不限制可根据本发明的实施例来显示和管理的大量和多种类型的用户界面及相关联的用户数据。如上简述,每个显示框或窗口及其中包含的显示元素可由显示管理组件(本文中也称为“层主机”)管理。即,层主机可管理每个显示框或窗口中所包含的绘制到显示屏上的显示元素。给定的显示元素可在多个显示框或窗口上共享,从而可被多个层主机所引用。例如,“字体”按钮可被呈现在具有一组格式化按钮的显示框或窗口中。同一个“字体”按钮可被呈现在具有一组频繁使用的按钮的第二显示框或窗口中。而且,同一按钮可以在与格式化功能菜单相关联的又一显示框或窗口中,该显示框或窗口在文本的编辑部分附近弹出,以允许在编辑会话期间快速使用示例“字体”按钮。根据该示例,可将层主机分配给三个显示框或窗口中的每一个,以管理显示框或窗口中所包含的显示元素。如果所有三个显示框或窗口当前是活动的,则所有三个层主机将被指定为活动的。每个显示元素被分配一引用计数,该引用计数等于引用该显示元素的活动层主机的总数。继续上述示例,如果包含“字体”按钮的每个显示框或窗口是活动的,则总计三个活动层主机将引用“字体”按钮,从而“字体”按钮将具有引用计数3 (三)。如果给定显示框或窗口变为空闲达到规定持续时间(例如30秒),在该规定持续时间期间没有用户或处理器动作在该显示框或窗口上执行,则被分配给该显示框或窗口的层主机将变为空闲,且该层主机引用的任何显示元素的引用计数将被递减I (一)。继续上述示例,如果包含“字体”按钮的显示框或窗口(例如弹出菜单)变为空闲,则相应的层主机将变为空闲,且“字体”按钮的引用计数将被递减I (一)而得到引用计数2 (二)。只要显示元素具有I或I以上的引用计数,则可保持与该显示元素相关联的存储和处理。然而,如果任一显示元素的引用计数被递减至0,则从存储器中丢弃表示该显示元素的数据,而且终止用于保持(更新)该显示 元素所需的处理直至再次需要该显示元素。根据实施例,对于由单个管理组件或层主机所管理的显示元素的每个实例,使引用计数递增。例如,如果在用户界面135中显示的功能按钮或控件140与用户界面115中显示的功能按钮控件120共用显示元素(例如“文件”、“编辑”等等),且这些显示表面同时都是活动的,则对这些显示元素应用引用计数2。如果用于示例用户界面115、135的任一实例的包含这些功能按钮或控件120、140的显示框或窗口变为空闲,则引用计数可被递减I (一)而得到引用计数I (一)。如果引用给定显示元素的所有层主机变为空闲,则该显示元素的引用计数被递减至0,且该显示元素可被丢弃。继续上述示例,如果显示框120、140 二者都变为空闲,则相关联的显示元素的引用计数会被递减至0,且该显示元素可被丢弃,如本文所描述的那样。例如,仍参考图1B,如果示例文字处理应用用户界面的每个被显示实例都需要与该文字处理应用相关联的按钮或控件140 (例如“文件”、“编辑”、“打印”等等),则表示那些图形显示元素的显示的数据仅需要针对所有实例被存储一次,而且与保持那些被显示的组件的显示和更新相关联的处理仅需要执行一次。因此,示例文字处理应用用户界面的10个实例可在计算机显示屏表面110上被显示,而且如果引用所显示的用户界面的实例之一中的显示元素的任何给定显示管理组件或层主机是活动的,则可将引用计数I (一)应用于所引用的显示元素。只要由层主机所管理的显示框中包含的显示元素之一保持I (一)或更大的引用计数,则可保持其中包含给定显示元素的显示框或窗口。如应当理解地,引用计数被递减至O(零)的任何显示元素可被丢弃。仍参考图1B,作为示例,代替示例文字处理应用用户界面115、135的两个实例,考虑用户已经启动示例文字处理应用用户界面115、135的10个实例。作为示例,进一步考虑在显示框或窗口 195中显示的服务面板125、145在所显示的用户界面的所有实例中是空闲的。即,作为示例,考虑没有用户动作或系统动作与示例文字处理应用用户界面115、135的示例10个实例中的任一个的服务面板125、145中包含的任何功能或内容项目相关联。在这样的情况下,负责管理服务面板125、145中所包含的图形显示元素的管理组件或层主机将变为空闲,而且相关联的显示元素的引用计数将降为O,因为使用(或引用)这些显示元素的每个管理组件都是空闲的。因此,根据本发明的实施例,表示服务面板125、145的每个实例中显示的组件或内容项目的数据、与那些服务面板的显示相关联的处理资源、与存储器存储相关联的电功率要求以及与那些显示元素相关联的处理可被丢弃,从而允许节省与那些服务面板相关联的存储器容量、处理资源以及功耗。然而,如果在任何时刻示例服务面板125,145中的一个再次变为活动,其中用户(例如)经由在服务面板125、145的一个实例中的鼠标点击而集中在服务面板125、145的一个实例上,则包含该活动服务面板的显示框将变为活动,且其显示元素将获得重建。替代地,活动显示框将利用由其他管理组件(层主机)所使用的显示元素,且这些显示元素的引用计数将被相应地递减。图2示出了在显示元素分组或图集200中被分组在一起的显示元素或纹理的集合。如本文中所描述,对于被显示的给定的用户界面或内容项目,可产生和显示多个个体显示元素(本文中也称为纹理)。根据一个实施例,为了减少与个体显示元素或纹理的产生和显示相关联的时间的影响,可将显示元素或纹理的分组显示元素集中聚集到用于保持多个个体显示元素的单个显示元素分组或图集中,以防止频繁丢弃和/或处理个体显示元素。 例如,返回参考图1B,在用于示例用户界面的功能框、窗口或工具栏中显示的每个个体按钮或控件140可被分组集中到在单个显示元素图集中,而且只要被分组到该图集中的其他显示元素被保持,就可保持被分配和分组到给定图集中的各个个体显示元素的产生和显示显示元素。替代地,如下所述,个体空闲显示元素可从显示元素图集中被丢弃,而且显示元素图集可被组合或压缩,以节省资源。例如,如果与按钮或控件140中的每一个相关联的图形显示元素或纹理被一起分组到单个显示元素图集200中,其中显示元素或纹理210、220、230、240、250中的每一个例示了按钮或控件“文件”、“编辑”、“打印”、“格式”等等中的每一个,则与那些个体显示元素或纹理中的每一个的产生相关联而存储的数据以及与那些显示元素或纹理的产生和存储相关联的处理可与显示元素图集相关联地被组合和保持。即,如果那些显示元素中的任一个(例如“文件”按钮组件)被活动的管理组件或层主机使用或引用,但如果其他显示元素(例如“编辑”、“打印”、“格式”等等)中的每一个未被活动的管理组件或层主机使用或引用,则所有的空闲显示元素可被保持为活动显示元素,因为显示元素它们和与“文件”按钮相关联的当前活动的显示元素一起被包括在显示元素图集200中显示元素显示元素。也就是说,因为该图集将仍包含用于“文件”按钮的一个显示元素,所以整个图集不能被丢弃。如果给定图集200中包含的每个显示元素变为空闲达到规定持续时间(例如30秒),则与整个数据组件图集相关联的数据存储和处理可被丢弃,如本文中所描述。因此,在这样的情况下,显示元素或纹理的逻辑分组可被聚集在显示元素图集中,以防止个体显示元素的不必要和频繁的丢弃和重新产生。现在参考图3,可将被分组到给定显示元素图集中的显示元素映射到一个或多个层主机。如图3所示,第一显示元素图集335可包括用于给定类型或指定分组的组件的显示元素,诸如像“字体”、“颜色”的格式化功能控件/按钮等等。第二显示元素图集355可包括用于第二类型或分组的组件的显示元素,诸如像“文件”、“编辑”的顶层命令控件/按钮等等。第一图集可包含跨由多个不同层主机所管理的多个软件应用或显示框/窗口的一个或多个这样的显示元素。类似地,第二图集可包含跨由多个不同层主机所管理的多个软件应用或显示框/窗口的不同的一个或多个这样的显示元素。仍参考图3,给定层主机可将显示元素映射到一个以上显示元素图集中。继续上述示例,图3中示出的第一层主机310可负责管理工具栏显示框或窗口 185中所包含的多个显示元素315、316、317 (参见图1B)。层主机310可将与格式化按钮相关联的第一显示元素或纹理315映射至第一显示元素图集335,且层主机310可将与类似“文件”和“编辑”的一对命令按钮相关联的第二和第三显示元素或纹理316和317映射至第二显示元素图集355。第二层主机320可与不同管理的显示框或窗口相关联,且可将用于另一命令按钮的另一显示元素或纹理325映射至第二显示元素图集355。因此,根据该示例,第一显示元素图集335包括来自一个或多个显示主机的多个相似或相关的显示元 素,而第二显示元素图集包括来自一个或多个其他显示主机的多个相似或相关的显示元素。如应当理解地,用于描述层主机和显示元素图集的示例仅仅是为了说明目的,而不是限制可根据本文所描述的本发明的实施例来管理的大量不同类型的显示元素。仍参考图3,如上所述,基于对被分组在给定显示元素图集中的给定显示元素进行引用的管理组件或层主机的数量,跟踪与个体显示元素相关联的引用计数。例如,第一层主机310中所示的第一显示元素315映射至与第一显示元素图集335 —起分组的显示元素。对于第一显示元素315递增引用计数I (一),意味着相关联的显示元素当前是活动的。另一方面,第一显示元素图集335中所示的显示元素345、350未被映射至所示层主机310、320中的任一个,且示出了引用计数0,这意味着相关联的显示元素不再被活动的显示元素管理器引用达到规定持续时间(例如30秒)。第一层主机310中示出的显示元素316和第二层主机320中示出的显示元素325均被映射至第二显示元素图集355,因此第二显示元素图集355中示出的相应的显示元素316、325示出了引用计数2 (二),表明相关联的显示元素(例如被显示的按钮、被显示的内容项目、被显示的图像或类似物)当前在正由两个层主机所管理的两个显示框或窗口中是活动的。显示元素图集会消耗大量的存储器容量。他们开始为空,随后被填充以个体显示元素。当图集的存储器容量被完全利用时,另一图集被创建。为了节省存储器容量,期望在可能时丢弃不需要的图集。这需要删除活动的显示元素管理器或层主机已不再使用的显示元素,并将显示元素移至有空间容纳它们的其他图集,从而留下一个或多个图集为空(且可用于被丢弃)。根据一个实施例,为了降低显示元素图集的存储器要求,当相关联的层主机变为空闲时引用计数变为零时,被分组到显示元素图集中的显示元素可被丢弃。在一个或多个显示元素由于引用计数为O而被丢弃之后,图形渲染、动画和显示元素160可压缩相关联的显示元素图集,从而允许图集被重构和/或组合,以防止创建新图集而需要附加的存储器容量。例如,如果给定图集需要16兆字节的存储器容量,则即使它包含需要显著少于16兆字节的存储器容量的多个显示元素,该图集也可被重构至较低的存储器容量要求,或该图集可与第二图集组合,其中经组合的图集需要16兆字节的存储器容量或更少存储器容量。如应当理解地,每个图集16兆字节存储器仅仅是作为示例,而不是限制可能或可能不针对给定显示元素图集利用的存储器容量。参考图4,图集可被压缩和重构以回收未使用的空间,这包括将显示元素在图集之间移动,并在图集内组织这些显示元素,以减少所需的图集数量,并增大图集内的可用空间的区域。例如,第一显示元素图集400包括具有引用计数I的单个显示元素或纹理415。示出显示元素图集420具有两个显示元素或纹理425、430,分别具有引用计数I和2。为了回收第一显示元素图集400中可用的未使用空间,可将第二显示元素图集420中所包含的显示元素425、430移至第一显示元素图集400中,以使第一显示元素图集400现在包括三个显示元素415、425、430。在将显示元素从第二显示元素图集420移走之后,第二显示元素图集420变为空,而且可被丢弃,以恢复否则与显示元素图集420相关联的存储器容量。参考图5,根据另一实施例,而且如上简述,显示元素未从显示元素图集中被丢弃,除非给定图集中的所有显示元素达到引用计数O以允许丢弃整个图集。根据该实施例,防止了在相对频繁地重新利用显示元素的情况下从显示元素图集中非必要地丢弃给定的显示元素。参考图5,如果给定显示元素达到引用计数O而且它不被包含在显示元素图集中,则该显示元素被立即丢弃。然而,如果显示元素达到引用计数0,且与未达到引用计数O的其他显示元素一起被包含在显示元素图集内,则该显示元素图集内包含的所有显示元素都被保持。 根据该实施例,当图集中包含的显示元素具有引用计数O以允许它们被丢弃时,图集可被压缩。参考图5,当根据该实施例而压缩图集时,具有引用计数O的显示元素可被丢弃,而余下的显示元素可被组合到更少数量的图集中,以允许空图集被丢弃。如图5所示,第一显示元素图集510包括具有引用计数O的两个显示元素520、525。类似地,第二显示元素图集530包括具有引用计数O的两个显示元素540、545。根据该实施例,具有引用计数O的显示元素被丢弃,而两个示例显示元素图集510、530中所包含的余下的显示元素515、535、550被组合到单个显示元素图集510中,该单个显示元素图集510仅具有引用计数为I或I以上的显示元素515、535、550。然后空的显示元素图集530可被丢弃,以释放与空的显示元素图集相关联的存储器容量。如上所述,当显示元素被丢弃时,它可基于用户动作或要求更新之前被丢弃的显示元素的系统动作而被重新激活。例如,返回参考图1B,如果与所显示的按钮或控件(例如显示窗口 185中包含的“格式”按钮)相关联的显示元素达到引用(ref)计数为0,且用于该显示元素的存储器和处理已被丢弃,则用户动作或系统动作可能要求之前被丢弃的与示例“格式”按钮相关联的显示元素被重新激活。例如,如果用户经由鼠标点击、触摸、触控笔接触、手势、语音命令或其他用户交互而聚焦在“格式”按钮上,则与示例“格式”按钮相关联的显示元素可由图形渲染、动画和显示元素160来产生、渲染、存储至存储器并绘制到计算机显示表面110。类似地,如果由相关联的软件应用对之前被丢弃的显示元素发起了系统动作(例如异步进程),则该显示元素可被重新激活。例如,如果与图IB中示出的示例用户界面相关联的文字处理软件应用被配置成在给定文档上启用某些格式化操作,如果给定文档被启动且与“格式”按钮相关联的显示元素之前已被丢弃(如上所述),则该显示元素可被重新激活,其中底层的显示元素被产生、渲染、存储并绘制至计算机启用的显示表面110作为被显示的用户界面135的一部分,如图IB中所示。根据诸实施例,当给定的显示元素被更新时,如上所述,相关联的管理组件或层主机类似地针对重新激活的显示元素而被重新激活。被重新激活的层主机要求相关联的客户机应用(例如文字处理应用、操作系统或类似物)重新绘制之前被丢弃的显示元素,且层主机将由该层主机引用的每个显示元素的引用计数递增I个计数。当被丢弃的显示元素被重新产生、存储和绘制到显示表面时,引发处理资源、存储器容量和功耗方面的成本。根据一个实施例,并不是完全丢弃显示元素,而是该显示元素被单独的应用(例如计算机的操作系统)所保持,而且该显示元素在变为活动时可被回收以供显示。根据该实施例,代替从存储器完全删除/丢弃给定的显示元素或纹理,给定的显示元素或纹理可被返回提供给操作系统705、864 (参见图7、8B)以供保持,这意味着利用该显示元素或纹理的软件应用(具有引用计数O)已经有效地释放了该空闲显示元素所需要的存储器空间和处理资源,但接收该空闲显示元素的操作系统保持该空闲显示元素,直到进行丢弃的软件应用再次需要该显示元素。即,在给定的显示元素变为空闲达规定持续时间之后,附加的处理被利用该显示元素的软件应用(例如文字处理应用)所终止,且表示该空闲显示元素的数据从针对利用该显示元素的软件应用而分配的存储器空间中被丢弃。对显示元素的所有跟踪和管理如上所述地执行,但代替实际丢弃空闲的显示元素,它们被传递至操作系统以供保持,直到它们被再次需要。当引用计数为O的这样的显示 元素被再次需要时,负责保持它们的应用(例如操作系统)将它们传递回至作出请求的软件应用。虽然操作系统仍然需要用于该空闲显示元素的存储器空间和处理资源,但节省了与丢弃该空闲显示元素的软件应用相关联的存储器空间和处理要求。根据一个实施例,如果操作系统出现存储器压力(即它缺少存储器空间来存储显示元素),则操作系统可丢弃所提供的存储资源。在这样的情况下,如果将显示元素丢弃至操作系统的应用重新需要显示元素,则它将不得不重建它们。根据替代实施例,图形渲染、动画和显示元素160例示了一个或多个软件或硬件启用的进程,用于产生、渲染、保存和显示图形显示元素至计算机显示表面110,如参考图IA所示出和描述,而且组件160还操作用于产生和保持一个或多个非图形的显示资源,这一个或多个非图形的显示资源可在空闲时从存储器被丢弃。这样的非图形资源可用于管理如上所述的图形显示元素(例如表示按钮的显示元素、控件、用户内容对象等等),而且这样的非图形资源可包括或包含各种各样的图形显示元素。根据该实施例,这些非图形资源可被除本文中描述的用于丢弃图形显示元素和相关联的资源的进程之外的一个或多个进程所丢弃。例如,当这样的非图形资源资源空闲达规定持续时间时它们可被丢弃,当它们未被组件160使用达规定持续时间时它们可被丢弃,当它们正在管理的图形资源为空闲或已被丢弃时它们可被丢弃,它们可按照需要被丢弃,或当它们的服务不再被需要时它们可根据任何其他合适的时间或方法而被丢弃。然而,当这样的非图形资源中的一个或多个正在管理和/或包含图形显示元素时,丢弃给定的非图形资源也将丢弃它正在管理或包含的相关联的图形资源(例如图形显示元素)。在这样一情况下,丢弃非图形资源的进程将与丢弃图形资源的进程冲突,如上参考图1A-5所描述。即,图形显示元素可如上参考图1-5所述那样被丢弃,但如果另一进程稍后丢弃引用或包含所丢弃的图形显示元素的资源,则这将导致处理在管理所丢弃的图形显示元素的层主机上进行,从而导致层主机退出空闲状态并请求刚被丢弃的图形显示元素被重新创建、存储和渲染至显示表面。例如,返回参考图1A,在服务面板125、145中示出了帮助函数。根据实施例,帮助函数应用/进程可负责与在服务面板125、145中提供帮助内容相关联的一个或多个非图形资源,而且帮助函数/应用/进程还可负责管理或包含一个或多个图形显示元素,诸如显示在服务面板125、145中的帮助搜索字段和相关联的帮助内容。如果负责帮助函数的非图形资源被丢弃,则与帮助函数显示元素相关联的图形资源也可被丢弃,这将与以上参考图1A-5描述的显示元素进程冲突或不遵循该显示元素进程。即,与帮助函数相关联的显示元素可被丢弃,即使它们的引用计数尚未到达O。
为了防止这样的处理冲突,丢弃管理或包含图形显示元素的非图形资源的进程需要能够控制何时丢弃非图形资源。除了可能在一个进程丢弃第一图形资源且第二进程丢弃引用或包含第一图形资源的一个或多个资源时发生的这些冲突之外,可能期望在除了层主机变为空闲(如上参考图1A-5所述)之外的特定时刻丢弃图形资源。然后,根据该实施例,代替在依赖于非图形资源的一个或多个图形资源具有尚未达到O (零)的引用计数时过早地丢弃该非图形资源,非图形资源的丢弃可被撤销,且依赖于该非图形资源的显示元素可被保持直到该非图形资源的丢弃由另一应用(例如也引用该图形资源的一个或多个其他应用)所请求,以防止如上所述的处理冲突。因此,根据本实施例,当进程包括非图形资源且该非图形资源进而管理或包括图形显示元素时,该图形显示元素将被保持,直到管理或包括该图形显示元素的非图形显示元素根据要求被丢弃。当应用具有一个或多个其他图形资源(例如图形显示元素),这些其他图形资源会由于引用计数为O而被丢弃但依赖于一个或多个非图形资源进程时,这样的根据要求而丢弃的方法也是有用的,其中负责图形资源的应用必须控制在进入和离开空闲状态期间执行(产生和渲染显示元素)的顺序,以确保每个显示元素和相关联的存储器高速缓存以正确的顺序被构建。在以上已参考图1-5描述了本发明的实施例的操作环境和诸个方面的情况下,图6是示出丢弃用于空闲的计算机产生的图形显示元素的存储器存储和处理的方法的流程图,该方法用于节省存储器容量、处理资源和功耗。例程600开始于开始操作605并继续至操作610,在操作610由图形渲染、动画和显示元素160确定是否有任何层主机空闲。根据一个实施例,针对每个显示元素设定定时器。如果过去了规定持续时间(例如30秒),其中没有接收到针对给定显示元素的任何用户或系统动作,则该显示元素被视为空闲。如应当理解,可利用多个持续时间来确定给定显示元素是否已变为空闲。在操作615,确定被监测的给定的单个层主机或被监测的所有层主机是否空闲。如果被监测的所有层主机空闲,则该例程继续至操作620,而且所有这样的显示元素和/或相关联的显示元素图集被丢弃。在操作625,确定任何显示元素和/或相关联的显示元素图集是否应当因为用户动作或系统动作而被重新激活。对于应当被重新激活的任何显示元素和/或相关联的显示元素图集,该例程继续至操作630,且被丢弃的显示元素和/或相关联的显示元素图集被重新产生并存储,且相关联的显示元素在相关联的计算机启用的显示表面上被重新绘制和/或更新。在操作635,用于被重新激活的显示元素的引用计数被递增I。返回参考操作615,如果所有层主机不空闲,则该例程继续至操作640,且用于与给定层主机相关联的任何显示元素的引用计数被递减一个计数。在操作645,确定任何显示元素的引用计数是否已经被递减至O。如果没有任何显示元素的引用计数已被递减至0,则该例程继续返回操作610,在操作610继续确定任何显示元素是否已经变为空闲。
如果在操作645任何显示元素的引用计数已经被递减至0,则该例程继续至操作650,并确定具有引用计数O的显示元素是否被包含在显示元素图集中。如果不是,则该例程继续至操作655,而且具有引用计数O的任何显示元素被丢弃。返回参考操作650,如果具有引用计数O的显示元素被包含在显示元素图集中,则该例程继续至操作665,并确定具有引用计数O的显示元素是否与一个以上显示元素图集相关联。如果具有引用计数O的显示元素不与一个以上显示元素图集相关联,则该例程继续至操作660。在操作660,即使具有引用计数O的显示元素被包含在具有其他显示元素(其引用计数为I或I以上)的显示元素图集中,具有引用计数O的显示元素都被丢弃,以释放与该显示元素图集相关联的存储器空间。替代地,如果具有引用计数O的显示元素被包含在单个显示元素图集中,且具有引用计数I或I以上的其他显示元素被包含在该显示元素图集中,则具有引用计数O的显示元素被保持在该显示元素图集中。返回参考操作665,如果具有引用计数O的显示元素被包含在一个以上显示元素 图集中,则该例程继续至操作670,如上参考图4和5所述,两个或两个以上显示元素图集可被压缩和/或重构,如果这样的压缩和/或重构允许更好地利用一个或多个图集而无需产生新图集,或如果这样的压缩和/或重构允许组合两个或两个以上图集以允许丢弃空的图集。如本文所描述,对于被丢弃的任何显示元素,该例程继续至操作625,用于确定被丢弃的显示元素是否应当被重新激活,而且对于未被丢弃的任何显示元素,该例程继续返回至操作610,在操作610确定这些显示元素是活动的还是不活动的(即空闲的)。如上所述,根据一个实施例,对于由于空闲状态而需要丢弃的任何显示元素,可将空闲显示元素传递至单独的应用(例如除了利用该空闲显示元素的软件应用之外的操作系统,用于维持该空闲显示元素)。例如,如果用于由文字处理应用所使用的“打印”按钮的显示元素已变为空闲,代替丢弃显示元素,可将该显示元素传递至操作系统以供保持。虽然该操作系统将需要存储器空间和处理用于该空闲显示元素,但该示例文字处理应用将释放空间以供其他操作使用。当空闲显示元素再次变为活动,则要求应用(例如文字处理应用)可从该单独应用(例如操作系统)回收该空闲显示元素。如上所述,如果操作系统出现存储器压力(即它缺少存储器容量来存储显示元素),则操作系统可丢弃所提供的存储资源。在这样的情况下,如果将显示元素丢弃至操作系统的应用重新需要显示元素,则它将不得不重建它们。本文描述的实施例和功能可经许多计算系统来操作,包括有线和无线计算系统、移动计算系统(如移动电话、图形输入板或平板型计算机、膝上型计算机等)。此外,本文所述的实施例和功能可在分布式系统上操作,其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图7 — 9及相关联的描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图7-9所示出和讨论的设备和系统是用于示例和说明的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。图7是示出可用来实施本发明的各实施例的计算设备700的示例物理组件的框图。以下描述的计算设备组件可适用于上述的计算设备和服务器和数据系统。在基本配置中,计算设备700可包括至少一个处理单元702和系统存储器704。取决于计算设备的配置和类型,系统存储器704可包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存、或任何组合。系统存储器704可包括操作系统705、一个或多个编程模块706,且可包括web浏览器应用720。例如,操作系统705可 适用于控制计算设备700的操作。在一个实施例中,编程模块706可包括安装在计算设备700上的图形渲染、动画和显示应用或合成器应用160,如以上参考图IA所描述那样。此外,本发明的实施例可结合图形库、其他操作系统、或任何其他应用程序来实践,并且不限于任何特定应用或系统。该基本配置在图7中由虚线708内的那些组件示出。计算设备700可具有附加特征或功能。例如,计算设备700还可包括附加数据存储设备(可移动和/或不可移动),诸如例如,磁盘、光盘、或磁带。这些附加存储在图7中由可移动存储709和不可移动存储710示出。计算设备700还可包含可允许设备700诸如通过分布式计算环境中的网络(例如,内联网或因特网)来与其他计算设备718进行通信的通信连接716。通信连接716是通信介质的一个示例。如上所述,可在系统存储器704中存储包括操作系统705在内的多个程序模块和数据文件。当在处理单元702上执行时,诸如图形渲染、动画和显示应用160之类的编程模块706可执行处理,例如如上所述的方法600的一个或多个阶段。上述过程是一个示例,且处理单元702可执行其他进程。根据本发明的实施例可使用的其他编程模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。—般而言,根据本发明的实施例,程序模块可包括可执行特定任务或可实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的实施例可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的实施例还可在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。此外,本发明的实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实践。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图7中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当经由SOC操作时,本文中关于应用160描述的功能可经由专用逻辑来运行,该专用逻辑与单个集成电路(芯片)上的计算设备/系统700的其他组件集成。本发明的实施例还可使用能够执行诸如例如,AND (与)、0R (或)和NOT (非)的逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的实施例可在通用计算机或任何其他电路或系统中实践。例如,本发明的实施例可被实现为计算机过程(方法)、计算系统、或诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是计算机系统可读并对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储709和不可移动存储710都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可包括,但不限于,RAM,ROM,电可擦除只读存储器(EEPR0M)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD )或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或者可用于存储信息且可由计算设备700访问的任何其他介质。任何这样的计算机存储介质都可以是设备700的一部分。计算设备700还可以具有输入设备712,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备714。上述设备是示例,并且可使用其他设备。
本文所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。图8A和SB示出可用来实施本发明的各实施例的合适的移动计算环境,例如移动电话800、智能电话、输入板个人计算机、膝上型计算机等。参考图8A,示出了用于实现各实施例的示例移动计算设备800。在一基本配置中,移动计算设备800是具有输入元件和输出元件两者的手持式计算机。输入元件可包括允许用户将信息输入到移动计算设备800中的触摸屏显示器805和输入按钮810。移动计算设备800还可结合允许进一步的用户输入的可选的侧面输入元件815。可选的侧面输入元件815可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备800可结合更多或更少的输入元件。例如,在某些实施例中,显示器805可以不是触摸屏。在又一替代实施例中,移动计算设备是便携式电话系统,如具有显示器805和输入按钮810的蜂窝电话。移动计算设备800还可包括可选的小键盘835。可选的小键盘835可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。移动计算设备800结合输出元件,如可显示图形用户界面(⑶I)的显示器805。其他输出元件包括扬声器825和LED光820。另外,移动计算设备800可包含振动模块(未示出),该振动模块使得移动计算设备800振动以将事件通知给用户。在又一实施例中,移动计算设备800可结合耳机插孔(未示出),用于提供另一手段来提供输出信号。尽管此处组合移动计算设备800来描述,但在替代实施例中,本发明还可组合任何数量的计算机系统来被使用,如在台式环境中、膝上型或笔记本计算机系统、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机等。本发明的实施例也可在分布式计算环境中实践,其中任务由分布式计算环境中通过通信网络链接的远程处理设备来执行;程序可位于本机和远程存储器存储设备中。总而言之,具有多个环境传感器、向用户提供通知的多个输出元件和多个通知事件类型的任何计算机系统可结合本发明的实施例。图SB是示出在一个实施例中使用的诸如图8A所示的计算设备等移动计算设备的组件的框图。即,移动计算设备800可结合系统802以实现某些实施例。例如,系统802可被用于实现可运行与台式或笔记本计算机的应用类似的一个或多个应用的“智能电话”,这些应用例如浏览器、日程安排、即时消息、以及媒体播放器应用。在某些实施例中,系统802被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。一个或多个应用程序866可被加载到存储器862中并在操作系统864上或与操作系统1564相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、PM (个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统802还包括存储器862内的非易失性存储868。非易失性存储868可被用于存储在系统802断电时不会丢失的持久信息。应用866可使用信息并将信息存储在非易失性存储868中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留在系统802 上并被编程为与驻留在主机计算机上的对应同步应用进行交互,以保持存储在非易失性存储868中的信息与存储在主机计算机上的对应信息相同步。如应当理解地,其他应用可被加载到存储器862中并在设备800上运行,包括以上参考图IA描述的图形渲染、动画和显示应用或合成器应用160。系统802具有可被实现为一个或多个电池的电源870。电源870还可包括外部功率源,如补充电池或对电池重新充电的AC适配器或加电对接托架。系统802还可包括执行发射和接收无线电频率通信的功能的无线电872。无线电872通过通信运营商或服务供应商方便了系统802与“外部世界”之间的无线连接。来往无线电872的传输是在操作系统864的控制下进行的。换言之,无线电872接收的通信可通过操作系统864传播到应用程序866,反之亦然。无线电872允许系统802例如通过网络与其他计算设备通信。无线电872是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传送介质。术语已调制数据信号摂是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语“计算机可读介质”包括存储介质和通信介质两者。系统802的该实施例是以两种类型的通知输出设备来示出的可被用于提供视觉通知的LED 820,以及可被用于扬声器825提供音频通知的音频接口 874。这些设备可直接耦合到电源870,使得当被激活时,即使为了节省电池功率而可能关闭处理器860和其它组件,它们也保留一段由通知机制指示的保持通电时间。LED 820可被编程为无限地保持通电,直到用户采取行动指示该设备的通电状态。音频接口 874用于向用户提供听觉信号并从用户接受听觉信号。例如,除被耦合到扬声器825以外,音频接口 874还可被耦合到话筒以接收听觉输入,诸如便于电话对话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。系统802可进一步包括允许板载相机830的操作来记录静止图像、视频流等的视频接口 876。移动计算设备实现系统802可具有附加特征或功能。例如,设备还可包括附加数据存储设备(可移动的/或不可移动的),诸如磁盘、光盘或磁带。此类附加存储在图8B中由存储868示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。设备800生成或捕捉的且经系统802存储的数据/信息可如上所述本地存储在设备800上,或数据可被存储在可由设备通过无线电872或通过设备800和与设备800相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经设备800、经无线电872或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。 图9示出一种系统体系结构,用于如上所述的在工作会话之前、期间或之后,经由分布式计算环境向各个客户机设备提供与图形渲染、动画和显示应用160或合成器应用相关联的通信和内容。如之前所描述,图形渲染、动画和显示应用或合成器应用160允许管理计算机产生的显示元素,包括从存储器丢弃空闲的显示元素和处理资源节省。经由应用160速配管理的显示元素可被存储在不同的通信信道或其他存储类型中。例如,显示元素以及产生显示元素的信息可利用目录服务922、门户网站924、邮箱服务926、即时消息收发存储928和社交网站930来存储。系统/应用160、920可使用这些类型的系统中的任一种或类似物来实现显示元素在存储916中的管理和存储。服务器925可将用于被管理的显示元素和内容的通信提供给客户机。作为一个示例,服务器925可以是web服务器,该web服务器经由web提供协作显示元素管理通信和内容。服务器920可经由web通过网络915向客户机提供在线显示元素管理和内容。可获得显示元素管理通信和内容的客户机的示例包括计算设备900,该计算设备900可包括任何通用个人计算机、平板计算设备935和/或移动计算设备800(可包括智能电话)。任何这些设备可从存储916获得显示元素管理通信和内容。以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本发明的实施例。框中所注明的各功能/动作可按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可基本同时执行,或者这些框有时可按相反的次序执行。对本领域的技术人员而言,显然可对本发明作出各个修改或变化,而不背离本发明的范围或精神。在考虑说明书和实现此处公开的本发明之后,本发明的其他实施例对本领域的技术人员而言将是显而易见的。
权利要求
1.一种计算机实现的节省与所显示的内容相关联的计算机处理资源的方法,包括 产生和渲染显示元素(160、315、316、317、325)至与第一软件应用相关联的计算机产生的显示框(185、190、195); 通过跟踪涉及包含所述显示元素的显示框的活动,跟踪与被渲染至所述显示框的显示元素相关联的活动(610);以及 如果所述显示框空闲达规定持续时间,则保持所述显示元素在所述显示框上的显示、终止所述显示框的任何附加的渲染处理、并从存储器空间(170)丢弃表示所述显示元素的数据(620)。
2.如权利要求I所述的方法,其特征在于,还包括 在所述显示元素变为空闲达所述规定持续时间之后,接收与所述显示元素相关联的活动的指示(625); 产生经更新的显示元素(630);以及 将经更新的显示元素渲染至所述显示框(630 )。
3.如权利要求I所述的方法,其特征在于,终止所述显示框的任何附加的渲染处理包括终止所述显示元素所关联的软件应用对所述显示元素的任何附加的渲染处理,且从存储器空间丢弃表示所述显示元素的数据包括从分配给所述显示元素所关联的所述第一软件应用的存储器空间丢弃表示所述显示元素的数据。
4.如权利要求3所述的方法,其特征在于,在终止对所述显示元素的任何附加渲染处理并从存储器空间丢弃表示所述显示元素的数据之前,还包括将所述显示元素传递给第二软件应用,用于在所述规定持续时间已过去之后的一时间段期间由所述第二软件应用保持所述显示元素。
5.如权利要求I所述的方法,其特征在于,还包括使层主机组件(310、320)与所产生和渲染的显示元素相关联,以跟踪与所述显示元素相关联的用户或系统活动。
6.如权利要求5所述的方法,其特征在于,使层主机组件与所产生和渲染的显示元素相关联以跟踪与所述显示元素相关联的用户或系统活动包括使层主机组件与由所述第一软件应用所提供的显示框相关联,其中所述显示元素被显示在所述显示框中,且所述层主机跟踪涉及所述相关联的显示框的用户或系统活动。
7.如权利要求6所述的方法,其特征在于,还包括利用显示元素图集(335、355)来存储所述显示元素以及由一个或多个软件应用所使用的一个或多个其他显示元素,并将所存储的来自所述层主机的显示元素映射至所述显示元素图集(630 )。
8.如权利要求I所述的方法,其特征在于,还包括 通过非图形资源组件来管理所述显示元素,其中丢弃所述非图形资源组件导致从存储器空间丢弃表示所述显示元素的数据,并导致对于所述显示元素的任何更新处理的终止; 其中丢弃所述非图形资源组件被撤销,直到所述非图形资源接收到丢弃所述非图形资源的请求为止。
9.一种包含计算机可执行指令(706)的计算机可读介质(704、709、710),所述可执行指令在被计算机(700)执行时执行一种节省与所显示内容相关联的计算机处理资源的方法,所述方法包括 产生和渲染显示元素(160、315、316、317、325)至与第一软件应用相关联的计算机产生的显示框(185、190、195); 对与所述显示框相关联的用户或系统活动计时以确定所述显示框上的最后用户或系统活动之后的其中未接收到针对所述显示框的用户或系统活动的持续时间,并将所述显示框上的最后用户或系统活动之后的其中未接收到针对所述显示框的用户或系统活动的持续时间与规定持续时间作比较(610、615 ); 如果所述显示框空闲达所述规定持续时间,则保持所述显示元素在所述显示框上的显示、终止所述显示框的任何附加的渲染处理、并从存储器空间(170)丢弃表示所述显示元素的数据(620); 在所述显示框变为空闲达所述规定持续时间之后,接收与所述显示框相关联的活动的指示(620); 产生经更新的显示元素(630);以及 将经更新的显示元素渲染至所述显示框(630 )。
10.一种用于节省与所显示内容相关联的计算机处理资源的系统,包括 显示合成器应用(160 ),操作用于 产生和渲染显示元素(160、315、316、317、325)至与第一软件应用相关联的计算机产生的显示框(185、190、195); 层主机(310、320),操作用于 管理由所述第一软件应用提供的显示框,其中所述显示元素被显示在所述显示框中,且其中所述层主机操作用于跟踪与所述显示框相关联的用户或系统活动(610); 将所述显示元素映射至显示元素图集(335、355),以将所述显示元素以及由一个或多个软件应用所使用的一个或多个其他显示元素存储在所述显示元素图集处; 所述显示元素图集操作用于 丢弃表示所述显示元素图集中所包含的具有引用计数O的任何显示元素的数据(655);以及 将所述显示元素图集中所包含的任何余下的显示元素移至另一显示元素图集,以使任何余下的显示元素被移走的所述显示元素图集可被丢弃(670 )。
全文摘要
本发明提供了从存储器和处理中丢弃空闲图形显示元素的方法和系统。用于空闲的计算机产生的图形显示元素的存储器存储和处理被丢弃,以节省存储器容量、处理资源和功耗。如果计算机产生的显示框变为空闲达规定持续时间(例如30秒),在该规定持续时间中没有对空闲的显示框执行用户动作或处理器动作,则所存储的表示空闲显示框的数据从存储器中被丢弃,而且用于空闲的显示元素的处理被停止,从而节省存储器空间、处理资源和功耗(例如电池功率)。如果被丢弃的显示框重新变为活动,则其被丢弃的资源可被重建。替代地,空闲的显示元素可被传递至单独的应用,且在该空闲的显示元素重新变为活动时由作出请求的应用所收回。
文档编号G06F9/44GK102945166SQ201210455168
公开日2013年2月27日 申请日期2012年11月13日 优先权日2011年11月14日
发明者T·R·亚当斯, M·I·博里森科, W·梁, B·C·阿林 申请人:微软公司