基于原语的合成的制作方法

文档序号:9439015阅读:279来源:国知局
基于原语的合成的制作方法
【专利说明】
【背景技术】
[0001]在计算设备上可以再现多种多样的元素,诸如,图标、窗口、动画等等。而且,典型地,在计算设备上执行的应用的数目不断增加以及每个应用典型提供的元素数目也不断增加,诸如,以便提供附加功能性和更丰富的用户体验。
[0002]然而,元素的这种增加可能会消耗计算设备的大量资源,诸如处理器、存储器、图形硬件和其他资源。因此,这种消耗也会对应用其本身的执行、计算设备对用户的响应性等等造成影响。进一步地,常规再现技术可以导致低效的资源分配,由此进一步恶化这些问题。

【发明内容】

[0003]描述了基于原语的合成技术。在一个或多个实现方式中,全局合成系统可以被配置为对多个应用执行再现。例如,所述全局合成系统可以被配置为暴露对所述应用可访问的一个或多个应用编程接口(API)。所述API然后可以用于促使单个合成引擎为所述多个应用执行再现。进一步地,所述合成引擎可以支持使用原语,所述原语包括一个或多个再现指令,并且由此,关联于将被再现的视觉件(visual)的元素可以是除位图之外的东西。
[0004]本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面的【具体实施方式】中进行描述。本概要既不打算标识所要求保护的主题的关键特征或必要特征,其也不打算用来帮助确定所要求保护的主题的范围。
【附图说明】
[0005]参考附图对【具体实施方式】进行描述。在附图中,参考数字的最左的(一个或者多个)数字标识该参考数字首次出现所在的图。在说明书和附图中在不同实例中使用相同参考数字可以指示相似或相同的项。
[0006]图1是在可操作实现全局合成系统的示例实现方式中的环境的图示。
[0007]图2示出了一个示例系统,在其中,全局合成系统被更详细地图示为包括图1的合成引擎以及用户模式库和对象数据库模块。
[0008]图3描绘了图表的示例,该图表被配置为可被合成引擎消费以便使用原语对元素进行再现的全局合成树。
[0009]图4描绘了图表的另一示例,该图表被配置为可由合成引擎消费以便使用原语对元素进行再现的全局合成树。
[0010]图5描绘了原语组的一个示例实现方式。
[0011]图6描绘了使用原语组执行的再现的一个示例实现方式。
[0012]图7描绘了通过使用合成引擎用于再现具有被混合到单层的传输控件的视频播放器的技术比较示例。
[0013]图8描绘了使用合成引擎的内容同步技术的一个示例。
[0014]图9描绘了一个示例实现方式中的过程,在其中,具有原语的图表被生成以便促使由计算设备对元素进行再现。
[0015]图10图示了包括如参考图1所描述的计算设备的示例系统。
[0016]图11图示了可以被实现为如参考图1-9所描述的、用于实现本文中描述的技术的实施例的任何类型的计算设备的示例设备的各种部件。
【具体实施方式】
[0017]概述
由计算设备用来再现元素的常规技术采用了分布式系统,在其中每个应用被指派对应的合成引擎。因为这一点,不同的合成引擎不知道其他合成引擎正在执行什么。这可能会导致冗余、元素的不必要再现等等,这可能会阻碍实现常规技术的计算设备的效率,并且因此可能会使得这些常规技术不适于由“薄”计算设备使用。
[0018]
在本文中描述了全局合成技术和基于原语的合成。这些技术包括使用单个合成引擎,该单个合成引擎可由多个不同进程经由一个或多个API进行访问。由此,可以使所述合成引擎“知道”什么正由各种应用贡献,以及那些元素如何相关。然后可利用这个知识来改进应用的元素再现的效率。在一个或多个实现方式中,合成引擎与属于那些应用的线程异步运行,这允许应用促使内容在其窗口内动画化,以及使用不同的再现技术来使得这样的内容光栅化。附加地,来自系统中的每个进程的合成数据可以在单个图(例如,全局合成树)中被管理,这允许合成引擎执行全局优化(诸如遮挡检测)并且以高效和安全的方式混合和匹配来自多个进程的内容。
[0019]还可以利用此来支持基于原语的合成。可以将原语看作使用一个或多个再现指令规定的形状和内容,其中,所述再现指令被配置为指引合成引擎如何对元素进行再现。由此,原语可以代替在存储器中分配大的位图而被使用。例如,与其说在存储器中分配位图以用于具有单一颜色的背景,可以使用纯色原语,所述纯色原语包括针对如何对背景进行再现的再现指令,例如形状和颜色。这样,可以改进存储器效率和再现。附加地,可以结合上面描述的关于使用单个合成引擎的技术来使用原语,以便进一步改进效率,诸如遮挡检测等。对这些和其他技术的进一步讨论可以相关于下面的附图找到。
[0020]在下面的讨论中,首先描述了可以采用本文中描述的技术的一个示例合成环境。随后是基于原语的合成部分,其描述了进程之间的合成资源共享,这可以在示例合成系统以及其他系统中来实现。然后描述了可以在示例环境以及其他环境中执行的示例过程。因此,示例过程的性能、合成资源的共享以及示例环境不限于另外所描述的实现方式中的每个实现方式,那些实现方式是可以利用本文中描述的技术的多个不同实现方式的示例。
[0021]示例合成环境
图1是在可操作采用本文描述的技术的示例实现方式中的环境100的图示。所图示的环境100包括计算设备102,其经由网络106通信地耦合到web服务104。计算设备102以及可实现web服务104的计算设备可以以各种各样的方式被配置。
[0022]例如,计算设备可被配置成能够通过网络106进行通信的计算机,诸如台式计算机、移动站、娱乐电器、通信耦合到显示设备的机顶盒、无线电话、游戏控制台等等。因此,计算设备102的范围可以从具有大量存储器和处理器资源的完全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持式游戏控制台)。附加地,虽然示出了单个计算设备102,但计算设备102可以表示多个不同设备,诸如由企业(business)利用以诸如通过web服务104执行操作的多个服务器、遥控器和机顶盒组合、被配置成捕获手势的图像捕获设备和游戏控制台等等。
[0023]虽然网络106被图示为互联网,但网络可以假设为多种多样的配置。例如,网络106可包括广域网(WAN)、局域网(LAN)、无线网、公共电话网、内部网等等。进一步地,虽然示出了单个网络106,但网络106可被配置成包括多个网络。
[0024]计算设备102进一步被图示为包括操作系统108。操作系统108被配置成把计算设备102的基础功能性抽象为在计算设备102上可执行的应用110。例如,操作系统108可以将计算设备102的处理、存储器、网络、和/或显示功能性进行抽象,以使得应用110可在不知道这个基础功能性是“如何”被实现的情况下被写入。例如,应用110可以把要被显示设备112再现和显示的数据提供给操作系统108,而不用理解这个再现将被如何执行。
[0025]操作系统108还可以表示各种各样的其他功能性,诸如管理文件系统与可由计算设备102的用户导航的用户界面。其示例被图示为在计算设备102的显示设备112上显示的桌面。
[0026]操作系统108还被图示为包括全局合成系统114。全局合成系统114可以表示包括直接合成部件的系统,所述直接合成部件被配置成允许应用110使用单个合成引擎116(此后也被简单地称为全局合成引擎116)来在显示设备112上绘制项目。虽然被图示为操作系统108的一部分,但全局合成系统114可以以各种各样的其他方式实现,诸如作为浏览器的一部分、作为独立模块等等。而且,全局合成系统114可以通过网络116分布,其示例被图示为在web服务104上包括全局合成系统118。
[0027]用户体验(例如,对于应用110生成的用户界面)可包括可以彼此交互大量元素,诸如窗口、动画(例如,文本滚动)等等。例如,第一窗口可以对应于电子邮件应用,而第二窗口122可以对应于如在显示设备112上图示的浏览器。因此,众多不同元素可以在任何一个特定时间点被再现。进一步地,这些不同元素可以具有不同的刷新率,诸如连同视频和静态文本的“自动收报机(ticker)”显示的动画。
[0028]全局合成系统114可被利用来将这个功能性抽象化,以使得不同的应用110可以卸载这种再现,并且因此不知道这种再现是如何执行的。例如,应用110可以提供描述要被再现的元素、元素放置、和元素如何彼此互相关连的数据。
[0029]附加地,全局合成系统114可以支持“独立”动画。应用110例如可以传送动画的声明式(declarat1n)描述,其描述动画要如何被再现。例如,所述描述可以描述什么内容正在被动画化、重绘(redraw)发生的速率、动画开始的位置、动画要移动的曲线、动画的结束位置、动画要被再现的时间量等等。
[0030]这种再现然后可以由全局合成系统114执行并且在不需要进一步指令的情况下继续进行。这样,动画的再现是与调用方(例如,应用110)无关的,以使得丢失与应用110的通信、应用110的不一致的处理等等不会对动画的再现有影响。由此,这可被用来通过减少由应用110进行的通信数量来再现动画而改进动画的“平滑性”和“流畅性”以及计算设备102的资源(以及甚至网络106在下面进一步描述)。
[0031]常规上,由计算设备102执行的应用110中的每个应用与对应的合成引擎交互,以执行处理和再现对于相应应用的显示。因此,常规的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1