TWI344603B - System and method for a unified composition engine in a graphics processing system - Google Patents

System and method for a unified composition engine in a graphics processing system Download PDF

Info

Publication number
TWI344603B
TWI344603B TW093121638A TW93121638A TWI344603B TW I344603 B TWI344603 B TW I344603B TW 093121638 A TW093121638 A TW 093121638A TW 93121638 A TW93121638 A TW 93121638A TW I344603 B TWI344603 B TW I344603B
Authority
TW
Taiwan
Prior art keywords
resource
integrated
orchestration
engine
orchestration engine
Prior art date
Application number
TW093121638A
Other languages
English (en)
Other versions
TW200515187A (en
Inventor
Gregory D Swedberg
Paul David
Andrey Arsov
Donald B Curtis
Leonardo E Blanco
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 TW200515187A publication Critical patent/TW200515187A/zh
Application granted granted Critical
Publication of TWI344603B publication Critical patent/TWI344603B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Description

1344603 玖、發明說明: \ 【發明所屬之技術領域】 本發明係關於整合型編排引擎之系統及方法,其能 結合原先為個別的編排服務。 【先前技術】 在目前的電腦系統中,繪圖及視訊硬體的性能提昇 速度非常快。事實上,目前電腦系統内的繪圖系統在某種 程度上可被視為一種副處理器而不是單纯的繪圖子系統。 同時,不論是在觀看顯示器、電視或行動電話顯示螢幕等, 消費者對影像顯示品質的要求愈來愈高。 然而,記憶體和匯流排的速度尚無法趕上主處理器 及/或繪圖處理器的進展速度。因此,電腦系統上的傳統加 速繪圖之即時運算模式已接近其功能極限。在此同時,開 發人員與消費者均需要習知圖形視窗架構無法提供的新特 點及特殊功效。 雖然某些遊戲程式的設計已運用到繪圖硬體的優 點,但此類遊戲程式在運作上的需求與桌面應用程式或類 似程式之需求並不相同;特別是,此類遊戲程式與其它同 時執行中的程式無關。不同於遊戲程式,應用程式必須和 其它應用程式共用繪圖和其它系統資源。然而,在繪圖處 理工作方面,應用程式通常被撰寫成合作式泛機 (machine-wide)共享模式。 舉例而言,以桌面應用程式來執行動晝時,目前需 3 1344603 要專用的單獨目的程式碼,或利用另一種應用程式。縱使 是在此種情況,即使有可能可以在多重視窗化環境下達到 順暢的動畫效果,但並不容易得到此種效果。概括而言, 這是因為若要達到順暢且高速的動晝效果,必須在高畫面 格速率(frame rate)下進行動畫參數的更新並重新繪製佈 景(此時需要穿越及移動資料結構),而且最好以繪圖裝置 之硬體更新率進行。然而,更新動畫參數以及穿越並移動 定義出一個佈景的資料結構必須經過大量運算。需要製作 動畫效果的佈景愈大或愈多,則需要更多的運算量,如此 將會對順暢的佈景動畫之複雜度造成限制。 除上述問題之外,當繪圖硬體執行顯示更新時,動 晝的各個晝面格均需要經過運算、移動並預備妥當,以便 能夠顯示。若畫面格無法應硬體之要求而準備妥當,則畫 面格會丟失或造成延遲現象。若有過多的晝面格丟失,則 會出現動畫顯示呈現斷斷續續的現象。此外,畫面準備時 間若與晝面更新率不同步,則會發生吾人不希望見到的所 謂撕扯現象(tearing)。實際操作時,同時多工作業系統會 為系統上的眾多工作分配運算資源。然而,作業系統工作 排程器分配給畫面格處理的時間量鮮少能夠和繪圖硬體畫 面格速率匹配。因此,即使有足夠的運算資源,動晝系統 仍然會因為排程問題而丟失掉畫面格。舉例而言,動畫工 作的執行時間排程可能會來不及,或是在完成一個畫面格 之前就先被佔用排程時間,而且無法即時進行重新排程而 為下一個螢幕晝面的硬體更新提供下一個畫面格。若動畫 4 1344603 繪圖需要和視訊或其它非同步產生的畫面格加以編排,則 上述問題會變得更加複雜。 一般而言,習知用來備妥畫面格的模式(例如 WM_PAINT)需要大量的資料處理過程,以便趕上得到複雜 繪圖效果所需要的更新率。因此,當試圖以習知的模式來 獲得複雜的繪圖效果時,下一個畫面格的改變可能會併入 不同的畫面格,而不是藉著完成下一個畫面格來產生下一 個畫面格時間内的視覺效果,遂而導致可察覺到的不良視 覺效果。 上述美國專利申請案已載明一種用來控制繪圖輸出 的新模式。此種新模式為繪圖處理技術提供了若干重大的 改良。例如,美國專利申請案第1 0/1 84,795號已概括提供 多階繪圖處理之系統及方法,其中較高階的元件(例如作業 系統)係在相對較低的作業速率下執行大量運算來建構佈 景繪圖、更新動畫參數及轉置佈景繪圖之資料結構,藉以 將經過簡化的資料結構及/或繪圖指令傳給低階的桌面編 排元件。由於高階處理能夠大量簡化資料,使得低階元件 可以在較快的操作速率下(相對於高階元件而言)一例如相 當於繪圖子系統的畫面格更新率一為繪圖子系統處理資料 而獲得固定的輸出資料。儘管上述針對繪圖處理技術的改 良已提供許多優點,但仍有某些需要進一步改良之處。 【發明内容】 簡要而言,本發明提供整合型編排引擎之系統及方 5 1344603 法,其能結合原先為個別的編排服務。此種整合型編排引 擎能提供常駐的應用程式介面以及桌面編排器兩者所用的 編排服務。上述整合型編排引擎可結合兩種編排工作:編 排單一應用程式内容時所運用的常駐Αρι編排引擎:以及 編排所有視窗以產生最終顯示結果時所運用的桌面編排引 擎。桌面編排引擎與API編排引擎各扮演不同的角色,且 運用於不同的場合。桌面編排引擎是用來編排由其它處理 序(process)所建搆的内容、建構其本身最少的内容以實作 視窗格,以及利用繼承視窗管理程式(legacy window manager)(例如 User32)來作緊密的調整》API編排引擎是 用來控制編繪程序(rendering),以及編排單一應用程式的 所有内容,並提供有效率的遠端調用(remoting)機制。近來 對於API編排引擎與桌面編排引擎的使用需求改變,反映 在要求API編排引擎能夠主控來自於其它處理序和繼承子 視窗的内容,以及要求桌面編排引擎能夠對視窗格進行遠 端調用。若將上述兩種工作結合在一起,則可減少程式碼 重複的情形、擴大測試的範圍,並簡化諸如繼承視窗之交 互操作性、遠端調用和多重文件介面(Multiple Document Interfacing,MDI)等原本很複雜的啟用技術特點。 【實施方式】 本發明係概括關於整合型編排引擎(Unified Composition Engine, UCE)之系統及方法。本發明提供—種 編排應用程式和桌面兩種階層之輸出的方法,該方法能大 6 1344603 量減少程式碼重複的情形。 以下的說明分成三個部分。第一個部分說明實作本 發明的計算環境範例。第二個部分說明繪圖架構之範例。 第三個部分說明本發明之實施例。 計算環境範例 第1圖繪示適於實施本發明的計算系統環境1 0 0之 範例。計算系統環境1 0 0僅為一個範例,其並未有限定本 發明之應用範圍或功能性之意圖。計算環境1 0 0亦不應被 解讀為與作業系統環境1 〇 0之任何元件或其任何組合之間 存有任何關聯性或需求。 本發明可與其它多種一般或特殊用途計算系統環境 或架構一併實作。舉例而言,本發明所適用的習知計算系 統、環境及/或架構包括:個人電腦、電腦伺服器、掌上型 或膝上型裝置、平板裝置、多處理器系統、微處理器系統、 視訊轉換器、可程式化消費性電子裝置、網路個人電腦、 迷你電腦、大型主機電腦、包含任何上述系統或裝置的分 散式計算環境或類似裝置,但不以上述為限。 本發明可在以電腦可執行指令的一般背景下加以說 明,例如由電腦執行的程式模組。一般而言,程式模組包 含常式(routine)、程式、物件、組件、資料結構等。程式 模組可執行特定工作或抽象資料類型。本發明亦可在分散 式計算環境裡實施;在此種環境中,工作係由透過網路連 結的遠端處理裝置來執行。在分散式計算環境裡,程式模 7 1344603 組可存在於近端或遠端電腦儲存媒體’包括記憶體儲存裝 置。 請參照第1圖。可用來實施本發明的系統範例包含 一般用途計算裝置,此裝置在圖中為電腦110。電腦110 的元件包括處理單元1 2 0、系統記憶體1 3 0及系統匯流排 1 2 1,但不以上述為限;系統匯流排1 2 1可連接各種不同的 系統元件,其中包括將系統記憶體連接到處理單元120。 系統匯流排1 2 1可為任何一種匯流排結構,包括:記憶體 匯流排或記憶體控制器、週邊匯流排,以及使用各種不同 匯流排架構的本機匯流排。舉例而言,上述架構包括:工 業標準結構(ISA)匯流排、微通道趙系結構(MCA)匯流排、 擴展式標準結構(EISA)匯流排、符合視訊電子標準協會 (V E S A)的本機匯流排、加速影像處理埠(a G P)匯流排,以 及週邊裝置互連(pci)匯流排一亦稱作中層(Mezzanine)s 流排,但不以上述為限。 趙可為任何一種可供電腦110存取的媒體,其中包括揮發 性與非揮發性兩種媒體,以及移動式與非移動式媒體。例 如,電腦可讀媒體可包含電腦储存媒體和通訊媒體,但不 以上述為限。電腦儲存媒體包括揮發性與非揮發性媒體 移動式與非移動式媒體,並可以任何一種储存資訊的方法 或技術來實作;舉例而言’儲存的資訊包括電腦可讀指令' 資料結構、程式模組或其它資料。電腦儲存媒體包括. RAM、應、EEPR〇M、快閃記憶體或其它^體技^ CD-ROM、DVD或其它光碟 节保存體、磁卡匣、磁帶、磁碟 儲存體或其它磁性儲存步署 置’或疋其它任何一種可供電腦 1 1 0存取所需資訊的媒體 k不以上述為限。通訊媒體通 常可實作電腦可讀指令、資 叶,,'。構、程式模組或其它經過 訊號調變的資料一例如載,,虫七廿 y 戰'皮或其它傳輸機制,並且包括任 何一種資訊傳輸媒體6「調變 ^ ^ ^ y 跫貢抖訊唬」一詞意指一種具備 一個或數個特徵組的訊號, MM t 4知一種經過編碼處理而將資 訊編入的訊號。舉例而专,4 古达棚牧。通訊媒體可為有線媒體一例如 有線網路或直接網路連绫, ^ φ .. ( , 或疋無線媒體一例如聲波、無 線電波、紅外線或其它無 ^ Μ ^ ’媒體’但不以上述為限。電腦 可讀媒體亦包括上述任一 々里烯體之組合。 系統記憶體1 3 0具備椬 ^ t m 揮發性與/或非揮發性記憶體形 式的冤腩储存媒體,例 基 取記憶體(RAM)132。基太^記憶體(_)131及隨機存 在於ROM 13]裡,其內人〗入7輸出系統(BI0S)m通常存 -V r ^ t 、 3常式,例如在開機過程中,該常 式此協助電腦110内各 ^ ^ ^ 件之間的傳輪。RAM 1 32通常具 備#科和/或程式模組; ^ 和/¾程式, 早兀丨2〇可立即存取該等資料 ’ ’ 4往式模組,或供# ,田„。_ ! m ^ 、 早元12 〇在其上操作》例如,第 1圖緣不作業系統134、廊田和+ , 136 ία ίΐ 4· ^ 應用私式〖35以及其它程式模組 和程式資料137 不以上述為限。 電腦1 1 0亦可供廿 體,或是桠路… ’、它移動式/非移動式電腦儲存媒 圖㈣揮發性電腦儲存媒體。舉例而言,第1 碟機141可碟機151以及光碟機155;其中,硬 初式非揮發性的磁性媒體,磁碟機I 5】 9 可讀2 移動3 別種I 揮發*丨 位揮〗 似儲」 移動 121。; 介面 腦儲 程式 141 ; 及程 應用 相同 144、 目的 輸入 包括 指標 入裝 類似 入介 等移動式非揮發性的 “揮發性“… 機155則可讀寫 ^ 例如CD R〇M或其它光媒體》 取適用於作業環境範例 、 生電腦儲存媒體尚包括:動式揮發性/非 以匕栝.磁帶匣、快閃記憶體卡、數 /碟片、數位影㈣ '固態RAM、固態議及類 子媒體&不以上述為限。硬碟機⑷通常是透過非 式記憶體介面—如介面14〇 _連接到系統匯流排 链碟機⑴和光碟機155則通常是藉由移動式記憶趙 —例如介面150—連接到系統匯流排121。 以上說明並繪示於第丨圖的磁碟機及其所伴隨的電 存媒體能為電腦1 10儲存電腦可讀指令、資料結構、 模組及其它資料。舉例而言,第丨圖所繪示的硬碟機 丁儲存作業系統1 4 4、應用程式1 4 5 '其它程式模組1 4 6 式資料1 47。需注意的是,這些元件與作業系統丨34、 程式135、其它程式模組136及程式資料137可以是 或不同的元件。在此以不同代表符號來標示作業系統 應用程式145、其它程式模組146及程式資料147, 為表示這些元件是另一組類似元件。使用者可以透過 裝置而將指令及資訊輸入電腦2 0裡;輸入裝置的例子 :平板(電子數位化板)1 64、麥克風163、鍵盤162及 裝置1 6 1 ( —般稱作滑鼠)、轨跡球或觸控板。其它輸 置(未繪示)尚包括搖桿 '遊戲板、衛星碟、掃描器或 的輸入裝置。上述及其它輸入裝置經常透過使用者輸 面160而連接到處理單元12〇。使用者輸入介面160 10 1344603 連 接 系統匯流排, 但亦 可藉 由 別 種 介 面 及 匯 流 排 架 構 予 以 連 接 ,例如透過平 行埠 、遊 fi 或i i用序; Η | S ; 流排(USB)。 監 視 器1 9〗或別種顯 示裝 置 亦 經 由 介 面 — 例 如 視 訊 介 面 191 - -連接到系統匯流排1 2 1。 監 視 器 1< 亦 可 與 觸 控 螢 幕 面 板 193或類似裝 置整 合在 — 起 〇 觸 控 螢 幕 面 板 1! 93 可 提 供 數 位化輸入,例 如經 由一 個 介 面 — 如 控 螢 幕 介 面 1 92 — 將 手寫資料輸入 到電 腦系 統 1 10 0 需 注 意 的 是 t 監 視 器 和 /或觸控螢幕面板可以實體連接收納計算裝 11 0 的 箱 盒 1 例如板式個人 電腦 ,其 中 觸 控 螢 幕 面 板 11 93 實 質 上 是 做 為 平板1 6 4。此 外, 如計 算 裝 置 1 1 [0 的 電 腦 亦 可 納 入 其 它 週 邊輸出裝置, 例如 揚聲 器 1 95 及 印 表 機 ] 96 d 週 邊 輸 出 裝 置可經由輸出 週邊 介面 194 或 類 似 介 面 予 以: 連‘ 接 0 利用1一台或 數台 遠端 電 腦 (例如遠端電腦 180) 之 邏 輯 連 線即可在網路 化環 境中 操 作 電 腦 1 1 0 〇 遠 端 電 α«< 細 1 80 可 為 個人電腦、伺 服器 '路 由 器 網 路 個 人 電 腦 > 對 等 裝 置 (P eer device)或 其它 共用 網 路 即 點 0 雖 然 第 1 圓 僅 繪 示 對 個 記憶體儲存裝 置1 81, 但 遠 端 電 腦 1! ?0 通 常 具 備 以 上 於 電腦Π 0所描 述的 多種 或 所 有 元 件 0 第 1 圖 所 繪 示 的 邏輯連線包括區域網路(LAN)丨71與廣域網路(wan)173, 但不以此為限。此類網路環境經常出現在辦公室、企業電 腦網路、内部網路及網際網路》 當使用於LAN網路環境時,電腦n〇是透過網路介 面或轉接器170連接到LAN 171。當栋田认A A s 反 / 1 s便用於WAN網路環 立見時’電腦丨丨〇通常具備數據 吧Φ /、IW取佩愧i 2或其它可在WAN 1 7 3 11 1344603 上建立起通訊連線的裝置,例如網際網路。 經由使用者輸入介面丨6〇或其它適當的機制:據機172可 流排1 2】,其中數據機丨72可為内建式或夕接到系統匯 在網路化環境裡,電腦no所伴隨的裎式,式數據機β 儲存在遠端記憶體儲存裝置内。舉伽而,模魬或其部分可 的遠端應用程式185是位於記憶體裝置μ 圓所繪不 值得注意的是,圖式所示網路連線僅為說::不此為限。 本發明亦可使用其它能在各電腦之„ β 範例,根據 置。 間建立起通訊連結的裝 繪囷架構之範例 在一實施例中,本發明概括被 疊,其中應用程式、桌面系統^體整合層堆 到高階視訊系統,例如藉著直 式將各種資料提送 解譯為呼叫的標記Ckupm^視訊ΑΡΙ層呼叫,或將 是根據提送給它的資料來編續階::二1層。視訊系統 個綠製時間點釺對該佈景圖形進^佈景圖形,且在某-資料,並以非同步化的方式和堆:理而成為指令及其它 通,藉以將該等相令及其它資料^的編排器服務進行溝 料結構。低階蝙m ,理成為其本身保留的資 的通訊内容結合成I/子:?於多重視訊系統(用戶端 結合成動畫指入 、統把夠解讀的繪圖指令,並且 隔。低階編排器:L改保留繪圖資料某些部分的動畫間 新率的速率,將、統以相备於(正如或接近)繪圈硬體之更 將上述繪圖指令提供到繪圖子系統。 12 1344603 本發明之一技術態樣係概括關於一種接收及處理程 式碼啟始的續圖指令及其它資訊,藉以在系統顯示器上繪 製圖形輸出。為達此目的,本發明提供實作各種元件、資 料結構及通訊協定的系統及方法,該等元件、資料結構及 通訊協定能共同建構出一種高階編排引擎,例如在使用者 介面中的執行緒(t h r e a d)及編繪視訊系統所伴隨的執行 緒’藉以將資料提供到低階動畫及編排引擎或編排器。視 訊系統可將函式(例如應用程式介面API)提供給應用程式 及類似程式’讓該等程式能將資料結構、繪圖原始值(指令) 及其它與鳍圖有關的資料填入佈景圖畫。 第 2圖係概括繪示 API編排引擎之分層化架構 200。如第2圖所示,開發程式碼2〇2(例如應用程式、作 業系統元件或類似元件)即可以一種或數種不同方式輸出 繪圖資料。輸出繪圖資料時,可以透過攝像2 0 4、向量繪 圖單元206 ’以及/或透過對視訊應用程式介面(API)層21 2 直接呼叫函式/方法式。向量繪圖單元的運用已描述於上述 專利申請案,其發明名稱為"Markup Language and Object Model for Vector Graphics";與API層的直接互動則已描 述於上述共同審查中的專利申請案,其發明名稱為"Visual and Scene Graph Interfaces"。 概括而言,攝像機制 204可為程式碼提供一種載 入、編輯和影像存播的機制,例如點陣圖(b i t m a p)。這些 影像可供系統的其它部分運用,而且還有一種使用原始繪 圖碼來直接繪製影像的方式。向量繪圖單元206能提供另 13
種與視訊系統之物件模型相容的繪圖方式。向量繪圖單 元 2 0 6 可 tfa t μ I 田知^己语吕建立,單元/屬性系統208和呈現系統 2 1 〇的處理則可對視訊API層2 1 2作適當的呼叫。概括而 °向量綠圖單元206會被剖析成繪製佈景圖形的物件模 V4-_ y _ ’’、可經由單元階層或單元/屬性系統2〇8及呈現 系統1〇而提供給佈景圓形,或是以更有效率的方式在資 源階層提供。 在實施例中,繪圖層架構200具備視訊系統2 1 4。 視訊系統2 1 4具備或伴隨有佈景圖形2 1 6,其具備階層化 置的物件’並藉由直接或間接呼叫視訊API 212而建 構。概括而言’佈景圊形能塑造API呼叫所產生的結構性 特質及特定編繪資肖,並可提供一組供應用程式尋址的讀 取服務或特fi。概括而言’視訊^^層212為程式碼(及呈 現系統)提供佈景圖形216之介面,其中包括建立物件、開 啟及關閉物件以提供資料等能力。換言之,視訊系統川 能呈現整合型媒體API層212,開發人員可藉此整合型媒 體API層2 1 2來表達關於圖像和媒體的想法’以顯示圖像 資訊,並為潛在平台提供足夠的資訊,以便 Τ σ月b马程 式碼提供最佳化的硬體使用環境。例如,潛在 T 口將負責 處理快取、資源協商及媒體整合。 根據本發明之技術態樣,視訊系統214 1作為編排 器(低階編排及動畫引擎)218的用戶端,並 项畜的資料 傳送到編排器,以便編繪所想要的畫面格;以下會有 步的說明。概括而言,視訊系統2丨4具備使用八 ’"面元件。 14 1344603 22〇整合在一起,藉以提供陳述式(或别種)動畫控制(例如 動畫函式、時間間隔及其它參數)以及時序控制。需注意的 是,上述動畫系統能將動畫值傳遞到系統内幾乎所有的位 置,其中包括:例如在元件屬性層、視訊API層212之& β ^内 以及其它任何一種資源之内。時序系統疋出現在元件 訊層。 編排器2 18能管理佈景之編排、驅動及蝙繪,& 而1$ 再將佈景送到繪圖子系統222。在一實施例中,上诚、a 地規ti
系統具備使用者介面執行緒,其可與提供動畫及碥排功^ 的第二個執行緒(在同一個處理序内)協同運作。因此 —個視訊系統内均有一個編排元件’且與(不同處理序 執行來自於多個應用程式之佈景圖像編繪的蝙排元件、 開。在此需注意的是,有時在較高的階層執行編紛工作77 為有利,例如當多個應用程式發出較低階層的服務^ / 時,視訊系統就會在各個應用程式上啟用;藉此 ^ 4 ^ ’經由招 像機制而在較高的階層上執行耗時或特定應 .程式的雜 增·’並將點陣圖的參考值傳送到編排器2 I 8。
王锎卻窃引擎與呆囟塒排器弓丨擎兩者 的編排方式即是以上針對API編排引擎所描述的 式。將API編排引擎與桌面編排引擎兩者的低 • 1¾瑪排 結合在一起即能構成本發明之整合型編排引取 芊。整合 排弓丨擎能為API編排引擎與桌面編排引擎兩去 令设供資
理功能,並產生佈景以供顯示;以下將會藉A 曰w田貫施例 說明。 16 U44603 或以 式的 資铒 式的 236 ’ 可傳 理近 實施 構。 404 编排 用戶 階層 層則 擎之 型編 而當 420 用戶 如第3圖所示,除近端顯示的輸出以外,< 以選用 附加的方式讓編排器218(或類似元件)提供具通當格 编繪及動畫指令給低階列印碼2 3 0 ’以便將固定影像 傳送到印表機232或類似裝置,並且/或者將具適當格 编搶指令及簡易動畫間隔提供給低階終端傳輸词服器 進而傳送到遠端機台238。需注意的是,在網路上亦 遞更多的資訊’例如吾人可能希望讓遠端機台能夠處 端的滑鼠翻轉效果’而且不會有網路承載。 例 第4圓繪承運用本發明之整合型編排引擎的概略架 整合型編排弓丨擎之架構包含主要資源表402、視訊樹 •編排裝置介面4 0 6、變量佇列4 0 8、告知佇列4 1 0、 樹4 1 2,以及從屬資源表4 1 4。 整合型編排引擎之架構在邏輯上分為兩層:上層或 層40 1 (即視訊系統)及下層;上層包含視訊樹404(即 化資料結構)’其為整合型編排引擎之主要用戶端,下 為整合型編排引擎420。視訊樹404為整合型編排引 間的互動提供其主要用戶端’並提供與用戶端及整合 排引擎所維護的資源表(例如402、4 1 4)之間的互動。 根據本發明’桌面視窗管理程式可取代視訊樹404 作整合型編排引擎42〇之用戶端。當整合型編排引擎 用來做為桌面編排引擎時,桌面視窗管理程式即成為 端。當視訊樹4〇4及桌面視窗螫理程式是整合型編排 17 1344603 引擎420的用戶端時,相同的函式庫會執行相同的編排工 作。不同的處理程序會為應用程式的視訊樹和桌面管理程 式執行,而且各自處理不同的資料(即工作量不同),但整 合型編排引擎420所用的協定不變。在實施例中,桌面視 窗管理程式所用的協定包含應用程式是用戶端時所採用的 協定之功能性次集。 舉例而言,以下將以應用程式為用戶端的情況來說 明用戶層40 1與整合型編排引擎420之間以及與資源管理 之間的互動。視訊樹4 0 4代表將要呈現的應用程式或文件 佈景。此佈景可以是非常大的佈景,而且可能遠大於當時 可見的尺寸。編繪指令列表(即R e n d e r D a t a)和其所使用的 資源一例如幾何形狀、點、筆、刷子、影像等一能定義出 各圖像(如405)之内容。這些資源是由主要資源表402進 行管理,而主要資源表402包含各資源與裝置和解析度無 關的資料。在某些情況下,主要資源表402包含一組與資 源相關的格式。主要資源表402是負責管理資源的使用期 間(例如藉由參考計數)。 顯示視訊樹之後,才會將關於視訊樹(如404)或資源 的資訊傳送到整合型編排引擎420。當視訊樹(如404)與編 繪目標產生關聯時,視訊樹會將該樹之表述式連同適當的 資源傳送到整合型編排引擎4 2 0。通訊聯繫是經由編排裝 置介面406之變量佇列408,並以非同步的方式進行。只 有潛在可見的視訊樹404之次集一在此統稱為編排樹(即編 排器資料結構)一表示於整合型編排引擎420。當視訊樹連 18 1344603 接到一個已知解析度的編繪目標時即顯示出該視訊樹。因 此,用戶端能夠知道由物件完全轉換成編繪目標空間。 傳送到整合型編排引擎42 0的資源會直接由整合型 編排引擎予以實現’而不需要傳送回叫訊號(callback)或必 要的實現關係(realization)。諸如"Text”與“Images”此 類資源非常耗費(相對於處理使用量而言)而不易實作,因 而會在視訊樹404内被轉換成適當的「編繪備妥 (read-to-render)」格式。將資源轉換成容易編繪的格式, 將可節省整合型編排引擎420所進行之編排的經常性使用 量°若資源需要任何針對使用者碼的叫回訊號,則資源同 時也會在視訊樹404裡實作。若有需要,整合型編排引擎 420本身可以將其它諸如‘‘ Ge〇metry”等資源由整合型編 排引擎420進行高效率格形化(tessei丨ated)而成為正確的 格式。 整合型編排引擎420可管理從屬資源表414内的資 源。在實施例中’從屬資源表4 1 4不會執行任何形式的參 考-t數,因此可以提高效能。能夠達成此項功效的原因在 於從屬資源表414的資源可在編排裝置所進行的單獨編排 執行緒上取用。在實施例中’從屬資源表4丨4内的所有資 源亦存在於主要資源表4〇2。主要資源表4〇2能透過序列 化變量件列408之需求而明確地控制從屬資源表4 1 4的使 用期間。整合型編排引擎420藉由控制代碼(handle)來參 用資源。在實施例中,若資源尋址失敗,整合型編排引擎 420會在告知佇列4丨〇中登載一個訊息,並且略過要求該 19 1344603 項資源的處理序。整合型編排引擎4 2 0是以單獨執y %订緒的 方式執行,並在固定的編排迴圈内執行。 本發明之整合型編排架構的技術態樣是—藉缸此 對資 源架構之運用。一項資源可以定義為「在編繪要灰τ H文水不同解 析度及/或實體裝置之佈景實現關係所需要的任何物件.其 在編排樹内會被多次運用;或可透過如動畫而改m,# 叉並與 其使用者無關」。資源表述於整合型編排引擎420和用戶 厂 層4 0 1,而以列表(如主要資源表4 0 2)中的紀錄型態呈現 並藉由控制代碼加以參用。使用資源的物件即是用控制代 碼來達此目的。控制代碼可以在資源表(如主要資源表4〇2) 查詢得到,以取得指向實際物件的指標。資源能使其本身 序列化、實施更新’以及提供特定解析度和裝置之實現關 係。 資源概括可以區分為幾種類型,例如螬·圖資源、數 值資源和結構化資源。繪圖資源是指由編繪層所定義的物 件’並可由該層直接取用。繪圖資源的範例包括:
RenderData、Bitmap、Image、Glyphrun、Geometry 及 Brush 等。繪圖資源可以進一步區分為簡易與複雜兩類。 在編排過程中’利用裝置與解析度無關的原始資 料’可以直接實現具備非常低且固定編繪成本的繪囷資 源。Geometry是一種簡易繪圖資源,因為在整合型編排引 擎420之編排迴圈内’其可經過高效率的格形化處理而成 為最終所需的解析度。相較之下,複雜資源需要複雜的運 算、叫回使用者碼或透過輸入/輸出來產生實現關係。在實 20 1344603 施例中’複雜繪圖資源不是藉由整合型編排引擎 實現。相反地’複雜繪圖資源的適當實現關係是 排之前提供於用戶端層401。「Image」是複雜資 範例。Image是從磁碟讀出、經過解碼、以適當 進行取樣,並接受過濾處理。 數值資源代表一種供另一資源運用的簡易 畫值。數值資源的範例包括:Double、Point、
Transform。舉例而言,RenderData資源可以透過与 資源來繪出一條線段;在此當中的一個點可以藉 應用程式的指令加以改變。數值資源可以是靜態 源。若數值資源是動態資源,則該數值資源具備 值如何隨著時間改變的時間間隔資料。 結構資源是在編排過程中會用到的物件, 編繪處理的一部份。這些物件是以資源的形式實 透過變量佇列參與更新,並可利用Value資源來 間隔值。目前提到的結構資源包括Composition R e η d e r T a r g e t s 〇 一般而言,資源必須先經過實現才能夠被 現關係可以代表「一種資源表述式,其適於給定纪 並能備妥而供特定裝置運用」。舉例而言,實現關 一種為特定解析度和轉換進行格形化處理而成為 幾何結構’而且可能已經載入視訊卡上的頂, (vertex buffer)。實現關係可以經由整合型編排弓| 要求而被建立’或是在用戶端層401建立並傳送 420予以 在進行編 源的·—個 的解析度 可變或動 Color 及 ^ 用 Point 由動畫或 或動態資 定義出數 但不屬於 作,其可 更新時間 Node 與 運用。實 I解析度, 係可以是 三角形的 路緩衝區 擎420之 到整合型 21 1344603 編排引擎42 0。若無法找到或建立經過要求的資源實現關 係,則會透過告知佇列4 1 0而將一項告知訊息排入通往用 戶端層4 0 1的佇列中。此告知訊息會指出資源控制代碼、 轉換以及所需要的裝置,連同使用的實現關係之所有轉換。 關於如何管理資源本身的問題亦同等重要。資源存 在某些可能有相互矛盾的需求:有效率的使用期間管理, 使得資源能夠儘快被解除;記憶體可能很大,因此需要有 效率的記憶體儲存;多執行緒安全控制代碼處理;即使預 估使用的資源不存在,健全完整的程式碼仍能運作;以及 有效率的實現關係尋址,期能確保順暢的編排過程。如圖 所示的整合型編排引擎之架構可將上述需求分成兩組,其 中主要資源表402符合第一組需求,從屬資源表41 4則符 合第二組需求。 主要資源表402經過完整地參用計數而有可靠且有 效率的記憶體管理,並且經過同步化而獲致可靠的執行 緒。參用計數是指特定資源被運用的次數。相較之下,從 屬資源表4 1 4是在單獨的執行緒上執行,並使用一種無須 參用及鎖定樹的設計。 主要資源表402能管理在用戶端層401應用程式内 所運用的所有資源。主要資源表402負責提供控制代碼; 參用計數控制代碼紀錄、資源及實現關係;將資源傳送到 從屬資源表4 1 4並控制從屬資源表4 1 4之資源的使用期 間。主要資源表402可以管理數萬個物件。大部分的物件 在當時並未顯示;然而,一旦物件被運用於顯示時,視訊 22 1344603 樹404就會建立資源。當視訊樹404被顯示時,視訊樹404 會被執行,而且必須用到的資源會被傳送到整合型編排引 擎420 ;在此,上述資源是在從屬資源表4 1 4内接受管理。 當編排過程不再需要用到特定資源時,視訊樹404會聯繫 編排裝置(例如第2圖的2 1 8 )並刪除該項資源。若某一應 用程式經過多點傳送(multicast)而被傳送到數個檢視器 (viewer),則視訊樹404會將同樣的資訊傳送到數個編排 裝置。主要資源表402可追蹤哪一個編排裝置適用各項資 源之表述式。 根據本發明之技術態樣,用戶端層4 0 1與整合型編 排引擎420之間可以共享資源資料。當共享的資料符合下 列條件時,資源資料即可成為共享的資料:一經建立,共 享的資料即被歸類為「唯讀」性質;在「複製」到整合型 編排引擎420之前,共享資料是完整的資料;視訊樹404 控制共享資料的使用期間;以及整合型編排引擎420之物 件已先由視訊樹4 0 4的明確要求而被刪除。上述必要條件 能確保從屬資源表4 1 4内的資料處於和主要資源表402 — 致的狀態。 第5圖繪示單一應用程式領域所運用的本發明多重 整合型編排引擎(UCEs)之概略架構。此種架構具備位於用 戶端層的單一應用程式領域,但具備多個與該應用程式有 關的整合型編排引擎以供佈景之編排。邏輯編排裝置(例如 編排裝置 U C E C)能定義應用程式(即編排用戶端)與各個 整合型編排引擎之間的連結關係。舉例而言,當需要遠端
23 1344603 協助或有其它狀況時,就有需要用到上述架構。在此 況下,單一應用程式會顯示於網路上一個以上的機台 以配合單一應用程式領域來使用的整合型編排引擎的 並不限定於如圖所示的三個引擎,其數量是依照需求λ 第6圖繪示本發明之單一整合型編排引擎所運 多重應用程式領域之概略架構。此種架構具備位於用 層的多個應用程式領域,但具備單獨一個與多重應用 有關的整合型編排引擎以供佈景之編排。邏輯編排裝ΐ 如編排裝置 U C E C)能定義各個應用程式(即編排用/ 與整合型編排引擎之間的連結關係。舉例而言,當單 個計算裝置上的多個應用程式均需要用到其自己的 時,此時即可運用上述架構。可以配合單一整合型編 擎來使用應用程式領域的數量並不限定於如圖所示的 領域,其數量是依照需求而定。 以上的詳細說明、範例及資料係為提供關於製 使用本發明之編排系統及方法的完整說明。在本發明 神及範圍内有多種實施例,因此本發明界定於後附之 專利範圍。 【圖式簡單說明】 第1圖繪示計算裝置之實施例,該計算裝置適用於本 之實施例。 第2圖係概括繪示本發明之API編排引擎之分層化架 第3圖為可納入本發明的媒體整合層架構之方塊圖。 類情 〇 可 數量 i定。 用的 戶端 程式 t (例 5端) 獨一 領域 排引 三個 作及 之精 申請 發明 構。 24 1344603 第4@緣=用本發明之整合型編排引擎的概略架構。 第5圖燴7^應用程式領域(appHcati〇n d〇main)所運用 的本發明多重整合型編排弓丨擎之概略架構。 第6圈燴不本發明之單一整合型編排引擎所運用的多重應 用程式頜域之概略架構。 【主 要元件符號說明】 100 計算系統環境 110 120 處理單元 121 130 系統記憶體 13 1 132 隨機存取記憶體(ram) 134 133 基本輸入/輸出系統(Bios) 135 應用程式 136 137 程式資料 138 140 介面 141 144 作業系統 145 146 其它程式模組 147 150 介面 15 1 152 移動式非揮發性的磁碟 155 156 移動式非揮發性光碟 160 16 1 指標裝置 162 163 麥克風 164 170 網路介面 17 1 172 數據機 173 電腦 系統匯流排 唯讀記憶體(ROM) 作業系統 其它程式模組 程式資料 硬碟機 應用程式 程式資料 磁碟機 光碟機 使用者輸入介面 鍵盤 平板 區域網路 廣域網路 25 遠 端 電 腦 18 1 1己 憶 體 儲 存 裝 置 遠 端 應 用 程 式 視 訊 介 面 19 1 監 視 器 觸 控 螢 幕 介 面 193 螢 幕 面 板 輸 出 週 邊 介 面 195 揚 聲 器 印 表 機 200 編 排 引 擎 之 分 層化架構 程 式 碼 204 攝 像 機 制 向 量 繪 圖 單 元 208 單 元 /屬 性系 级 呈 現 系 統 212 視 訊 API 層 視 訊 系 統 216 佈 景 圖 形 編 排 器 220 時 序 及 動 畫 系 統 繪 圖 子 系 統 230 列 印 層 印 表 機 236 終 端 傳 m Ί司 服 器 遠 端 機 台 視 訊 系 統 402 主 要 資 源 表 視 訊 樹 405 圖 像 編 排 裝 置 介 面 408 變 量 佇 列 告 知 Ί9 列 4 12 編 排 樹 從 屬 資 源 表 420 整 合 型 編 排 引 擎 26

Claims (1)

1344603 縝hHb戎號專利案丨科:丨月修正 拾、申請專利範圍: 1. 一種在一計算環境中之系統,該系統包含: 一視訊系統(2 1 4、4 0 1 ),該視訊系統經配置成接收來 自於一程式與一視窗桌面管理程式兩者的呼叫,藉以建構 —階層化資料結構(404 ); 一整合型編排引擎(218、420),該整合型編排引擎接 收來自該視訊系統之指令,其中該整合型編排引擎建構一 編排器資料結構(4 I 2 ),藉以回應該等指令而提供繪圖輸 出,且其中當回應該視窗桌面管理程式時,該整合型編排 引擎所用之協定包含回應於該應用程式時該整合型編排引 擎所用之該等協定的一功能性次集; 一主要資源表(402),其包含於該視訊系統,其中該 主要資源表包含一第一資源列表,該第一資源列表係供該 應用程式與該視窗桌面管理程式使用;及 一從屬資源表(4 1 4 ),其包含於該整合型編排引擎, 其中該從屬資源表包括提供給該整合型編排引擎的一第二 資源列表,該從屬資源表係由該主要資源表控制該從屬資 源表(4 1 4 )的該使用期間而管理; 一告知佇列(410 ),其中若一資源查閱(lookup )失 敗,則該整合型編排引擎(2 1 8、420 )登載一訊息至該告 知佇列(4 1 0 );及 一變量佇列(408 ),其中該主要資源表(402 )透過序 列化的變量佇列之請求而明確地控制從屬資源表資源的該 27 1344603 使用期間。 2. 如申請專利範圍第1項所述之系統,其中該整合型编 引擎包含第一編排服務,該第一編排服務與一第二編排 務分隔,該第一編排服務被納入該視訊系統中,且經配 成提供資料至該第二編排服務。 3. 如申請專利範圍第1項所述之系統,其中當相較於該 一資源列表時,該第二資源列表係一涵蓋式資源列表, 為該從屬資源表(414)中的資源亦存在於該主要資源 (402 )中。 4. 如申請專利範圍第1項所述之系統,其中該主要資源 係負責提供控制代碼、參用計數控制代碼紀錄、資源及 現關係,而負責將資源傳送到該從屬資源表。 5. 如申請專利範圍第1項所述之系統,其中當該整合型 排引擎回應於該視窗桌面管理程式而運作,且當該整合 編排引擎回應於該應用程式而運作時,相同的程式庫執 相同的編排。 6.如申請專利範圍第1項所述之系統,其中該從屬資源 之資源係在一單獨的編排執行緒上存取。 排 服 置 第 因 表 表 實 編 型 行 表 28 1344603
7.如申請專利範圍第1項所述之系統,其中該整合型編排 引擎係以一單獨執行緒的方式運行,並在一固定的编排迴 圈内運行 8 ·如申請專利範圍第1項所述之系統,其更包含額外的視 訊系統,與該整合型編排傳訊,使該繪圖輸出對應至該等
9 ·如申請專利範圍第1項所述之系統,其更包含額外的整 合型編排引擎,與該視訊系統傳訊,以產生對應於該視訊 系統之多重繪圊輸出。
10.—種在一計算系統中之方法,該方法包含以下步驟: 接收來自一應用程式與一視窗桌面管理程式兩者的呼 叫,其中回應於該等呼叫而建構一階層化佈景結構(404 ); 將代表該階層化資料結構之變量的資訊傳送到一整合 型編排引擎( 420 ); 將一組資源傳送到該整合型編排引擎,其中該組資源 係對應於與該階層化資料結構(402 )相關的一主要資源表 (404 ); 根據該傳送的資訊來更新一編排器資料結構(412)内 的資訊; 29 1344603 厂me .-.......... ~~~-------------- 根據該組傳送的資源來更新一從屬資源表( 中該從屬資源表與該編排器資料結構相關,且由 源表管理; 透過一變量佇列之請求控制該從屬資源表的 間以回應該主要資源表; 處理該編排器資料結構,以輸出繪圖資訊; 若一資源查閱失敗,則從該整合型編排引擎 載一訊息至一告知佇列(4 1 0 ), 其中當回應該視窗桌面管理程式時,該整合型編 用之協定包含回應於該程式時該整合型編排引擎 等協定的一功能性次集。 11. 如申請專利範圍第10項所述之方法,其中建 化佈景結構的程序相較於處理該編排器資料結構 繪圖資訊的程序係不同步地實行》 12. 如申請專利範圍第10項所述之方法,其中該 表包含一資源列表,當相較於該主要資源表時, 表係一涵蓋式資源列表,因為該從屬資源表(4 P 源亦存在於該主要資源表(4 0 2 )中。 13. 如申請專利範圍第12項所述之方法,其更包 驟:在該整合型編排引擎回應於該視窗桌面管理 414),其 該主要資 該使用期 及 (420 )登
排引擎所 所用之該 立該階層 而產生該
從屬資源 該資源列 _ )中的資 含以下步 程式而運 30 1344603 __ _ J00. 1. ^ ] 年月曰修正朁換頁丨 作時,根據一第一程式庫運用該整合型編排引擎執行编 排,以及在該整合型編排引擎回應於一程式而運作時,根 據該第一程式庫運用該整合型編排引擎執行編排。 14. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:在一單獨的編排執行緒上存取該從屬資源表之資源。 15. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:以一單獨執行緒及在一固定的編排迴圈内的方式運行 該整合型編排引擎。 16. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:將額外的資訊和額外的資源組傳送到該整合型编排引 擎,使該繪圖輸出資訊對應至額外的程式。 17. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:將該等資訊和資源組傳送到多重整合型編排引擎,以 產生對應於該程式及該視窗桌面管理程式的多重繪圖輸出 資訊。 31
TW093121638A 2003-10-23 2004-07-20 System and method for a unified composition engine in a graphics processing system TWI344603B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/692,288 US7012606B2 (en) 2003-10-23 2003-10-23 System and method for a unified composition engine in a graphics processing system

Publications (2)

Publication Number Publication Date
TW200515187A TW200515187A (en) 2005-05-01
TWI344603B true TWI344603B (en) 2011-07-01

Family

ID=34522083

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093121638A TWI344603B (en) 2003-10-23 2004-07-20 System and method for a unified composition engine in a graphics processing system

Country Status (14)

Country Link
US (1) US7012606B2 (zh)
EP (1) EP1676245A4 (zh)
JP (2) JP4764345B2 (zh)
KR (1) KR101087361B1 (zh)
CN (1) CN1860505B (zh)
AU (1) AU2004287140B2 (zh)
BR (1) BRPI0414431A (zh)
CA (1) CA2537138A1 (zh)
MX (1) MXPA06003282A (zh)
MY (1) MY137202A (zh)
RU (1) RU2355031C2 (zh)
TW (1) TWI344603B (zh)
WO (1) WO2005045580A2 (zh)
ZA (1) ZA200602390B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8964120B2 (en) 2012-01-30 2015-02-24 Mstar Semiconductor, Inc. Television system and method for managing applications therein
US9846597B2 (en) 2013-03-13 2017-12-19 Microsoft Technology Licensing, Llc Durable program execution
TWI614685B (zh) * 2014-11-21 2018-02-11 英特爾公司 用於在虛擬執行環境中有效率地處理圖形的系統

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7064766B2 (en) 2001-10-18 2006-06-20 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
US6919891B2 (en) 2001-10-18 2005-07-19 Microsoft Corporation Generic parameterization for a scene graph
US7619633B2 (en) * 2002-06-27 2009-11-17 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
US7443401B2 (en) * 2001-10-18 2008-10-28 Microsoft Corporation Multiple-level graphics processing with animation interval generation
US7161599B2 (en) * 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US7486294B2 (en) * 2003-03-27 2009-02-03 Microsoft Corporation Vector graphics element-based model, application programming interface, and markup language
US7466315B2 (en) * 2003-03-27 2008-12-16 Microsoft Corporation Visual and scene graph interfaces
US7417645B2 (en) 2003-03-27 2008-08-26 Microsoft Corporation Markup language and object model for vector graphics
US7088374B2 (en) * 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7603624B2 (en) * 2004-10-21 2009-10-13 Microsoft Corporation System and method for styling content in a graphical user interface control
US8631342B2 (en) * 2004-12-22 2014-01-14 Hewlett-Packard Development Company, L.P. Computer display control system and method
US20060168537A1 (en) * 2004-12-22 2006-07-27 Hochmuth Roland M Computer display control system and method
US8130226B2 (en) * 2006-08-04 2012-03-06 Apple Inc. Framework for graphics animation and compositing operations
US9019300B2 (en) 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
US9219941B2 (en) 2006-10-25 2015-12-22 Telefonaktiebolaget L M Ericsson (Publ) Rich media stream management
US7996787B2 (en) * 2007-02-06 2011-08-09 Cptn Holdings Llc Plug-in architecture for window management and desktop compositing effects
US8108799B2 (en) * 2007-03-30 2012-01-31 Microsoft Corporation Remoting of windows presentation framework based applications in a non-composed desktop
US20080250424A1 (en) * 2007-04-04 2008-10-09 Ms1 - Microsoft Corporation Seamless Window Implementation for Windows Presentation Foundation based Applications
KR20080114496A (ko) * 2007-06-26 2008-12-31 삼성전자주식회사 레이저 콘텐츠를 이용하여 장면을 구성하는 방법 및 장치
US9589381B2 (en) 2008-06-12 2017-03-07 Microsoft Technology Licensing, Llc Copying of animation effects from a source object to at least one target object
KR20100088049A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 사용자 인터페이스 구성 객체들로 이루어진 콘텐츠의 사전 예측 불가능한 경로를 통하여 수신되는 정보들의 처리 방법 및 이를 위한 장치
US20100321382A1 (en) 2009-06-18 2010-12-23 Scalable Display Technologies, Inc. System and method for injection of mapping functions
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
US20110298787A1 (en) * 2010-06-02 2011-12-08 Daniel Feies Layer composition, rendering, and animation using multiple execution threads
US9361715B2 (en) 2011-06-02 2016-06-07 Microsoft Technology Licensing, Llc Global composition system
US9563971B2 (en) 2011-09-09 2017-02-07 Microsoft Technology Licensing, Llc Composition system thread
US8793696B2 (en) * 2011-10-13 2014-07-29 Google, Inc. Dynamic scheduling for frames representing views of a geographic information environment
CA2792662C (en) 2011-10-18 2017-11-14 Research In Motion Limited Method of rendering a user interface
CA2792895C (en) * 2011-10-18 2020-04-28 Research In Motion Limited Method of rendering a user interface
US8547480B1 (en) * 2012-06-25 2013-10-01 Google Inc. Coordinating distributed graphics rendering in a multi-window display
US9069905B2 (en) * 2012-07-16 2015-06-30 Microsoft Technology Licensing, Llc Tool-based testing for composited systems
TWM471654U (zh) * 2013-02-07 2014-02-01 Asustek Comp Inc 可攜式電子裝置
RU2580468C9 (ru) * 2013-04-24 2017-03-24 Общество С Ограниченной Ответственностью "Э-Студио" Способ управления доступом к множеству вычислительных ресурсов
US9542906B2 (en) * 2013-05-10 2017-01-10 Microsoft Technology Licensing, Llc Shared compositional resources
US20140344729A1 (en) * 2013-05-15 2014-11-20 Microsoft Corporation Primitive-based composition
US10147158B2 (en) 2014-12-13 2018-12-04 Microsoft Technology Licensing, Llc Frame invalidation control with causality attribution
US10348997B2 (en) 2015-07-09 2019-07-09 Genetec Inc. Security video monitoring client
CN113515317A (zh) * 2020-03-25 2021-10-19 华为技术有限公司 数据恢复的方法、装置
TWI844216B (zh) * 2022-12-30 2024-06-01 宏碁股份有限公司 視窗編排系統、視窗編排方法以及視窗編排程式產品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7161599B2 (en) * 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US6919891B2 (en) * 2001-10-18 2005-07-19 Microsoft Corporation Generic parameterization for a scene graph
US7088374B2 (en) * 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8964120B2 (en) 2012-01-30 2015-02-24 Mstar Semiconductor, Inc. Television system and method for managing applications therein
US9846597B2 (en) 2013-03-13 2017-12-19 Microsoft Technology Licensing, Llc Durable program execution
TWI610241B (zh) * 2013-03-13 2018-01-01 微軟技術授權有限責任公司 耐用性程式執行
US10303513B2 (en) 2013-03-13 2019-05-28 Microsoft Technology Licensing, Llc Durable program execution
TWI614685B (zh) * 2014-11-21 2018-02-11 英特爾公司 用於在虛擬執行環境中有效率地處理圖形的系統
US9996892B2 (en) 2014-11-21 2018-06-12 Intel Corporation Apparatus and method for efficient graphics processing in a virtual execution environment

Also Published As

Publication number Publication date
CN1860505A (zh) 2006-11-08
TW200515187A (en) 2005-05-01
AU2004287140B2 (en) 2010-02-25
MXPA06003282A (es) 2006-06-08
BRPI0414431A (pt) 2006-11-14
ZA200602390B (en) 2007-09-26
CA2537138A1 (en) 2005-05-19
WO2005045580A2 (en) 2005-05-19
WO2005045580A3 (en) 2005-08-25
JP5149411B2 (ja) 2013-02-20
EP1676245A2 (en) 2006-07-05
US7012606B2 (en) 2006-03-14
MY137202A (en) 2009-01-30
JP4764345B2 (ja) 2011-08-31
AU2004287140A1 (en) 2005-05-19
EP1676245A4 (en) 2008-10-29
US20050088436A1 (en) 2005-04-28
CN1860505B (zh) 2010-05-12
JP2007510976A (ja) 2007-04-26
JP2011129153A (ja) 2011-06-30
RU2006113596A (ru) 2006-09-10
KR20060126435A (ko) 2006-12-07
KR101087361B1 (ko) 2011-11-25
RU2355031C2 (ru) 2009-05-10

Similar Documents

Publication Publication Date Title
TWI344603B (en) System and method for a unified composition engine in a graphics processing system
JP5080554B2 (ja) 代替的グラフィック・セットの効率的な符号化
JP4901261B2 (ja) 高品質なユーザーインターフェイスによる効率的な遠隔表示を行なうシステム
CN102736912B (zh) 提供应用之间的动画图形转换的方法和计算设备
CN101258478B (zh) 高级图形流
US9563971B2 (en) Composition system thread
EP2997547B1 (en) Primitive-based composition
CN109121000A (zh) 一种视频处理方法及客户端
US20140368512A1 (en) Systems, methods, and devices for animation on tiled displays
CN114741081A (zh) 一种基于异构缓存访问的跨运行环境显示输出共享方法
CN108989872A (zh) 一种安卓电视背景快速切换方法、框架、服务器及存储介质
US7743387B2 (en) Inheritance context for graphics primitives
CN109416828A (zh) 将帧缓冲映射到逻辑显示器的装置及方法
US9542906B2 (en) Shared compositional resources
CN111949265A (zh) 一种数据处理方法、装置和电子设备
Ramanathan Intel® Multi-Core Processors
CN109767827A (zh) Dicom图像原始数据在内存中的共享方法和共享系统
CN114764317A (zh) 基于iOS系统的视频流获取方法、介质、设备及应用系统
JP2006039707A (ja) 画像合成装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees