合并图形操作的制作方法

文档序号:9568684阅读:553来源:国知局
合并图形操作的制作方法
【专利说明】
【背景技术】
[0001]现今的计算设备具有日益增加数量的处理能力。例如,典型的设备具有中央处理单元(CPU),其具有可以各自执行数据处理的多个处理核。而且,单独的处理器上可用的核数目继续增加。随着多核处理器的流行,在CPU上并行施行多个处理任务的能力出现。例如,各自处置特定处理任务的多个处理线程可以在处理器的相应核上同时执行。因此,可以完成多个任务的速度增加超过先前的单核处理器。
[0002]虽然可用的处理能力已经增加,但是许多计算过程仍然利用用于调度和/或管理处理任务的串行处理方案。例如,一些应用没有配置成使特定处理任务并行化,并且因此不运用多核处理器的并行处理能力。通过不使处理任务并行化,这些过程不接收起因于并行处理的性能益处。

【发明内容】

[0003]提供本概述来以简化形式引入在以下详细描述中进一步描述的概念的选择。本概述既不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用作辅助确定所要求保护的主题的范围。
[0004]描述了用于合并图形操作的技术。在至少一些实施例中,可以生成多个图形操作以应用到诸如图形用户界面(GUI)之类的图形元素。图形操作可以合并为可以处理和渲染的单个可渲染图形操作。
【附图说明】
[0005]参考附图描述详细描述。在附图中,参考数字最左边的(多个)数位标识参考数字首先出现的附图。相同参考数字在描述和附图中的不同实例中的使用可以指示类似或同样的项目。
[0006]图1是可操作为采用本文所讨论的技术的示例实现中的环境的图示。
[0007]图2图示了根据一个或多个实施例的示例实现场景。
[0008]图3图示了根据一个或多个实施例的示例实现场景。
[0009]图4图示了根据一个或多个实施例的示例实现场景。
[0010]图5图示了根据一个或多个实施例的示例实现场景。
[0011]图6图示了根据一个或多个实施例的示例实现场景。
[0012]图7是根据一个或多个实施例的描述方法中的步骤的流程图。
[0013]图8是根据一个或多个实施例的描述方法中的步骤的流程图。
[0014]图9图示了根据一个或多个实施例的示例实现场景。
[0015]图10图示了根据一个或多个实施例的示例实现场景。
[0016]图11图示了根据一个或多个实施例的示例实现场景。
[0017]图12图示了根据一个或多个实施例的示例实现场景。
[0018]图13是根据一个或多个实施例的描述方法中的步骤的流程图。
[0019]图14是根据一个或多个实施例的描述方法中的步骤的流程图。
[0020]图15是根据一个或多个实施例的描述方法中的步骤的流程图。
[0021]图16图示了如参考图1所描述的示例系统和计算设备,其被配置为实现本文所描述的技术的实施例。
【具体实施方式】
[0022]概沭
描述了用于合并图形操作的技术。在至少一些实施例中,可以生成多个图形操作以应用到诸如图形用户界面(GUI)之类的图形元素。图形操作可以合并为可以处理和渲染的单个可渲染图形操作。
[0023]例如,考虑其中web浏览器显示网页的场景。本文所讨论的技术可以利用第一线程以施行针对网页的各种处理,诸如网页JavaScript执行、格式化任务、布局任务、输入处理任务等等。可以采用第二独立运行的线程以施行渲染任务,诸如将网页的当前视图显示给屏幕。
[0024]基于影响网页的视觉属性的事件,第一线程可以施行图形操作,其改变网页的视觉状态信息。这样的事件的示例包括网页的用户输入、图形元素的动画、由其他过程所生成的事件等等。例如,视觉状态信息可以包括网页的视觉状态的改变,诸如网页的图形元素的运动、图形元素的大小重调和/或重新着色、网页的平移和/或滚动等等。
[0025]而且,对于示例场景而言,第二线程可以不立即可用于处理图形操作和基于操作渲染到网页。例如,基于由第一线程所生成的先前的图形操作,第二线程可以忙于渲染。
[0026]因此,可以对图形操作进行队列化,直到第二线程变得可用。例如,图形操作可以队列化为“同步点”,其各自对应于网页的视觉状态中的分立改变。当第二线程变得可用于处理图形操作时,图形操作可以合并为可以应用到网页的单个图形操作。例如,任一线程可以将图形操作组合为组合的图形操作,其反映来自单独的操作中的每一个的状态改变。因此,第二线程不需要分离地处理每个图形操作,但是可以处理和渲染组合的图形操作以到达如果单独地处理每个图形操作则将发生的网页的相同视觉状态。
[0027]在以下讨论中,首先描述可操作为采用本文所描述的技术的示例环境。然后,题为“用于传播状态信息的同步点”的章节描述根据一个或多个实施例的利用同步点的一些示例实现场景和流程。在此之后,题为“合并图形操作”的章节描述根据一个或多个实施例的用于合并图形操作的一些示例实现场景和流程。最后,题为“示例系统和设备”的章节描述根据一个或多个实施例的可操作为采用本文所讨论的技术的示例系统和设备。
[0028]已经呈现了根据一个或多个实施例的示例实现的概述,现在考虑其中可以采用示例实现的示例环境。
[0029]示例环境
图1是可操作为采用本文所描述的用于合并图形操作的技术的示例实现中的环境100的图示。所图示的环境100包括可以以各种方式配置的计算设备102。例如,计算设备102可以配置为传统计算机(例如,台式个人计算机、膝上型计算机等等)、移动台、娱乐工具、通信耦合到电视的机顶盒、无绳电话、上网本、游戏控制台、手持式设备(例如,平板电脑)等等,如关于图16所进一步描述的。
[0030]计算设备102包括处理器104,其代表针对计算设备102施行各种类型数据处理的功能性。例如,处理器104可以表示计算设备102的中央处理单元(CPU)。处理器104包括多个处理器核,其能够单独地施行处理任务。因此,处理器104被配置为施行并行处理,诸如同时执行多个处理线程。以下参考图16讨论处理器104的实现的另外示例。
[0031]计算设备102还包括应用106,其代表经由计算设备102施行各种任务的功能性。应用106的示例包括文字处理器应用、电子邮件应用、内容编辑应用、游戏应用等等。
[0032]应用106包括web平台应用108,其代表结合web内容操作的应用。web平台应用108例如可以包括和利用许多不同类型的技术,诸如以示例而非限制的方式,统一资源定位符(URL)、超文本传输协议(HTTP)、表述性状态转移(REST)、超文本标记语言(HTML)、级联样式表(CSS)、JavaScript、文档对象模型(DOM)以及其他技术。web平台应用108还可以利用各种数据格式工作,诸如可扩展应用标记语言(XAML)、可扩展标记语言(XML)、JavaScript对象标注(JS0N)等等。web平台应用108的示例包括web浏览器、web应用(例如,“web app”)等等。
[0033]还图示了过程管理器模块110,其代表管理计算设备102的处理任务的各方面的功能性。还包括图形模块112,其代表施行计算设备102的各种图形相关任务的功能性。例如,图形模块112可以施行图形处理、渲染任务等等。例如,图形模块112可以代表诸如web平台应用108之类的应用106的渲染引擎。在至少一些实施例中,可以运用过程管理器模块110和/或图形模块112来实现本文所讨论的用于合并图形操作的技术。
[0034]虽然过程管理器模块110和图形模块112被图示为与应用106分离,但是这不旨在是限制性的。例如,过程管理器模块110和/或图形模块112可以实现为应用106的部分和/或扩展,使得其相应的功能性可以由应用106运用。备选地或额外地,过程管理器模块110和/或图形模块112可以实现为计算设备102的操作系统的部分。以下讨论过程管理器模块110和图形模块112的另外操作方面。
[0035]计算设备102包括显示设备114,其被配置为输出计算设备102的图形。在显示设备114上所显示的是图形用户界面(⑶1)116,其代表与应用106之一相关联的⑶I。例如,⑶I 116可以包括经由web平台应用108所呈现的web内容。例如,⑶I 116可以表示诸如网页之类的web文档。根据一个或多个实施例,可以采用本文所讨论的用于合并图形操作的技术来施行涉及⑶I 116的各种处理任务,诸如布局处理、输入处理、图形渲染等等。
[0036]已经描述了本文所描述的技术可以在其中操作的示例环境,以下章节现在讨论利用用于传播状态信息的同步点的示例技术,以及然后根据一个或多个实施例的用于合并图形操作的示例技术。
[0037]用于传播状态信息的同步点
以下章节描述根据一个或多个实施例的还利用用于传播状态信息的同步点的示例实现场景和进程。
[0038]示例实现场景
以下讨论描述利用本文所描述的用于传播状态信息的同步点的技术的一些示例实现场景。示例实现场景可以实现在图1的环境100、图16的系统1600和/或任何其他适合的环境中。例如,场景可以表示过程管理器模块110和/或图形模块112的功能性。例如,可以通过过程管理器模块110和/或图形模块112生成和/或维持不同场景中所讨论的处理线程。
[0039]图2图示了根据一个或多个实施例的示例实现场景200。场景200包括⑶I 202,其代表可以显示的各种图形元素。例如,⑶I 202可以表示以上参考环境100所讨论的⑶I116的实现。⑶I 202包括视觉元素202a。
[0040]场景200还包括主线程204和渲染线程206,其代表用于施行各种处理任务作为生成、管理和渲染⑶I 202的部分的线程。
[0041]一般地,主线程204表示施行针对⑶I 202的各种类型管理任务的处理线程。管理任务的示例包括生成⑶I 202,诸如针对应用106之一。管理任务的其他示例包括执行针对⑶I 202的脚本(例如,JScript)、⑶I格式化任务、⑶I布局任务、D0M操纵等等。渲染线程206表示处理线程,其施行诸如将⑶I 202的像素绘制到显示器之类的渲染操作。例如,由主线程204所生成的⑶I 202的视觉方面的改变可以被渲染以用于由渲染线程206显示。根据各种实施例,主线程204可以将各种图形信息传递给渲染线程206以用于渲染和显示。
[0042]转到场景200的中部,⑶I 202的视觉方面的改变令主线程204生成图形数据208。例如,图形数据208可以描述⑶I 202的视觉方面的改变。这样的改变的示例包括颜色改变、视觉元素大小重调、视觉元素的动画、视觉元素的重新定位等等。例如,改变可以以各种方式发生,包括响应于经由各种类型用户输入与GUI 202的用户交互、基于时间的通知或来自执行网站代码的改变。
[0043]响应于生成图形数据208,生成可绘制同步点(PSP)210。一般地,PSP 210表示可以由渲染线程206用于渲染⑶I 202的部分的信息集。例如,PSP 210可以包括和/或基于图形数据208。备选地或额外地,PSP 210可以包括足以使得渲染线程206能够检索图形数据208的信息,诸如图形数据208所驻留的存储器地址。
[0044]在至少一些实施例中,PSP 210包括⑶I 202的各种类型状态信息。例如,PSP 210可以包括状态改变信息,诸如自生成先前的PSP和/或由渲染线程206施行先前的渲染操作起已经改变的⑶I 202的视觉属性的指示。因此,根据一个或多个实施例,PSP 210可以不包括用于GUI 202的完整渲染的数据,但是可以简单地指示足以将GUI 202更新到新视觉状态的状态改变信息。然而,这不旨在是限制性的,并且在至少一些实施例中,PSP可以表示⑶I的完整渲染。
[0045]在发射PSP 210之后,主线程204可以继续处理用于⑶I 202的管理任务,例如在不等待渲染线程206以检索和/或处理PSP 210的情况下。
[0046]转到场景200的下部,渲染线程206处理PSP 210以生成状态改变212。一般地,状态改变212是基于来自PSP 210的状态信息
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1