CN102339474A - 使用多个执行线程的层合成、呈现和动画 - Google Patents

使用多个执行线程的层合成、呈现和动画 Download PDF

Info

Publication number
CN102339474A
CN102339474A CN201110159091XA CN201110159091A CN102339474A CN 102339474 A CN102339474 A CN 102339474A CN 201110159091X A CN201110159091X A CN 201110159091XA CN 201110159091 A CN201110159091 A CN 201110159091A CN 102339474 A CN102339474 A CN 102339474A
Authority
CN
China
Prior art keywords
thread
layer
assembly
application program
animation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201110159091XA
Other languages
English (en)
Inventor
D·法耶什
S·巴斯特
A·C·切斯勒
J·S·艾普林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102339474A publication Critical patent/CN102339474A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/08Animation software package

Abstract

一种创建了取标准2D层为输入并进行合成并用3D来呈现层的独立系统的体系结构。可以将硬件加速的图形效果添加到这些层,并且另外地,这些层可被独立地动画。所提供的层类型包括CPU、位图、GPU和Direct2D。各层按树来组织,并且层管理器处理在硬件或软件设备上的层合成、呈现和动画。层具有诸如例如可视性、3D坐标之类的属性。可以在层以及层属性级别处提供动画和转换。

Description

使用多个执行线程的层合成、呈现和动画
技术领域
本发明涉及一种取标准2D层为输入并进行合成并用3D来呈现层的独立系统的体系结构。
背景技术
使用呈现技术的应用程序不支持3D空间中的无毛刺动画和合成。此外,这些技术不是硬件加速的,因此,软件设备上的动画和合成展示出较差的性能。存在允许3D呈现和动画的系统;然而,为了使用这些特征,必须完全重新设计和重新编写应用程序,从而引入对于大多数应用程序而言成本较高的进入壁垒。
发明内容
下面呈现了简化的发明内容,以便提供对此处所描述的一些新颖实施例的基本理解。本发明内容不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一的目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
所公开的体系结构创建了取标准2D(二维)表面(称为“层”)为输入,并用3D(三维)来进行合成和呈现这些表面的独立系统。可以将硬件加速的图形效果添加到这些层,并且另外地,这些层可被独立地动画。
该体系结构中提供的层类型包括但不限于,CPU(中央处理单元)、位图、GPU(图形处理单元)、和Direct2D,以及用于添加更多的层类型的可扩展性模型。各层按树来组织,并且层管理器在硬件和/或软件设备上处理层合成、呈现和动画。层具有诸如例如可视性和3D坐标之类的属性。可以在层以及层属性级别处提供动画和转换。
此外,应用程序可以向由该系统提供的不同层类型呈现并发出同步和异步命令。例如,使用GDI(例如,使用GDI(图形设备界面)或GDI+)的传统应用程序可以向CPU或向位图层呈现,并且传统应用程序可以发出动画命令,该动画命令将在单独的呈现线程上并使用GPU(如果可用)来动画该层。
为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其它优点和新颖特征将变得显而易见。
附图说明
图1示出了根据所公开的体系结构的图形系统。
图2示出了用于使用多个执行线程来进行呈现、合成和动画的系统的详细实施例。
图3示出了根据所公开的体系结构的图形处理方法。
图4示出了图3的方法的其他方面。
图5示出了根据所公开的体系结构的执行独立图形线程处理的计算系统的框图。
具体实施方式
所公开的体系结构创建了与应用程序进程分开工作但与进程线程组合工作的独立系统,该系统通过取标准2D表面(称为“层”)为输入,并在独立的呈现/合成/动画线程上用3D来进行合成和呈现这些表面。可以将硬件加速的图形效果添加到这些层,并且这些层可由该独立系统独立地动画。该系统提供各个层类型,这些层类型包括CPU(中央处理单元)、位图、GPU(图形处理单元)、Direct2D(微软公司提供的2D和向量图形API),包括用于添加更多的层类型的可扩展性模型。各层按树来组织,并且层管理器在硬件或软件设备上处理层合成、呈现和动画。层具有诸如可视性、3D坐标等属性。该系统在层和层属性级别处提供动画和转换。
应用程序可以向由该系统提供的不同层类型呈现并按需向图形线程发出同步和异步命令。例如,使用GDI(图形设备界面)和GDI+(两者都由微软公司提供)的传统应用程序可以向CPU和/或向位图层呈现,并且发出动画命令,该动画命令将在单独的呈现线程上并使用GPU(如果可用)来动画该层。
该体系结构提供了各方法来创建并管理不同层类型,用3D来对层进行合成,发送和处理线程之间的命令、事件和通知,将动画和转换调度到各层上,以及与传统呈现和图形系统互操作。
现在参考附图,附图中通篇使用相似的附图标记表示相似的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。意图为涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出了根据所公开的体系结构的图形系统100。系统100包括创建来处理用于图形输出的二维(2D)层类型104的应用程序进程组件102,以及创建来接收2D层类型104并将该2D层类型104处理成较大维度的场景(例如,3D层类型108)的独立图形线程组件106。独立图形线程组件106执行从2D层类型104到3D空间的呈现、合成和/或动画。
系统100还可包括创建信道的管理组件110,该组件经由该信道来在独立图形线程组件106和应用程序进程组件102之间传递命令、事件和通知。线程管理组件110的代码在应用程序进程组件102和独立图形线程组件106上运行。2D层类型104是被结构化为应用程序进程组件102中的层树的许多层类型中的一个。独立图形线程组件106在从应用程序进程组件102接收到命令时以及从图形线程组件106的动画管理器接收到更新时呈现层树。
图2示出了用于使用多个执行线程来呈现、合成和动画的系统200的详细实施例。系统200包括三个主要组件:应用程序进程组件102、独立图形线程组件106和线程管理组件110。
应用程序进程组件102可包括用于处理图形以供经由相关联的应用程序来演示的一个或多个进程线程。应用程序创建层管理器202,该管理器处理其层、层主机204(对于多个2D层类型)的呈现。层主机是与典型的应用程序窗口相关联的对象。一旦应用程序为窗口创建了层主机204,则在窗口内部(对于每一个层主机)创建层树206。因此,每一物理窗口具有层树206(例如,矩形)。层树可取决于在层中呈现的内容(例如,CPU、GPU、位图等)来呈现不同的层类型208。应用程序基于需求来创建层;因此如果需要两个层,则创建两个层。
系统200随后创建线程管理组件110,该组件包括线程管理器210以及用于管理层管理器202和图形线程组件106之间的通信的一个或多个信道(例如,信道212)。为使用图形线程组件106的(应用程序进程组件102的)每一应用程序线程创建单独的信道。经由信道212将命令传递给单个和不同的图形线程组件106。
线程管理器210包括用于演示与信道212的通知队列216相关联的通知的通知窗口214。信道212还具有用于处理异步命令、同步命令220和跟踪当前层类型的列表的资源句柄表222(每一应用程序线程两个表)的相关联的异步命令队列218。
图形线程组件106包括呈现/合成管理器224和动画管理器226。呈现/合成管理器224创建层主机228、每一主机228的层树50以及相关联的层类型232。另外,创建层动画存储234并将其接口到动画管理器226。动画管理器226包括故事板236(用于组织动画)、转换238(用于在动画之间移动)以及动画变量240(例如,图形操纵等)。如图所示,呈现/合成管理器224还可包括过滤器242和效果244。
更具体地,应用程序线程组件102展示由客户机应用程序用来使用所公开的独立图形线程系统的API。该API可使用由微软公司实现的类工厂(在COM(组件对象模型)中)来实现。类工厂对象实现IUnknown界面和从IUnknown中导出的一组界面。
应用程序进程组件102的层管理器202是控制应用程序进程线程组件102的生存期并提供系统的入口点的对象。层管理器202还用作其他进程组件对象的类工厂。
进程组件102上的所有对象是围绕由句柄表222管理的资源的瘦包装。将通过进程组件API的调用转换成带有参数的命令,将该命令串行化并置于异步命令队列218中。如果命令是同步的,则立即将该命令发送至图形线程组件106,然后停止(进程组件102的)应用程序线程直到完成该命令。
对于线程管理组件110,线程管理组件110中的代码在应用程序线程中以及在(图形组件106的)独立图形线程上运行。线程管理组件110处理应用程序线程的管理(创建和销毁)、应用程序线程的注册、信道(例如,信道212)的管理、应用程序线程和图形线程之间的通信、同步和异步命令的解包和分派、以及使用通知队列216的通知的解包和分派。
图形线程使用硬件加速图形(GPU)和/或软件图形(CPU)来处理层的呈现。层被组织成树并由层主机对象来管理。图形线程组件106在从应用程序线程接收到命令时以及在从动画管理器240接收到更新时呈现层树230。
在使用GPU时,图形线程处理诸如“设备丢失”之类的差错情况,并向应用程序组件102发送通知来允许资源重新创建。可以在层上应用过滤器242和效果244来改变外观。该实现可在CPU(核)和/或GPU中完成。
此处所包括的是一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。
图3示出了根据所公开的体系结构的图形处理方法。在300处,启动应用程序的应用程序线程来处理2D层。在302处,启动独立图形线程来将2D层处理成3D空间。在304处,在应用程序线程和图形线程之间传递命令。在306处,在图形线程上将2D层处理成3D场景。在308处,将3D场景发送给显示设备以供演示。
该过程以应用程序为应用程序线程创建层管理器来开始。随后,创建层主机来将对象与窗口相关联。随后为窗口创建层树。每一物理窗口现在具有层树。例如,层树可与矩形相关联,可以是不同类型的,这取决于所采用的技术(例如,D2D、GPU、CPU、位图等)。
图4示出了图3的方法的其他方面。在400处,在图形线程上将2D层合成为3D场景。在402处,将动画和转换调度到2D层上。在404处,经由线程管理器在应用程序线程和图形线程之间传递事件和通知。在406处,挂起应用程序线程来等待从图形线程返回的同步命令的响应。在408处,在图形线程处应用过滤器和效果。
如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、模块、执行的线程和/或程序等软件组件。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机上和/或分布在两台或更多的计算机之间。词语“示例性”此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
现在参考图5,示出了根据所公开的体系结构的执行独立图形线程处理的计算系统500的框图。为了提供用于其各方面的附加上下文,图5及以下讨论旨在提供对其中可实现各方面的合适的计算系统500的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。
用于实现各方面的计算系统500包括计算机502,其具有处理单元504、诸如系统存储器506等的计算机可读存储、以及系统总线508。处理单元504可以是各种市场上可买到的处理器中的任一种,包括单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其它计算机系统配置来实施,包括小型机、大型计算机、以及个人计算机(例如、台式、膝上型等)、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。
系统存储器506可包括计算机可读存储(物理存储介质),如易失性(VOL)存储器510(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)512(如ROM、EPROM、EEPROM等)。基本输入/输出系统(BIOS)可被存储在非易失性存储器512中,并且包括诸如在启动期间便于在计算机502内的组件之间传递数据和信号的基本例程。易失性存储器510还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
系统总线508提供了用于包括,但不限于系统存储器506的系统组件对处理单元504的接口。系统总线508可以是若干种总线结构中的任一种,这些总线结构还可使用各类可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及外围总线(例如,PCI、PCIe、AGP、LPC等等)。
计算机502还包括用于机器可读存储子系统514以及将存储子系统514接口到系统总线508和其他所需计算机组件的存储接口516。存储子系统514(物理存储介质)可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)中的一种或多种。存储接口516可包括诸如,例如EIDE、ATA、SATA和IEEE 1394等接口技术。
一个或多个程序和数据可被存储在存储器子系统506、机器可读和可移动存储器子系统518(例如,闪存驱动器形状因子技术)和/或存储子系统514(例如,光、磁、固态)中,包括操作系统520、一个或多个应用程序522、其他程序模块524以及程序数据526。
一个或多个应用程序522、其他程序模块524以及程序数据826可包括例如图1的系统100的实体和组件、图2的系统200的实体和组件、以及图3-4的流程图所表示的方法。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作系统520、应用程序522、模块524和/或数据526的全部或部分也可被高速缓存在诸如易失性存储器510等存储器中。应该明白,所公开的体系结构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实施。
存储子系统514和存储器子系统(506和518)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。这些指令当由计算机或其他机器执行时,可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或者可跨多个介质存储,使得指令共同出现在一个或多个计算机可读存储介质上,而不管所有指令是否都在同一介质上。
计算机可读介质可以是可由计算机502访问的任何可用介质,且包括易失性和非易失性、可移动和不可移动的内部和/或外部介质。对于计算机502,介质容纳适当的数字格式的数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所公开的体系结构的新颖方法的计算机可执行指令。
用户可以使用诸如键盘和鼠标等外部用户输入设备528来与计算机502、程序和数据交互。其他外部用户输入设备528可包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、照相机识别系统、指示笔、触摸屏、姿势系统(例如,眼移动、头移动等)和/或类似物。在计算机502是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备530来与计算机502、程序和数据交互。这些和其它输入设备通过输入/输出(I/O)设备接口532经由系统总线508连接到处理单元504,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等等。I/O设备接口532还便于使用输出外围设备534,如打印机、音频设备、照相机设备等,如声卡和/或板载音频处理能力。
一个或多个图形接口536(通常也称为图形处理单元(GPU))提供计算机502和外部显示器538(例如,LCD、等离子)和/或板载显示器540(例如,对于便携式计算机)之间的图形和视频信号。图形接口536也可作为计算机系统板的一部分来制造。
计算机502可以使用经由有线/无线通信子系统542到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机502描述的许多或所有元件。逻辑连接可包括到局域网(LAN)、广域网(WAN)热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在联网环境中使用时,计算机502经由有线/无线通信子系统542(例如,网络接口适配器、板载收发机子系统等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备544等通信。计算机502可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机502的程序和数据可被存储在远程存储器/存储设备中,如与分布式系统相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机502可用于使用诸如IEEE 802.xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802.11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi网络使用称为IEEE 802.11x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关介质和功能)。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。

