虚拟表面后备列表和沟槽的制作方法与工艺

文档序号:12005805阅读:178来源:国知局
虚拟表面后备列表和沟槽的制作方法与工艺
虚拟表面后备列表和沟槽

背景技术:
各种各样的计算设备配置继续增加。从传统的台式个人计算机到移动电话、游戏控制台、机顶盒、平板计算机等等,从这些配置中的每一种可用的功能都可能变化很大。因此,被开发用于一种配置的传统显示技术可能不会也适合于另一种配置。例如,先前用于具有显著存储器资源的设备的显示技术可能不适合于具有较少资源的设备。

技术实现要素:
描述了虚拟表面技术。这些技术包括支持初始化和批处理更新、使用更新和后备列表、使用沟槽(gutter)、混合和BLT操作、诸如下推之类的表面优化技术以及枚举和丛聚(clumping)、网格使用和遮挡管理技术。本发明内容部分被提供以便以简化的形式引入构思的选择,这些构思在下面的具体实施方式中进一步加以描述。本发明内容部分并不预期标识要求保护的主题的关键特征或必要特征,也不预期用来帮助确定要求保护的主题的范围。附图说明具体实施方式参照附图而加以描述。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在说明书的不同示例以及附图中使用相同的附图标记可以表示相似或相同的项目。图1为可操作来执行本文描述的虚拟表面技术的实例实现方式中的环境的图示。图2绘出了其中对虚拟表面调整尺寸(resize)的实例实现方式。图3绘出了其中示出虚拟表面的逻辑表面与应用程序之间的交互的实例实现方式。图4绘出了更详细地示出图1的构成系统的实例实现方式。图5图示了构成系统启动虚拟表面的操作的实例实现方式。图6绘出了示出由构成系统准备表面以用于更新的实例实现方式。图7绘出了构成系统使用图6的后备列表的操作的实例实现方式。图8绘出了示出构成系统采用沟槽的操作的实例实现方式。图9绘出了示出由构成系统管理有效区块的实例实现方式。图10绘出了示出构成系统使用下推技术组合表面的操作的实例实现方式。图11绘出了示出构成系统将有效区块组合成新表面的操作的实例实现方式。图12绘出了示出构成系统采用网格的操作的实例实现方式。图13绘出了示出构成系统关于遮挡的操作的实例实现方式。图14为绘出为要在其中再现数据的表面分配尺寸的实例实现方式中的过程的流程图。图15为绘出其中由构成系统跟踪有效区块的实例实现方式中的过程的流程图。图16为绘出其中采用后备列表以管理表面的实例实现方式中的过程的流程图。图17为绘出其中基于遮挡对表面调整尺寸的实例实现方式中的过程的流程图。图18为绘出其中描述了涉及将有效区块从一个表面下推至另一个表面的压紧技术的实例实现方式中的过程的流程图。图19为绘出其中描述了涉及将有效区块组合成新表面的压紧技术的实例实现方式中的过程的流程图。图20为绘出其中构成系统采用网格以便调用驱动程序使用该网络再现表面的实例实现方式中的过程的流程图。图21图示出包括实例设备的各个不同的部件的实例系统,该实例设备可以实现为如参照图1-20所描述的任何类型的计算设备以便实现本文描述的技术的实施例。具体实施方式综述虚拟表面可以用来分配和管理表面以便再现画面(visual)。虚拟表面例如可以用来克服硬件的局限,例如管理比可以由硬件分配用于再现画面的存储量更大的网页的再现,例如管理大的网页、沉浸式应用程序等等。虚拟表面构成和更新技术在本文中加以描述。在一个或多个实现方式中,描述了管理表面以用于再现的技术。这包括如进一步关于图4和图5描述的支持初始化和批处理更新的技术、如关于图6和图7描述的使用更新和后备列表、如关于图8描述的使用沟槽、如关于图9描述的混合和BLT操作、如关于图10描述的诸如下推之类的表面优化技术以及如关于图11描述的枚举和丛聚、如关于图12描述的网格使用和如关于图13描述的遮挡管理技术。在下面的讨论中,首先描述可操作来执行本文描述的虚拟表面技术的实例环境。然后,描述可在实例环境以及其他环境中操作的实例过程。同样地,实例环境并不限于实例过程的执行。实例环境图1总体上在100处图示出依照一个或多个实施例的操作环境。环境100包括计算设备102,该计算设备具有可以包括一个或多个处理器的处理系统104、图示为存储器106的计算机可读存储介质的实例、操作系统108以及一个或多个应用程序110。计算设备102可以被实施为任何适当的计算设备,诸如举例而言且非限制性地,台式计算机、便携式计算机、诸如个人数字助理(PDA)之类的手持式计算机、移动电话、平板计算机等等。计算设备102的不同实例在下面的图21中示出并且进行了描述。计算设备102也包括被图示为在处理系统104上执行并且可存储在存储器106中的操作系统108。计算设备102进一步包括被图示为存储在存储器106中并且也可在处理系统104上执行的应用程序110。操作系统108代表计算设备102的可以抽象化底层的硬件和软件资源以供应用程序110使用的功能。例如,操作系统108可以抽象化如何在显示设备112上显示数据而不必应用程序110“知道”如何实现该显示的功能。也可以设想各种各样的其他实例,例如抽象化计算设备102的处理系统104和存储器106资源、网络资源等等。计算设备102也被图示为包括构成系统114。尽管被图示为操作系统108的一部分,但是构成系统114可以以各种各样的方式实现,例如实现为独立模块、单独的应用程序、计算设备102本身的硬件的部分(例如SOC或ASIC)等等。构成系统114可以采用各种各样的技术以再现画面,例如经由一个或多个应用编程接口(API)116暴露功能以供应用程序110用来再现画面。例如,一种这样的技术可以基于称为交换链的对象,其可以利用表示位图的缓冲器阵列。这些缓冲器之一例如可以用来在任何一个时间在显示设备112上呈现数据,并且因此可以称为“屏上缓冲器”或者“前缓冲器”。可以使得其他的缓冲器对于用于离屏光栅化的应用程序110可用,并且因此可以称为“离屏缓冲器”或者“后缓冲器”。应用程序110可以以各种各样的方式对显示设备112上显示的内容做出改变。在第一种这样的技术中,应用程序110可以例如通过使用指针使得离屏缓冲器之一成为屏上缓冲器而重绘后缓冲器之一并且“翻转”内容,反之亦然。在第二种这样的技术中,也可以利用不同尺寸的缓冲器。例如,构成系统114可以利用第一缓冲器作为屏上缓冲器。构成系统114也可以利用比第一缓冲器更小的第二缓冲器作为离屏缓冲器。因此,当要对内容做出更新时,可以将该更新光栅化到第二缓冲器。然后,可以例如使用BLT将更新拷贝到屏上缓冲器。通过这种方式,可以节约计算设备102的资源。构成系统114也可以被配置成支持虚拟表面技术。这些技术可以用来帮助应用程序110的开发者减少计算设备102的用来再现画面的资源。这可以包括使用虚拟表面118,从而使得应用程序110能够将可视数据的表面分解成拼块(tile),并且然后提前再现这些拼块。也可以设想其他的实现方式,其中拼块不用来如下文中进一步描述的将表面分成份额(例如应用程序110指定一定尺寸)。虚拟表面118可以被配置成一个或多个逻辑表面120的集合。逻辑表面120代表由应用程序110看见的个别表面并且可以与一个或多个画面关联。逻辑表面120例如可以被配置成具有固定尺寸的拼块,并且多个拼块可以被设置在固定栅格中,但是应当容易理解的是,也可以设想其中不在固定尺寸下使用拼块的各种各样的其他示例。例如,拼块的尺寸可以由希望再现画面的应用程序指定,并且因此在该示例中拼块的尺寸可以由应用程序本身设定,其在下面的讨论中也称为“组块”(chunk)。虚拟表面118可以用来表示比纹理表示的区域更大的区域。例如,应用程序110可以在创建时间指定虚拟纹理的尺寸。该尺寸确立虚拟表面118的边界。该表面可以与一个或多个画面关联。在一个或多个实现方式中,当首先初始化虚拟表面时,它并不依靠实际的分配。换言之,虚拟表面118可以不在初始化时“持有比特”,而是可以在稍后的时间点,例如在分配时这样做。在下面的讨论中,画面可以指基本构成元素。例如,画面可以包含供构成系统114处理的位图和关联的构成元数据。画面的位图可以与交换链关联(例如对于诸如视频之类的动态内容而言)或者与地图集表面关联(例如对于半动态内容而言)。这两种呈现模型可以在受构成系统114支持的单个视觉树中得到支持。对于半动态内容而言,地图集可以用作用于画面的位图的更新模型,并且可以指这样的聚集层:该聚集层可以包括多个要再现的层,但是也可以设想单个层。画面及其属性操纵(例如偏移、变换、效果等等)以及更新画面的基于地图集的位图的方法(开始绘制(BeginDraw)、暂停绘制(SuspendDraw)、恢复绘制(ResumeDraw)、结束绘制(EndDraw))经由应用编程接口116来暴露,而地图集层尺寸、拼块尺寸、位图更新的包装/压紧/管理可以隐藏在应用程序110之后。交换链指的是可以例如通过改变指针而一个接一个地“翻转”到屏幕的一系列缓冲器。相应地,翻转模式是这样的模式:交换链技术用来通过这样的模式例如通过使用离屏缓冲器与屏上缓冲器之间的交换点使得离屏缓冲器成为屏上缓冲器。然而,blt模式指的是这样的技术:其中构成系统114的运行时发出从离屏缓冲器到屏上缓冲器的可以用来更新屏上缓冲器的“blt”(例如比特块图像传输)。如先前所描述的,当在一个或多个实现方式中首先初始化虚拟表面118时,它不依靠实际的分配。换言之,它不“持有任何比特”。一旦应用程序110开始更新该表面,构成系统114可以执行拼块(即构成表面对象)的分配。应用程序110可以经由各种各样的操作(例如对各操作开始绘制、暂停绘制、恢复绘制和结束绘制API调用)更新虚拟表面118。在一个或多个实现方式中,构成系统114的内部算法可以确定映射并且不使得其对于应用程序110可见。此外,构成系统114可以经由API116暴露使得应用程序110能够对虚拟表面118调整尺寸和修剪的功能。例如,调整尺寸操作可以用来改变虚拟表面118的边界。这意味着新的更新和/或分配将落入由新尺寸设置的边界内。应用程序110也可以使用该方法通知构成系统114虚拟表面118的区块不再被利用(例如无效)并且因此可用于回收。如果调整尺寸导致区域收缩,那么应用程序110不再能够通过构成系统114的管理对新边界外部的区块做出更新。图2绘出了其中对虚拟表面调整尺寸的实例实现方式200。在图示的实例中,第一和第二阶段202、204分别用来示出将3x3虚拟表面调整尺寸为2x2。在第二阶段204中包含交叉影线的区块代表作为调整尺寸操作的一部分要被丢弃的拼块。如之前所提及的,用来存储这些拼块的存储器106然后可以被构成系统114回收。在调整尺寸之后,应用程序110将不再能够在不首先再次对虚拟表面调整尺寸的情况下对丢弃的区块(即交叉影线区块)做出更新。此外,在一个或多个实现方式中,调整尺寸操作可以由构成系统114响应于接收到该操作的指示而启动。例如,构成系统114可以在接收到所述指示时实施调整尺寸更新而不等待应用程序调用“提交”(commit)。例如,应用程序可以调用“Resize(0,0)”、“Resize(INT_MAX,INT_MAX)”和“Commit()”。在该实例中,应用程序110在第一次调整尺寸时使得内容被丢弃,因此第二次调整尺寸没有效果,即使它在“Commit()”之前被调用。在这种情况下,显示设备112不显示内容,因为没有东西可用于显示。修剪操作可以用来向构成系统114描述由应用程序110请求的虚拟地图集的区块。因此,修剪操作可以在不对虚拟表面118的边界调整尺寸的情况下执行。然而,它确实告知构成引擎114目前要分配哪些逻辑表面,其一个实例关于下图进行描述。图3绘出了其中示出虚拟表面的逻辑表面与应用程序之间的交互的实例实现方式300。该实例也通过使用第一和第二阶段302、304而被图示出。在该实例中,在第一和第二阶段302、304示出了应用程序的视口306。相应地,在第一阶段302,应用程序初始时对通过交叉影线示出的处于视口306内的虚拟表面(其包括15个拼块)的前6个拼块进行再现。随着虚拟表面表示的页面的滚动,应用程序现在可以如第二阶段304所示使得后六个拼块再现。相应地,应用程序110可以调用“修剪”以便指示由后六个拼块限定的区块当前正被使用并且因此内容的其余部分当前未被利用。构成系统114然后可以选择循环利用起初表示前6个拼块的逻辑表面506。构成系统114也可以暴露图1的API116以便创建和删除逻辑的(即物理的)和虚拟的表面以及对各表面做出更新。当在可更新区域外部绘制时,构成系统114可以强制由应用程序110更新所述区块以便避免外部的画面。初始化和批处理图4绘出了更详细地示出图1的构成系统114的实例实现方式400。在当今的计算世界中,用户经常发现他们自己观看大而丰富的内容并且在其中导航,该内容的全部不是在任何一个时间都被显示设备显示。这样的实例包括复杂动态的网页、具有大的直播项目/相片组的列表的现代应用程序视图、音乐或其他直播内容或者大的文档。诸如基于触摸和图像捕获的操纵之类的用户界面允许用户在书写板、电话、大型电视/投影等上跨用户界面的大量显示迅速地滚动、摇动(pan)和缩放。在大多数情况下,预先再现整个内容并且在其动画显示和变化时保持其最新可能是过分昂贵的,并且事实上可能甚至不被设备的硬件支持。相反地,所述内容的进入视口的部分可以智能地被再现和缓存,例如在用户操纵将其带入视口中之前提前推测性地再现,并且在视口移开时从缓存丢弃以便如上面所描述的减少使用的资源。为了向用户提供希望的响应,构成和再现可以由构成系统114单独地执行。这通过由构成系统114结合构成引擎402、控制器404和再现器406而图示出。在一个或多个实现方式中,构成系统114的这些部件可以异步地执行。通过这种方式,预先再现的内容可以在再现器406继续再现的同时由响应用户输入的控制器404以及构成引擎402摇动/缩放。如先前所描述的,构成系统114可以采用一个或多个虚拟表面118。虚拟表面118的使用允许实现已经再现的内容的缓存和构成。当控制器404和构成引擎402用来变换虚拟表面118时,再现器406更新和修剪虚拟表面118上的区域,这可以基于推测性再现策略而执行。该变换可以基于用户输入而执行,以便基于虚拟表面118的具有再现的内容并且处于视口中的区域生成对于用户界面的更新。构成引擎402可以被配置成一次构成多个虚拟表面118和/或画面。在一个或多个实现方式中,构成系统114可以被配置成采用逻辑表面120作为用作用于构成的前缓冲器的固定或混合尺寸拼块。当再现器406想要更新虚拟表面118的部分时,再现器406可以执行到单独的更新表面中的再现或者直接对拼块表面再现。如果使用单独的更新表面,那么在完成绘制时将内容从更新表面拷贝到前缓冲器拼块。然后,可以在再现器406从拼块中修剪掉有效内容时释放这些拼块。然而,这种实现方式可能导致结构性撕裂,因为变化的内容利用过时内容在屏幕上构成。此外,虚拟表面上更新的区块的组块或拼块之间的接缝可能由于沟槽和采样(例如双线性)或者T型接点的原因而生成,以及使得过多地使用CPU和GPU处理沟槽、多个重叠更新和复杂的有效区块。进一步,由于动态内容变化或者用户操纵的内容的原因,可能遇到过多的存储器使用。对于每拼块固定/混合尺寸表面的方法而言,针对较大尺寸拼块由于拼块的未使用部分的原因可能遇到存储器浪费,由于对于较小的拼块再现/处理更新以及在构成时间再现它们的原因可能遇到CPU/GPU浪费,并且在使用单独的更新缓冲器的情况下从更新缓冲器到前缓冲器可能遇到CPU/GPU拷贝成本。因此,在构成系统114的实现方式中,可以在各种各样的考虑因素之间实现平衡。这些考虑因素可以包括在操纵不适合视口的丰富和/或动态的内容时用于用户体验质量和性能的以下宗旨集合。第一个这样的宗旨称为视觉响应性。这意味着虚拟表面118可以被配置成在用户的“指尖”处和用户操纵下感觉像真实表面。这可以通过将构成系统114配置成无感知的滞后地响应和跟踪操纵而得到支持。再现器406与控制器404和构成引擎402的分离可以用来以鲁棒的方式支持该宗旨。第二个这样的宗旨涉及视觉连贯性。在该实例中,当表面被操纵并且其中的动态内容(例如动画)被更新时,显示设备112上的内容并不显示干扰用户的沉浸感或信任感的伪像。例如,所述内容可以无接缝、可见的撕裂或损坏地显示,用户界面的部分不滞后于它们所要附接的其他部分,等等。所述宗旨中的第三个涉及视觉完整性。如果用户界面在视觉上是完整的,那么用户很少看见覆盖显示设备112的部分的填充物/占位符图案(例如棋盘),并且如果这样的话,该显示限于相对较短的持续时间。此外,表面内容更新不明显地滞后,然而这例如对于低功率设备上的跨缩放水平的开放式丰富内容可能不受保证。例如,再现器406更新虚拟表面118并且构成引擎402构成该表面越优化和高效,则再现器406具有进一步提前推测性再现以便实现附加的视觉完整性的带宽越大。第四个宗旨涉及直播(live)表面。对于该宗旨而言,动画、视频和其他动态内容在操纵期间无断续地继续播放和执行。这可以在再现器406实现视觉完整性并且具有实施直播表面的带宽的情况下实现。这可以通过虚拟表面118的高效的更新和构成来支持。构成系统114可以被配置成平衡这些宗旨。通过这种方式,可以实施这样的综合解决方案:其支持对于管理和构成虚拟表面更新的视觉正确性和连贯性以及响应性,使得再现器406具有确保视觉完整性和直播表面的足够带宽。图5图示出构成系统114启动虚拟表面118的操作的实例实现方式500。该实现方式通过使用第一和第二阶段502、504而图示出。在第一阶段502,应用程序110请求其中要再现用户界面的可能与一个或多个画面关联的表面的尺寸。如先前所描述的,首先初始化(例如创建)虚拟表面118,使得它不依靠实际的分配,并且因而在初始化时不“持有比特”。然后,应用程序110可以指定要再现到虚拟表面118的画面。相应地,构成引擎402可以构成这些画面以供再现器406再现到虚拟表面118,例如图示的汽车。这可以通过使用其中分配的尺寸由应用程序指定的拼块或“组块”而执行。在第二阶段504,再现器406可以接收更新虚拟表面118的区域、例如该表面的矩形区域的指令。再现器406与构成引擎402之间的接口使得再现器406可以跨大量虚拟表面118实施多个更新506(例如其可以包括修剪指令、改变画面、创建或移除画面等等),以及变换可能具有这些表面作为内容的画面上的更新。更新506的实例包括画面被配置成光标以及画面被配置成用户可选择按钮。在一个实现方式中,可以调用“提交”操作,使得所述多个更新506可以由再现器406再现,例如作为一批而更新。通过这种方式,构成系统114可以防止再现不完整的更新。这允许再现器406按照视觉连贯性宗旨具有由显示设备112显示的连贯和一致的画面。此外,处理用户输入的控制器404可以在不经过再现器406的情况下基于用户操纵直接在构成引擎402上更新画面上的变换(例如针对摇动或缩放)。这个方面提供了视觉响应性,即使再现器406被占用相对较长的时间段,例如以便处理动态内容的动画或其他状态变化和或光栅化具有有限处理资源的薄设备上的复杂内容。虚拟表面118的实现可以涉及向再现器406提供其中再现器406可以进行再现的表面和偏移。然后,可以在构成引擎402拾取提交到再现器406的整批更新并且正在处理该批更新时由构成引擎402“翻转”该表面。这可以用来消除拷贝操作,该拷贝操作不然将在单独的更新表面用于由再现器406再现所述更新时被执行。翻转也允许构成引擎402确保单批中由再现器406生成的更新506中的每一个(例如经由提交操作)使其作为整体到达显示设备112。因此,构成系统114可以避免部分更新的处理。更新和后备列表图6绘出了示出由构成系统114准备表面以用于更新的实例实现方式600。构成系统114可以利用各种各样的不同技术准备表面以用于更新。在第一种情况下,构成系统114可以从应用程序接收分配执行更新的区域的请求,该区域在所示的实例中被图示为第一矩形602。响应于该请求,构成系统114可以分配比请求的区域更大的区域,其被示为包括所请求的第一矩形602的第二矩形604。因此,如果随后接收到稍微不同尺寸的更新,那么这允许重新使用先前分配的表面。构成系统114例如可以维持先前由构成系统114分配的表面608的后备列表606。这可以由构成系统114用来“囤积”存储器106以供表面608和表面608的“组块”的重新使用。这些表面608例如可以维持在计算设备102的存储器106中以用于不再使用的表面。因此,当构成系统114接收到提供用于更新的表面的请求时,构成系统114可以首先检验后备列表606以便确定与请求相应的任何先前分配的表面608在计算设备102的存储器106中是否可用。如果是这样,那么构成系统114可以利用这些表面,从而通过不分配新表面而提高系统的总体效率。此外,通过如先前所描述的向表面分配比所请求的更大的尺寸(例如具有更多的像素),可以增大这些表面608与后续更新有关的似然率。例如,如果在一定时间段内接收到稍微不同尺寸的更新,那么这允许例如在下一次更新针对更宽或更高几个像素的区域的情况下更多地重新使用先前分配的表面608。因此,代替分配新表面的是,构成系统114可以利用先前使得其可用的表面的后备列表606以便定位有关表面。应当指出的是,表面的部分的修剪和其他更新也可能是可用的。这可以通过基于确认的批次的区块来跟踪。如果更新适合也具有其他有效内容的现有表面608的可用部分,那么可以重新使用该表面。这也通过避免从多个不同表面再现而降低了构成侧的成本,因为每个这样的转变引起设立成本。后备列表606的尺寸(例如列表中和计算设备102的存储器中维持的表面608的数量)可以基于历史峰值使用或者各种各样的其他因素来设置。图7绘出了构成系统114使用图6的后备列表606的操作的实例实现方式700。该实现方式使用第一、第二和第三阶段702、704、706而示出。在第一阶段702,分配表面708以供再现器406再现。可以给予再现器406对于表面708的控制以便执行再现。在该再现期间,可以在第二阶段704分配另一个表面710以用于执行更新。在该实例中,另一个表面710与再现器406再现的表面708包含在显示器的相同区域内。因此,可以在表面708被再现的同时分配和填充(例如绘制到)表面710。然后,可以例如响应于先前所描述的提交命令将该表面710传送至再现器406以供再现。在第三阶段706,可以接收用于更新用户界面的另一个更新。在该实例中,构成系统114通过使用图6的后备列表606确定该更新涉及先前分配的表面,例如来自第一阶段702的表面708。相应地,构成系统114可以使用已经分配的表面708以包含更新712。通过这种方式,可以在不重新分配新表面的情况下使用表面708,从而节省计算设备102的资源。也可以设想各种各样的其他实例。沟槽图8绘出了示出构成系统114采用沟槽的操作的实例实现方式800。维持视觉正确性中的一个问题涉及错过沟槽。例如,虚拟表面可以例如由于滚动等原因而被定位或按比例调节到子像素偏移。相应地,用于由显示设备112显示的像素的值基于相邻像素(例如利用双线性采样)而确定。然而,定位在更新802的边缘804上的更新802的相邻像素可能具有基于错误信息的值。例如,如果更新802外部的相邻像素包含“废弃物”(例如来自其他更新),那么光栅化器可以从这些像素采样并且从而产生具有坏值的像素,其在由显示设备112显示时可能看起来像接缝。处理这点的一种方式是将可能处于另一个拼块/丛聚表面806内的边缘处的像素行或列拷贝到更新802的新分配的表面中的相邻像素。然而,这些附加的拷贝可能证明对于计算设备的处理资源而言,例如对于计算设备102的CPU和GPU资源二者而言是过分昂贵的。相应地,在一个或多个实现方式中,将更新802的边缘与表面边缘对齐。然后,利用钳位(clamping)操作,该操作使得光栅化器在对将落到表面外部的“相邻”像素采样时使用表面边缘处的像素的值。这可以用来在成本与视觉正确性之间产生合理的折衷,即使结果可能不完全在视觉上正确,该结果在用户看来也是合理正确的。在一个或多个实现方式中,沟槽本身不更新。在一些示例中,更新边缘可能不能够与表面边缘对齐。这可能归因于分配了比更新更大的表面。在这样的示例中,为了与钳位行为相似的效果,可以将相同表面上的更新的边缘处的像素行/列拷贝到相邻像素。类似地,在一个或多个实现方式中,当进行修剪和更新时,不利用可能被绘制的潜在的新像素更新沟槽,因为它们包含与当前有效的像素一起显示的先前有效的像素。这支持正确性与性能之间的折衷,其在通常情况下产生当被观看时引起用户不安的最小视觉伪像。混合和BLT图9绘出了示出由构成系统114管理有效区块的实例实现方式900。如先前所描述的,虚拟表面118可以包含对于更新有效和无效的部分。例如,对于所示的虚拟表面118的实例而言,更新可能涉及虚拟表面118中的光标而不是汽车。因此,光标可以用来限定虚拟表面118的区块,该区块与虚拟表面118的其他区块相反地为有效的。通过针对该虚拟表面118以及其他表面跟踪这些区块,构成系统114本身可以利用各种各样的优化。例如,描述一种将来自表面的要被再现的区块划分成两个部分(混合的和BLT的)的技术。该技术可以用来解决这样的示例:其中更新是小的,并且得到的虚拟表面上的有效区块相对复杂,例如导致具有许多小的源表面的复杂网格。如果表面被“预乘(premultiplied)”或者透明(并且非“不透明”或者设置成忽略阿尔法值),那么该表面被“混合”。这可以用来在不存在由再现器提供的内容的情况下将较大的矩形形状与“清除的”和/或完全透明的像素混合。在一些情况下,这变得比利用勾画复杂形状的每一个路径/边缘的复杂网格进行处理和光栅化更加优化。当有效区块对于不透明表面而言复杂时,该方法也可以用于沟槽。例如,可以对内部部分进行BLT,但是对边缘周围的像素进行混合,使得相邻像素被清除。因此,当光栅化器从这些像素采样时,可以实现精确的值。在一个或多个实现方式中,该技术用于虚拟表面118的边缘,而不用于组成虚拟表面的表面与拼块丛聚之间的内部边缘。可以对比特进行拷贝和部分清除,以便确保分配对齐到拼块尺寸的丛聚表面,并且来自拥有该拼块的先前表面的内容被移到新表面中。在一个或多个实现方式中,对于要由再现器406更新的部分(例如如图7中所示的中间的更新矩形)这不被执行。如果表面不透明,那么在更新之后,可以通过“混合”使得边缘上的像素不透明,即在那些像素的阿尔法通道中达到完全不透明。拷贝、清除和使得不透明的任务中的每一个可以通过使用由不重叠矩形条纹组成的“区块”而执行。区块可以相交、形成并集或者相减。此外,可以枚举构成区块的不重叠矩形条纹。这允许高效地将各种不同的矩形和区块合并成单个区块并且提取得到的矩形的最佳集合。例如,Win32HRGN为可以被采用来利用这些设施的GDI构造。这些操作用来标识要在其上执行一定操作的合并和优化的矩形集合,所述一定操作例如清除或拷贝,而不是单独地确定每个拼块要做什么。这可以用来在用于执行这些任务的CPU和GPU二者中实现显著的效率,并且也允许将拼块/对齐尺寸降低到相对较小的值,例如32x32或者16x16,从而如先前所描述的降低浪费。来自再现器406的修剪请求可以基于有效区块的复杂性而不同地进行处理。在一个典型的情况下,可以依照修剪请求来更新拼块丛聚/表面的有效区块。然而,如果有效区块是复杂的并且正在利用BLT/混合技术,那么可以执行附加的操作。例如,可以混合有效区块的部分以便变成不透明的,因为这些部分现在位于区块的边缘处。另一种处理这点的方式是为从中移除有效部分的拼块创建新丛聚。然而,这些拼块可以继续具有一些剩余的有效部分。对于这些拼块而言,剩余的有效部分可以从现有的表面拷贝,变得不透明,并且可以清除修剪掉的部分。当再现器406例如由于提交操作的原因提交整批更新时,可以提交这些新丛聚。该操作可以使用矩形条纹的区块来优化,但是也可以设想其他的实例。当再现器406提交更新集合时,可以将修剪和视觉变换(例如得到的拼块丛聚/表面及其有效区块的集合)传送至构成引擎402。可以将更新与对应令牌通信,这些令牌可以由构成引擎402用来确保完成用于在这些表面上光栅化的任何未完结的CPU/GPU工作。此时,可以利用附加的技术进一步提高效率,其实例在下面的章节中加以描述。下推图10绘出了示出构成系统114使用下推技术组合表面的操作的实例实现方式1000。在该实例中,构成系统114已经做出表面分配1002以便显示画面,该画面在图中示为使用斜条标记(hashmark)的盒状物。然后,做出另一个表面分配1004以执行更新,其被示为设置有打斜条标记的盒状物的白盒。通过由构成系统114跟踪表面的有效区块,可以组合分配以改进资源利用。例如,从多个表面再现可能比从单个表面再现更加资源密集。在图示的实例中,表面分配1004的有效部分被“下推”到表面分配1002中。这通过使用虚线盒指示来自表面分配1004的有效区块现在包含在表面分配1002中而图示出。在下推之后,可以释放包括更新的表面分配1004,从而释放计算设备102的存储器106的部分。因此,该技术可以用来在不创建新的表面分配的情况下通过利用组合的表面之一的分配来组合表面。例如,在一些示例中,构成系统114可能面临当前或者先前批次的更新中的重叠的大更新。这可能造成包括相对较小的有效区块的多个表面的分配。因此,构成系统114可能已经分配了大表面,但是相对较小的有效区块可以防止这些表面被释放。然而,通过将有效区块从第一表面(例如较新较小的表面)“下推”至第二表面(例如较旧较大的表面),可以移除来自第一表面的有效区块。这允许释放第一表面,从而释放存储器并且减少由构成系统114管理的表面分配的量而不涉及附加的表面分配。通过这种方式,可以给再现器406分派再现较少表面的任务,从而提高构成系统114的效率。也可以设想其中做出新的表面分配的其他的技术,其一个实例在下面的章节中加以描述。枚举和丛聚图11绘出了示出构成系统114将有效区块组合成新表面的操作的实例实现方式1100。如先前所描述的,构成系统114可以被配置成跟踪表面分配的有效区块,所述表面分配的实例被图示为具有对应有效区块的1102(1)、1102(2)和1102(n)。随着时间的推移,有效区块相对于包括该区块的表面的尺寸可能例如由于来自其他表面的更新等的原因而减小。相应地,构成系统114可以被配置成将来自表面分配1102(1)-1102(n)的有效区块组合成一个或多个新的表面分配1104。构成系统114例如可以被配置成通过减少作为源而设立并且从中进行再现以便构成显示设备112上的显示的表面数量而解决表面分配和构成。这可以通过枚举总体虚拟表面有效区块中的优化矩形集合来执行。然后,可以对于每个这样的矩形创建丛聚。如果这导致大量较小的矩形,那么可以使用上面讨论的混合/BLT技术。通过这种方式,可以利用已经清除的要由构成引擎402适当构成的像素区域实现较大的矩形。当构成引擎402接收例如更新批次时,例如,该引擎可以首先确定虚拟表面的“变脏”部分以及组成显示树的要更新的画面。这可以被执行为包括例如显式地计算来自更新和修剪的脏区块并且将其传送至构成器,即使底层表面或“丛聚”可能变化(例如下推或者重新丛聚),相同内容的有效区块可能继续,因此可能不生成新的脏区块。描述有效区块的这些矩形可以在每次更新/修剪操作时被显式地传送。在一个或多个实现方式中,可以减小脏区块以得到较少数量的更大矩形,以避免在设立和执行一定数量的较小再现操作中招致大的开销。这样做的一种技术是允许最大数量的脏矩形。当遇到新的脏矩形时,可以将这些矩形添加到列表或者与导致最小区域增加总体的矩形合并(例如形成并集)。网格图12绘出了示出构成系统114采用网格的操作的实例实现方式1200。该网格(例如点列表)可以包括多个画面,针对这些画面可以向GPU的驱动程序做出单个绘制调用。通过这种方式,可以减少向驱动程序做出的绘制调用的数量,从而避免每个调用涉及的开销。构成引擎402具有构成虚拟表面118的丛聚/表面的多个选项。例如,由于构成引擎402知道每个丛聚的有效区块,因而构成引擎402可以通过跳过不与要更新的脏区块重叠的那些丛聚而开始。如果包含在虚拟表面118中的画面是像素对齐的,则进行不利用上面描述的沟槽技术的平移变换。这允许对于丛聚中的每个矩形使用简单的BLT/混合。代替每次执行这些操作中的一个的是,构成引擎402可以从矩形集合创建三角形网格并且通过使用该网格使得表面被创建。例如,具有有效区块的矩形集合1202可以由构成系统114检验。然后,可以通过将每个矩形分裂成两个三角形而为所述矩形集合生成三角形网格1204。然而,可以从矩形形成T型接点。T型接点可以例如由于浮点或舍入误差的原因使得三角形网格1204光栅化为具有接缝。相应地,构成系统114可以改为处理矩形集合以便形成不包括T型接点的不重叠矩形的三角形网格1206。生成的网格可以跨构成帧而被缓存,并且在丛聚的矩形不改变的情况下重新使用。如果存在非像素对齐的变换,但是该变换仅仅包括平移,那么构成引擎402仍然可以生成网格并且独立地再现每个丛聚。然而,如果存在更复杂的变换,那么构成引擎402可以处理矩形集合以避免T型接点从而确保没有接缝的正确光栅化。为了这样做,每个丛聚可以向由构成系统114管理的网格生成器对象注册对应矩形集合。当检验每个坐标时,构成系统114的网格生成器功能可以在已经注册的边缘上添加一个或多个附加顶点。每个注册边缘也可以让该范围内的现有顶点添加到自身。结果是用于每个丛聚的具有附加顶点的矩形集合。然后,可以使用这些顶点将这些矩形分解成不重叠三角形集合。因此,在非简单变换的情况下,可以使用如三角形网格1206中所示的这些生成的无T型接点的网格来再现丛聚。遮挡图13绘出了示出构成系统114关于遮挡的操作的实例实现方式1300。即使每个丛聚可能具有混合其表面的部分和BLT其他部分的指令,对于不透明虚拟表面而言,构成系统114也知道每个丛聚上的有效且不透明的区块。对于遮挡而言,这些区块可以跨整个虚拟表面累积,并且用于由构成引擎402进行遮挡检测。在一个或多个实现方式中,构成引擎402可以通过注册的遮挡矩形枚举以便标识由在z顺序下更靠近用户的不透明画面遮挡的部分以供显示设备112显示。然而,通过遮挡途径将矩形分解成复杂的形状可能是昂贵的。为了确保组成区块的不重叠矩形条纹完全遮挡会被整个区块遮挡的矩形,构成系统114可以利用矩形包含和相交技术。图13的实例实现方式1300中示出了这种技术的一个实例,图13通过第一和第二阶段1302、1304示出。在第一阶段1302,第一和第二矩形1306、1308将由构成引擎402构成。然而,构成引擎402可以确定第一矩形1306的部分1310被第二矩形1308遮挡。相应地,构成引擎402可以被配置成在遮挡矩形遮掩整个边缘的情况下减小检查的矩形,使得结果仍然是被减小的单个矩形。其一个实例示于第二阶段1306,其中第一矩形1306被减小,使得它不包括被第二矩形1308遮挡的部分1310。因此,第二矩形1308的边缘可以用来限定用于第一矩形1306的新边缘,从而节省了计算设备102的资源。也可以设想各种各样的其他实例。实例过程下面的讨论描述可以利用先前描述的系统和设备实施的技术。每一个过程的方面可以以硬件、固件或软件或者其组合实施。这些过程被示为指定由一个或多个设备执行的操作的框集合,并且不一定限于示出的用于由对应框执行操作的顺序。在下面的讨论的部分中,将参照图1的环境100以及图2-13的系统和实例实现方式。图14绘出了为要在其中再现数据的表面分配尺寸的实例实现方式中的过程1400。构成系统接收分配要在其中再现一个或多个画面的表面的请求,该请求指定表面的尺寸(框1402)。该请求例如可以来源于开始“再现比特”的应用程序。在一个或多个实现方式中,所述表面可能在请求被接收时已经初始化,但是未被分配,使得该表面在请求被接收时不“持有比特”。响应于接收到请求,表面被构成系统分配成具有比请求的再现所述一个或多个画面的尺寸更大的尺寸(框1404)。如先前所描述的,构成系统114可以被配置成“囤积存储器”以便促进不再有效的分配的表面的重新使用。通过使得表面比应用程序所请求的更大,构成系统114可以增大该表面将在以后再次有用的似然率。图15绘出了其中由构成系统跟踪有效区块的实例实现方式中的过程1500。表面由构成系统管理,这些表面包括供显示设备显示的画面(框1502)。这些表面例如可以如先前所描述的被配置成虚拟表面。有效区块在要由显示设备显示的表面内被跟踪(框1504)。这些表面例如可以在初始时被配置成更新显示的部分。然而,随着时间的推移,其他表面可以进一步更新该显示的已经更新的部分。相应地,表面的部分可以对于显示保持有效,而其他部分无效。构成系统114可以被配置成跟踪该有效性,这可以用来如讨论中在别处进一步描述的支持各种各样的不同功能,例如遮挡管理、对表面调整尺寸、表面压紧等等。图16绘出了其中采用后备列表以管理表面的实例实现方式中的过程1600。构成系统接收分配要在其中再现一个或多个画面的表面的请求(框1602)。像之前那样,应用程序110可以做出该请求,作为通过构成系统114的一个或多个API116的调用。构成系统检验后备列表以便确定当在计算设备的存储器中分配时,与接收的请求相应并且不包括对于计算设备的显示设备的显示有效的画面的表面是否可用(框1604)。后备列表例如可以引用在存储器中分配、但是例如由于后来接收的更新的原因不再具有有效部分的表面。响应于所确定的表面可用的检验,使得所确定的表面可用于再现所述一个或多个画面(框1606)。所确定的表面例如可以如先前所描述的那样被分配比所请求的更大的尺寸,并且因此与后续的更新有关。也可以设想各种各样的其他实例。图17绘出了其中基于遮挡对表面调整尺寸的实例实现方式中的过程1700。做出以下确定:表面的部分将被要由显示设备显示的另一个表面遮挡(框1702)。构成引擎402例如可以确定用于显示表面的z-顺序并且确定要在所述表面的部分上方再现其他表面的至少一部分。从所述表面移除所述部分(框1704)。这可以以各种各样的方式执行,例如通过使用其他表面的边缘限定要减小的表面的边缘,从而限定该表面的至少一个新的边缘。具有移除的部分的表面与所述其他表面一起再现(框1706)。通过这种方式,可以避免从所述表面移除的部分的再现,从而节省计算设备102的资源。图18绘出了其中描述了涉及将有效区块从一个表面下推至另一个表面的压紧技术的实例实现方式中的过程1800。跟踪可由构成系统用来再现一个或多个画面的多个表面的有效区块(框1802)。构成系统114例如可以确定表面的哪些部分要由显示设备显示和不由显示设备显示。然后,由构成系统做出以下确定:第一表面的第一有效区块可包含在第二表面的分配内(框1804)。第一表面例如可以被配置成更新。然后,可以执行后续的更新,其使得所述更新的不同于第一有效区块的部分无效。然后,下推第一有效区块以便作为第二表面的部分而被包含(框1806)。这可以包括将有效区块的比特拷贝到第二表面。在拷贝之后,于是可以释放第一表面,从而节省维持单独的表面中的资源以及通过使用较小数量的表面提高再现操作的效率。因此,在该实例中,未分配新的表面,从而在做出和维持分配中节省了计算设备102的资源。也可以设想其他的实例,其一个实例如下进行描述。图19绘出了其中描述了涉及将有效区块组合成新表面的压紧技术的实例实现方式中的过程1900。跟踪可由构成系统用来再现一个或多个画面的多个表面的有效区块(框1902)。像之前那样,构成系统114可以确定多个表面的哪些部分要由显示设备显示和不由显示设备显示。然后,计算用于新表面的分配,其可用来包括来自所述多个表面的有效区块(框1904)。新表面例如可以被配置成具有用于包括多个有效区块的边界的矩形。接着,新表面可以被分配用于包括来自所述多个表面的有效区块(框1906),并且可以将这些有效区块拷贝到新表面,从而使得构成系统115能够释放原始表面。也可以设想构成系统114进行表面压紧的各种各样的其他实例。图20绘出了其中构成系统114采用网格以便调用驱动程序使用该网络再现表面的实例实现方式中的过程2000。网格由不包括T型接点的矩形集合形成(框2002)。网格例如可以形成为描述这样的三角形集合:该三角形集合如先前所描述的被形成以便避免T型接点以及因而在再现那些接点(例如接缝)中遇到的复杂状态。调用驱动程序以便使用网格再现表面(框2004),例如对于图形功能(例如GPU)的驱动程序的单个调用,其可以用来描述具有用于用户界面中的更新的有效区块的多个矩形。因此,网格可以如上面相应的章节中描述的帮助避免使用针对用来形成网格的三角形的每一个矩形的调用。实例系统和设备图21总体上在2100处图示出包括实例计算设备2102的实例系统,该实例计算设备代表可以实施本文描述的各种不同技术的一个或多个计算系统和/或设备。计算设备2102可以为例如服务提供商的服务器、与客户端关联的设备(例如客户端设备)、片上系统和/或任何其他适当的计算设备或计算系统。计算设备2102被图示为包括图1的构成系统114。图示的实例计算设备2102包括彼此通信耦合的处理系统2104、一个或多个计算机可读介质2106以及一个或多个I/O接口2108。尽管未被示出,但是计算设备2102可以进一步包括将这些各种不同的部件彼此耦合的系统总线或者其他数据和命令传输系统。系统总线可以包括不同总线结构中的任何一种或者其组合,这些总线结构例如存储器总线或存储控制器、外设总线、通用串行总线和/或利用各种各样的总线结构中的任何总线结构的处理器或本地总线。也可以设想各种各样的其他实例,例如控制和数据线。处理系统2104代表使用硬件执行一个或多个操作的功能。相应地,处理系统2104被图示为包括可以被配置成处理器、功能框等等的硬件元件2110。这可以包括以硬件实现为专用集成电路或者使用一个或多个半导体形成的其他逻辑设备。硬件元件2110不受形成它们的材料或者其中采用的处理机制的限制。例如,处理器可以由半导体和/或晶体管组成(例如电子集成电路(IC))。在这种情景下,处理器可执行的指令可以是电子地可执行的指令。计算机可读存储介质2106被图示为包括存储器/存储装置2112。存储器/存储装置2112代表与一个或多个计算机可读介质关联的存储器/存储装置容量。存储器/存储装置部件2112可以包括易失性介质(例如随机存取存储器(RAM))和/或非易失性介质(例如只读存储器(ROM)、闪存、光盘、磁盘等等)。存储器/存储装置部件2112可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等等)以及可移除介质(例如闪存、可移除硬盘驱动器、光碟等等)。计算机可读介质2106可以如下文中进一步描述的以各种各样的其他方式配置。输入/输出接口2108代表允许用户向计算设备2102输入命令和信息并且也允许使用各种不同的输入/输出设备将信息呈现给用户和/或其他部件或设备的功能。输入设备的实例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪、触摸功能(例如被配置成检测物理触摸的电容性或其他传感器)、照相机(例如其可以采用可见波长或者诸如红外频率之类的不可见波长以便将运动识别为不涉及触摸的姿势)等等。输出设备的实例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等等。因此,计算设备2102可以如下文中进一步描述的以各种各样的方式配置以便支持用户交互。在这里,可以在软件、硬件元件或者程序模块的一般情景下描述各种各样的技术。通常,这样的模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等等。当在本文中使用时,术语“模块”、“功能”和“部件”通常代表软件、固件、硬件或者其组合。本文描述的技术的特征是平台独立的,这意味着这些技术可以在具有各种各样的处理器的各种各样的商业计算平台上实施。所描述的模块和技术的实现方式可以存储在某种形式的计算机可读介质上或者通过计算机可读介质传送。计算机可读介质可以包括可以由计算设备2102访问的各种各样的介质。举例而言并且非限制性地,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。“计算机可读存储介质”可以指与仅仅信号传输、载波或者信号本身形成对照、允许实现信息的永久和/或非暂时存储的介质和/或设备。因此,计算机可读存储介质指的是非信号承载介质。计算机可读存储介质包括在适合存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其他数据之类的信息的方法或技术中实施的诸如易失性和非易失性、可移除和不可移除介质和/或存储设备之类的硬件。计算机可读存储介质的实例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术,CD-ROM、数字多功能盘(DVD)或者其他光学存储装置,硬盘、盒式磁带、磁带、磁盘存储装置或其他磁性存储设备,或者其他存储设备、有形介质或者适合存储希望的信息并且可以由计算机访问的制品。“计算机可读信号介质”可以指被配置成例如经由网络将指令传送至计算设备2102的硬件的信号承载介质。信号介质典型地可以在诸如载波、数据信号或其他运送机制之类的调制数据信号中包含计算机可读指令、数据结构、程序模块或者其他数据。信号介质也包括任何信息输送介质。术语“调制数据信号”表示这样的信号:其使其特性中的一个或多个特性以将信息编码到信号中的方式来设置或改变。举例而言并且非限制性地,通信介质包括诸如有线网络或直接有线连接之类的有线介质以及诸如声音的、RF、红外的和其他无线介质之类的无线介质。如先前所描述的,硬件元件2110和计算机可读介质2106代表以硬件形式实施的模块、可编程设备逻辑和/或固定设备逻辑,其在一些实施例中可以被采用来实施本文描述的技术的至少一些方面,例如执行一个或多个指令。硬件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)以及硅或其他硬件的其他实现方式的部件。在该上下文中,硬件可以作为执行由硬件包含的指令和/或逻辑限定的程序任务的处理设备、以及利用来存储供执行的指令的硬件(例如先前描述的计算机可读存储介质)而操作。以上所述的组合也被采用来实施本文描述的各种不同的技术。因此,软件、硬件或者可执行模块可以被实施为包含在某种形式的计算机可读存储介质上的一个或多个指令和/或逻辑和/或由一个或多个硬件元件2110实施。计算设备2102可以被配置成实施与软件和/或硬件模块相应的特定指令和/或功能。因此,可由计算设备2102执行的作为软件的模块实现方式可以例如通过使用计算机可读存储介质和/或处理系统2104的硬件元件2110而至少部分地以硬件实现。所述指令和/或功能可以可由一个或多个制品(例如一个或多个计算设备2102和/或处理系统2104)执行/操作以便实施本文描述的技术、模块和实例。如图21中进一步图示的,当在个人计算机(PC)、电视设备和/或移动设备上运行应用程序时,实例系统2100允许实现用于无缝用户体验的普适环境。当在利用应用程序、播放视频游戏、观看视频等等的同时从一个设备转变到另一个设备时,服务和应用程序在所有三种环境中基本上相似地运行以获得共同的用户体验。在实例系统2100中,多个设备通过中央计算设备互连。中央计算设备可以处于所述多个设备的本地,或者可以远离所述多个设备设置。在一个实施例中,中央计算设备可以是通过网络、因特网或者其他数据通信链路连接到所述多个设备的一个或多个服务器计算机的云。在一个实施例中,该互连架构使得功能能够跨多个设备而输送以便向所述多个设备的用户提供共同且无缝的体验。所述多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用为设备定制然而为所有设备共用的平台以便允许将体验输送到该设备。在一个实施例中,产生目标设备类别,并且为该一般设备类别定制体验。设备类别可以由设备的物理特征、使用类型或者其他公共特性限定。在各种不同的实现方式中,计算设备2102可以采取例如用于计算机2114、移动装置2116和电视2118用途的各种各样的不同配置。这些配置中的每一个包括可以具有通常不同的构造和能力的设备,并且因此计算设备2102可以依照所述不同的设备类别中的一种或多种来配置。例如,计算设备2102可以被实施为计算机2114设备类别,其包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等等。计算设备2102也可以被实施为移动装置2116设备类别,其包括移动设备,例如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等等。计算设备2102也可以被实施为电视2118设备类别,其包括在休闲观看环境中具有通常较大的屏幕或者连接到通常较大的屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等等。本文描述的技术可以受计算设备2102的这些不同配置的支持,并且不限于本文描述的技术的特定实例。该功能也可以通过使用分布式系统,例如如下面所描述的经由平台2122通过“云”2120全部或部分地实施。云2120包括和/或代表用于资源2124的平台2122。平台2122抽象化云2120的硬件(例如服务器)和软件资源的底层功能。资源2124可以包括可以在远离计算设备2102的服务器上执行计算机处理的同时利用的应用程序和/或数据。资源2124也可以包括通过因特网和/或通过订户网络(例如蜂窝或Wi-Fi网络)提供的服务。平台2122可以抽象化将计算设备2102与其他计算设备连接的资源和功能。平台2122也可以用来抽象化资源的扩展以便向遇到的对于经由平台2122实施的资源2124的需求提供相应的规模水平。因此,在一个互连设备的实施例中,本文描述的功能的实现方式可以在整个系统2100中分布。例如,该功能可以部分地在计算设备2102上以及经由抽象化云2120的功能的平台2122实施。结论尽管以特定于结构特征和/或方法动作的语言描述了本发明,但是应当理解的是,在所附权利要求书中限定的本发明不必限于所描述的特定特征或动作。相反地,这些特定的特征和动作作为实施要求保护的本发明的实例形式而被公开。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1