Claims (15)

1.一种图形系统(100),包括:
创建来处理用于图形输出的二维(2D)层类型的应用程序进程组件(102);以及
创建来接收所述2D层类型并将所述2D层类型处理成较大维度的场景的独立图形线程组件(106)。
2.如权利要求1所述的系统,其特征在于,所述独立图形线程组件执行所述2D层类型的呈现。
3.如权利要求1所述的系统,其特征在于,所述独立图形线程组件执行所述2D层到3D空间的合成。
4.如权利要求1所述的系统,其特征在于,所述独立图形线程组件执行所述2D层类型的动画。
5.如权利要求1所述的系统,其特征在于,还包括创建信道的线程管理组件,所述线程管理组件经由所述信道来在所述独立图形线程和所述应用程序进程之间传递命令、事件和通知。
6.如权利要求1所述的系统,其特征在于,所述线程管理组件的代码在所述应用程序进程上以及在所述独立图形线程上运行。
7.如权利要求1所述的系统,其特征在于,所述2D层类型是被结构化为所述应用程序进程组件中的层树的许多层类型中的一个。
8.如权利要求7所述的系统,其特征在于,所述独立图形线程组件在从所述应用程序线程组件接收到命令以及从动画管理器接收到更新时呈现所述层树。
9.一种由处理器执行的计算机实现的图形处理方法,包括:
启动应用程序的应用程序线程来处理2D层(300);
启动独立图形线程来将所述2D层处理成3D空间(302);
在所述应用程序线程和所述图形线程之间传递命令(304);
在所述图形线程上将所述2D层处理成3D场景(306);以及
将所述3D场景发送给显示设备以供演示(308)。
10.如权利要求9所述的方法,其特征在于,还包括在所述图形线程上将所述2D层合成为3D场景。
11.如权利要求9所述的方法,其特征在于,还包括将动画和转换调度到所述2D层上。
12.如权利要求9所述的方法,其特征在于,还包括经由线程管理器在所述应用程序线程和所述图形线程之间传递事件和通知。
13.如权利要求9所述的方法,其特征在于,还包括挂起所述应用程序线程来等待从所述图形线程返回的同步命令的响应。
14.如权利要求9所述的方法,其特征在于,还包括在所述图形线程处应用过滤器和效果。
15.如权利要求9所述的方法,其特征在于,还包括在所述应用程序线程和所述图形线程之间分派同步和异步命令。
CN201110159091XA 2010-06-02 2011-06-01 使用多个执行线程的层合成、呈现和动画 Pending CN102339474A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/791,888 2010-06-02
US12/791,888 US20110298787A1 (en) 2010-06-02 2010-06-02 Layer composition, rendering, and animation using multiple execution threads

Publications (1)

Publication Number Publication Date
CN102339474A true CN102339474A (zh) 2012-02-01

Family

ID=45064118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110159091XA Pending CN102339474A (zh) 2010-06-02 2011-06-01 使用多个执行线程的层合成、呈现和动画

Country Status (4)

Country Link
US (1) US20110298787A1 (zh)
EP (1) EP2577612A4 (zh)
CN (1) CN102339474A (zh)
WO (1) WO2011152845A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130063446A1 (en) * 2011-09-10 2013-03-14 Microsoft Corporation Scenario Based Animation Library
US9633408B2 (en) 2013-06-14 2017-04-25 Microsoft Technology Licensing, Llc Coalescing graphics operations
US9430808B2 (en) * 2013-06-19 2016-08-30 Microsoft Technology Licensing, Llc Synchronization points for state information
US9305381B1 (en) * 2013-08-27 2016-04-05 Google Inc. Multi-threaded rasterisation
US10217183B2 (en) * 2013-12-20 2019-02-26 Nvidia Corporation System, method, and computer program product for simultaneous execution of compute and graphics workloads
US10002115B1 (en) * 2014-09-29 2018-06-19 Amazon Technologies, Inc. Hybrid rendering of a web page
US10102664B1 (en) * 2014-12-03 2018-10-16 Charles Schwab & Co., Inc. System and method for causing graphical information to be rendered
CN109508212A (zh) * 2017-09-13 2019-03-22 深信服科技股份有限公司 图形渲染方法、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020008703A1 (en) * 1997-05-19 2002-01-24 John Wickens Lamb Merrill Method and system for synchronizing scripted animations
US20040128671A1 (en) * 2002-12-31 2004-07-01 Koller Kenneth P. Software architecture for control systems
CN1860505A (zh) * 2003-10-23 2006-11-08 微软公司 图形处理系统中的统一合成引擎的系统和方法
US20080150949A1 (en) * 2006-12-22 2008-06-26 Jian Wei Quick pixel rendering processing
US20080313553A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Framework for creating user interfaces containing interactive and dynamic 3-D objects

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535878B1 (en) * 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
US6229542B1 (en) * 1998-07-10 2001-05-08 Intel Corporation Method and apparatus for managing windows in three dimensions in a two dimensional windowing system
US6765571B2 (en) * 1999-09-24 2004-07-20 Sun Microsystems, Inc. Using a master controller to manage threads and resources for scene-based rendering
US6954933B2 (en) * 2000-10-30 2005-10-11 Microsoft Corporation Method and apparatus for providing and integrating high-performance message queues in a user interface environment
US7353252B1 (en) * 2001-05-16 2008-04-01 Sigma Design System for electronic file collaboration among multiple users using peer-to-peer network topology
US7249355B2 (en) * 2002-12-18 2007-07-24 Microsoft Corporation Unified network thread management
US7170526B1 (en) * 2004-01-26 2007-01-30 Sun Microsystems, Inc. Method and apparatus for redirecting the output of direct rendering graphics calls
US7154500B2 (en) * 2004-04-20 2006-12-26 The Chinese University Of Hong Kong Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer
US7286132B2 (en) * 2004-04-22 2007-10-23 Pinnacle Systems, Inc. System and methods for using graphics hardware for real time two and three dimensional, single definition, and high definition video effects
US20060129634A1 (en) * 2004-11-18 2006-06-15 Microsoft Corporation Multiplexing and de-multiplexing graphics streams
US20080046557A1 (en) * 2005-03-23 2008-02-21 Cheng Joseph C Method and system for designing, implementing, and managing client applications on mobile devices
US9019300B2 (en) * 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
US20090315897A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Animation platform
US20100141658A1 (en) * 2008-12-09 2010-06-10 Microsoft Corporation Two-dimensional shadows showing three-dimensional depth

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020008703A1 (en) * 1997-05-19 2002-01-24 John Wickens Lamb Merrill Method and system for synchronizing scripted animations
US20040128671A1 (en) * 2002-12-31 2004-07-01 Koller Kenneth P. Software architecture for control systems
CN1860505A (zh) * 2003-10-23 2006-11-08 微软公司 图形处理系统中的统一合成引擎的系统和方法
US20080150949A1 (en) * 2006-12-22 2008-06-26 Jian Wei Quick pixel rendering processing
US20080313553A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Framework for creating user interfaces containing interactive and dynamic 3-D objects

Also Published As

Publication number Publication date
EP2577612A1 (en) 2013-04-10
US20110298787A1 (en) 2011-12-08
EP2577612A4 (en) 2014-03-12
WO2011152845A1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
CN102339474A (zh) 使用多个执行线程的层合成、呈现和动画
US20200007602A1 (en) Remote desktop video streaming alpha-channel
CN104572243B (zh) 用于共享Java虚拟机的方法和系统
EP3549003B1 (en) Collaborative manipulation of objects in virtual reality
CN102113303B (zh) Gpu场景构成和动画
US20120320073A1 (en) Multiple Spatial Partitioning Algorithm Rendering Engine
USRE46386E1 (en) Updating a user session in a mach-derived computer system environment
CN105706037B (zh) 管理以结构化格式的墨水内容
CN107533771A (zh) 通过3d模型重建进行网格简化
US20170192734A1 (en) Multi-interface unified displaying system and method based on virtual reality
CN102007512A (zh) 多层幻灯片过渡
US9479570B2 (en) System and method for processing load balancing of graphic streams
CN108027957A (zh) 用于上下文切换的上下文信息的高效保存和恢复
CN111602118B (zh) 实现虚拟机的音频,视频和控制系统
CN109669657A (zh) 一种用于进行远程文档协作的方法与设备
CN107211550A (zh) 用于无线机架管理控制器通信的系统和方法
CN102567459A (zh) 作为呈现者和观众的上下文的呈现进展
CN104603752A (zh) 跨平台共享应用代码
CN105450821B (zh) 电话呼叫方法及装置
CN107301220A (zh) 数据驱动视图的方法、装置、设备及存储介质
CN113874868A (zh) 用于3d环境的文本编辑系统
CN110443062A (zh) 多租户数据库的操作方法、装置和计算机设备
CN103209178B (zh) CloudStack平台上兼容SPICE协议的方法
KR20130120705A (ko) 인터렉티브 전시환경을 위한 통합 미디어 프레임 제공장치
US10643395B2 (en) Real-time spatial authoring in augmented reality using additive and subtractive modeling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150730

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150730

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120201