TW201539294A - 跨平台顯像引擎 - Google Patents

跨平台顯像引擎 Download PDF

Info

Publication number
TW201539294A
TW201539294A TW104102371A TW104102371A TW201539294A TW 201539294 A TW201539294 A TW 201539294A TW 104102371 A TW104102371 A TW 104102371A TW 104102371 A TW104102371 A TW 104102371A TW 201539294 A TW201539294 A TW 201539294A
Authority
TW
Taiwan
Prior art keywords
content
application
display
content description
computer
Prior art date
Application number
TW104102371A
Other languages
English (en)
Inventor
Ben Witman
Dave Mcdonald
Michael Y Joe
Faaez Ul Haq
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 TW201539294A publication Critical patent/TW201539294A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本發明揭示一種跨平台顯像引擎。該跨平台顯像引擎充當應用程式與用於在螢幕上顯示應用程式內容之作業系統之間的中間件,該跨平台顯像引擎允許軟體開發者寫入台無特定平台應用程式碼。該應用程式將內容以描述待顯示之內容之資源有效內容描述的形式發送至跨平台顯像引擎。繼而,跨平台顯像引擎儲存內容描述且根據需要將自內容描述產生之光柵化影像提供給合成器。在對應於合成器所需之紋理之內容描述不可用的情況下,跨平台顯像引擎自應用程式提取內容描述。藉由代表應用程式自使用者介面執行緒產生光柵化影像而非等待應用程式執行緒,跨平台顯像引擎改進應用程式之總體回應性且有助於更佳使用者體驗。

Description

跨平台顯像引擎
本發明係關於跨平台顯像引擎。
在多個平台上可用的軟體產品(亦即,跨平台產品)提供比單個平台產品更大的使用者基礎。軟體開發者一般想要提供跨彼等平台之一致使用者體驗(亦即,外觀及感受),使得熟悉一個平台上之軟體產品的使用者將對另一平台上之相同軟體產品瞬即感覺順手。
在螢幕上顯示內容之機制在執行不同作業系統之平台之間存在很大差異。舉例而言,一些桌上型作業系統不包括合成(亦即,組合)來自螢幕上之不同應用程式之內容的功能性。而是,每一應用程式負責產生及更新螢幕影像且使其顯示。儘管一些作業系統提供合成用於顯示之內容的方法,但該等作業系統各自具有其自身完成此任務的獨特方法。此種不一致性要求軟體開發者知悉如何介接軟體產品所連接的每一不同作業系統。
除簡單地要求軟體開發者知悉圖形功能之台平台特定的實施以外,實施差異可要求程式碼之大量重寫,以試圖 在不同平台上複製使用者體驗。每一重寫產生引入新錯誤之可能性,且要求額外品質保證測試。當作業系統不提供所要求之功能性或進行不同於期望之功能時,提供彼平台上之一致使用者體驗即使不是不可能的,也可能是不切實際的。
即使在功能性得以重複的情況下,應用程式可在多個平台間的效率及回應性方面存在差異。此可由諸如以下之因素引起:軟體開發者對每一作業系統之不同熟悉程度及體驗、在各個作業系統中可用之合成功能之強項及弱點,以及硬體時序限制。
歷史上,在一些應用程式中,使用者介面執行緒負責應用程式之所有功能,包括:應用應用程式邏輯及規則、將輸入送至應用程式,以及呈現應用程式內容給使用者。應用程式之回應性係至少部分地基於使用者介面執行緒有多快地處理輸入,且顯像對應用程式內容之改變。當光柵化由使用者介面執行緒處置時,若使用者介面執行緒在需要內容更新時係繁忙的,則應用程式將表現得無回應,此係因為光柵化無法發生直至使用者介面執行緒結束其當前任務。為處理與觸控螢幕相關聯之增加的處理要求,已產生專用應用程式執行緒以自驅動使用者介面之程式碼去耦合應用程式回應性。
用於顯示之應用程式內容之顯像仍受應用程式執行緒控制且不受益於此劃分。若應用程式執行緒在需要顯像時忙於對應用程式內容進行操作,則顯像將延遲直到操作完成。若仍未實現(亦即,顯像或更新)之應用程式之部分移 動至螢幕之部分中,則應用程式可被視為無回應的。此可在應用程式執行緒不光柵化初始觸控輸入之數個訊框內之應用程式內容時發生。舉例而言,在一個作業系統中,吾人注意到若應用程式執行緒不光柵化藉由手指劃動起始平移(pan)之約四個訊框內之應用程式內容,則應用程式開始表現得無回應。始終保證來自應用程式執行緒之此位準之回應性係困難的。
隨著更新與修補程式的開發,此等問題貫穿軟體產品之整個壽命期。關於此等及其他考慮而做出本發明。儘管已論述相對具體問題,但應理解本文中所揭示之實施例不應限於解決在先前技術中指出之具體問題。
提供本【發明內容】以用簡化形式介紹在下文【實施方式】部分中進一步描述之一系列概念。本【發明內容】並非意欲識別所請求標的之關鍵特徵結構或基本特徵結構,亦並非意欲用於輔助判斷所請求標的之範疇。
實施例提供一種顯像及顯示使用者介面及內容項之電腦產生之顯示組件的系統。該系統包括能夠經由螢幕圖形顯示應用程式內容給使用者之計算裝置。跨平台顯像引擎充當產生內容之應用程式與在螢幕上顯示內容之合成器之間的中間件。跨平台顯像引擎允許跨各個平台之應用程式功能之一致實施,此一致實施又產生一致的使用者體驗。
除在由合成器維護及顯示之表面上直接描繪內容之外,應用程式亦可將內容描述描繪給跨平台顯像引擎。內容 描述係原始應用程式內容與顯示在螢幕上之光柵化紋理之間的中間表示。每一內容描述描述如何描繪應用程式內容之不同零件(例如,矩形)及彼等不同零件之間的關係。跨平台顯像引擎將此等描述轉譯成用於在螢幕上呈現之台平台特定的顯示組件。跨平台顯像引擎之實施例可代表應用程式控制及操縱中間表示之顯像以提供額外功能且產生更具回應性應用程式。
當應用程式提供內容描述而非應用程式內容自身之光柵化影像時,跨平台顯像引擎可提供更大值。由於內容描述通常在資源使用方面比對應光柵化影像便宜得多,因此跨平台顯像引擎能夠比可保持為紋理儲存應用程式內容之更多表示,此舉允許跨平台顯像引擎在諸多情況中不回撥至應用程式而回應於使用者互動。此在顯像應用程式內容及改良應用程式之回應時提供增加效能之較大機會。
為以即時方式顯示內容以使得應用程式保持對使用者之回應性且最小化在接收使用者輸入與更新螢幕之間的使用者可察覺之滯後量,跨平台顯像引擎包括正在不同處理執行緒上執行之組件,該等組件包括正在應用程式執行緒上執行之前端及正在使用者介面執行緒上執行之後端。應用程式執行緒係負責應用程式之主要功能之處理執行緒。應用程式與跨平台顯像引擎之間的互動在應用程式執行緒上發生。使用者介面執行緒係對來自合成器之請求具回應性之處理執行緒,且產生含有應用程式內容之顯示層,顯示影像(例如,位元映像)添加至該等顯示層。經由使用經儲存內容描述及 自應用程式獲得內容之提取模型實現由跨平台顯像引擎提供之效率及回應性。不使應用程式推送更新給合成器,而是在一區域需要視覺更新時後端自應用程式提取更新。
100‧‧‧系統
102‧‧‧計算裝置
104‧‧‧螢幕/顯示表面
106‧‧‧顯示表面
108‧‧‧控制件
110‧‧‧服務窗格
112‧‧‧使用者內容顯示區
120‧‧‧跨平台顯像引擎
122‧‧‧內容描述
124‧‧‧應用程式執行緒
126‧‧‧使用者介面執行緒
128‧‧‧合成器執行緒
130‧‧‧合成器
132‧‧‧顯像執行緒
202‧‧‧即時階層
204‧‧‧使用者介面階層
206‧‧‧模型階層
208‧‧‧應用程式模型
210‧‧‧前端
212‧‧‧後端
214‧‧‧同步模型
302a‧‧‧應用程式碼
302b‧‧‧應用程式碼
304‧‧‧跨平台顯像引擎通道架構
400‧‧‧虛擬紋理
402a‧‧‧第一矩形/原始內容描述
402b‧‧‧第二矩形/原始內容描述
402c‧‧‧第三矩形/原始內容描述
404‧‧‧共同重疊區域
406‧‧‧方框
408‧‧‧新內容描述
502‧‧‧捲動層
504‧‧‧虛擬紋理
506‧‧‧預取邊界
508‧‧‧影像塊
900‧‧‧跨平台顯像引擎方法
902‧‧‧更新請求操作
904‧‧‧內容描述詳細目錄操作
908‧‧‧經擴展顯像操作
910‧‧‧操縱判定操作
912‧‧‧操縱顯像之內容描述操作
914‧‧‧應用程式通告操作
916‧‧‧可選內容描述調解操作
918‧‧‧可選預取更新操作
920‧‧‧預取操作
924‧‧‧內容描述提取操作
926‧‧‧內容描述接收操作
928‧‧‧內容描述傳送操作
930‧‧‧即時顯像操作
932‧‧‧內容描述儲存操作
934‧‧‧合成操作
1000‧‧‧計算裝置
1002‧‧‧處理單元
1004‧‧‧系統記憶體
1005‧‧‧作業系統
1006‧‧‧程式模組
1008‧‧‧虛線
1009‧‧‧可移除式儲存裝置
1010‧‧‧不可移除式儲存裝置
1012‧‧‧輸入裝置
1014‧‧‧輸出裝置
1016‧‧‧通訊連接
1018‧‧‧其他計算裝置
1020‧‧‧軟體應用程式
1100‧‧‧行動計算裝置
1102‧‧‧系統
1105‧‧‧顯示器
1110‧‧‧輸入按鈕
1115‧‧‧可選側輸入元件
1120‧‧‧視覺指示器
1125‧‧‧音訊傳感器
1130‧‧‧機載相機
1135‧‧‧可選小鍵盤
1160‧‧‧處理器
1162‧‧‧記憶體
1164‧‧‧作業系統
1166‧‧‧應用程式
1168‧‧‧非依電性儲存區域
1170‧‧‧電源
1172‧‧‧無線電
1174‧‧‧音訊介面
1176‧‧‧視訊介面
參考以下諸圖將更佳地理解本發明之進一步特徵結構、態樣及優點,其中元件不按比例繪製以便更清晰地展示細節,且其中貫穿數個視圖,相同元件符號指示相同元件。
第1圖係用於顯像及顯示使用者介面及內容項之電腦產生之顯示組件之一個系統之實施例的方塊圖。
第2圖係圖示適用於實施跨平台顯像引擎之系統之一個實施例的高階系統架構圖。
第3圖係圖示跨平台顯像引擎與應用程式之間的互動之一個實施例的流程圖。
第4A-4D圖圖示針對含有三個內容描述之內容描述合成物之內容描述調解的實例。
第5A圖圖示給定具有多個虛擬紋理之文件中之選定預取邊界的情況下可用於快取之虛擬紋理內容描述的實例。
第5B圖圖示給定具有包含多個影像塊之單個虛擬紋理之文件中之選定預取邊界的情況下可用於快取之虛擬紋理內容描述的實例。
第6A圖圖示使用正常混合模式自內容描述顯像之應用程式內容的實例。
第6B圖圖示在無正常混合模式支援下所得之虛擬 紋理。
第7A圖圖示使用下逆混合模式自內容描述顯像之應用程式內容的實例。
第7B圖圖示無下逆模式支援下所得之虛擬紋理。
第8A圖圖示使用逆向混合模式自內容描述顯像之應用程式內容的實例。
第8B圖圖示在無逆向模式支援下所得之虛擬紋理。
第9圖係跨平台顯像引擎方法之一個實施例之高階流程圖。
第10圖係圖示可實踐本發明之實施例的計算裝置之實體組件之一個實施例的方塊圖。
第11A圖及第11B圖係可實踐本發明之實施例之行動計算裝置的簡化方塊圖。
下文參考隨附圖示更全面地描述各個實施例,該等隨附圖式形成本發明之部分,且圖示特定示範性實施例。然而,實施例可以諸多不同形式實施且不應被視為限於本文中闡述之實施例;實情為,提供此等實施例,使得本揭示案將係透徹及全面的,且將實施例之範疇完整地傳達給熟習此項技術者。實施例可實踐為方法、系統或裝置。因此,實施例可採取硬體實施、完全軟體實施或組合軟體與硬體態樣之實施的形式。因而,以下實施方式不被理解為限制意義。
在本文中描述且在隨附圖式中圖解說明跨平台顯像引擎之各個實施例。跨平台顯像引擎充當應用程式與用於儲 存描述應用程式內容之指令的作業系統之間的中間件,該跨平台顯像引擎允許軟體開發者寫入台無特定平台應用程式碼。應用程式以可用以顯像應用程式內容之光柵化影像以用於顯示之內容描述的形式將內容發送至跨平台顯像引擎。在對應於合成器所需之紋理之內容描述不可用的情況下,跨平台顯像引擎自應用程式提取內容描述。跨平台顯像引擎可代表應用程式光柵化來自使用者介面執行緒上之內容描述的影像,而非等待應用程式執行緒,改進應用程式之總體回應性且有助於更佳使用者體驗。跨平台顯像引擎之實施例可藉由在將光柵化影像顯像給合成器之前代表應用程式操縱所儲存之內容描述來改變應用程式內容之外觀。
第1圖係用於顯像及顯示使用者介面及內容項之電腦產生之顯示組件之系統的實施例的方塊圖。系統100包括計算裝置102,該計算裝置102能夠經由螢幕104圖形顯示應用程式內容給使用者。適合計算裝置之實例包括(但不限於)桌上型電腦、膝上型電腦、平板或平面電腦、智慧型電話及智慧型器具。在各個實施例中,螢幕亦可包括數化器以經由手寫筆(例如,使用者之手指或數位筆)接收來自使用者之觸控輸入。
示例性軟體應用程式使用者介面及示例性相關聯使用者內容顯示在顯示表面104上。使用者介面106(亦即,應用程式)係對由各個軟體應用程式啟用之使用者介面及相關聯使用者內容的說明,該等軟體應用程式包括(但不限於):文書處理應用程式、試算表應用程式、幻燈片演示應用程式、 電子郵件應用程式、記事本應用程式及行事曆應用程式。亦即,使用者介面106係對根據相關聯軟體應用程式功能可顯示至電腦啟用之顯示表面104上以供檢視及使用之任何圖形顯示組件的說明。使用者介面106係對具有複數個控制件108、服務窗格110及使用者內容顯示區112之文書處理應用程式使用者介面的說明。應理解,所圖示之使用者介面106係僅出於實例目的而不限制可根據本文中所描述之本發明之實施例顯示及管理之巨大數目及類型之圖形顯示組件。
跨平台顯像引擎120係對將台平台特定的請求及回應台無特定平台請求及回應之軟體應用程式的說明。此等請求及回應用以在電腦啟用之顯示表面104上呈現軟體應用程式使用者介面(UI)之顯示組件(例如,按鈕、控制件、搜尋功能、幫助功能、選單或工具欄)及使用者內容(例如,文字、文件、像片、影像或圖表)。為方便起見,由應用程式消耗之軟體應用程式使用者介面之顯示組件及使用者內容個別地且共同地稱為應用程式內容。
跨平台顯像引擎充當產生內容之應用程式與在螢幕上顯示內容之合成器之間的中間件。跨平台顯像引擎120使得能夠產生應用程式內容之描述作為內容描述122,可使用台平台特定的命令自該內容描述122產生顯示影像(諸如,表示各個顯示組件之位元映像)。與寫入台平台特定的應用程式碼相比,此允許應用程式碼描繪將在不同平台上再使用之應用程式內容而無需修改或在一些情況下受限之修改。另外,跨平台顯像引擎120係可操作以操縱顯示層且代表應用 程式再顯像應用程式內容。跨平台顯像引擎允許跨各個平台之應用程式功能之一致實施,此一致實施又引起一致使用者體驗。
內容描述係原始應用程式內容與顯示在螢幕上之紋理(亦即,光柵影像)之間的中間表示。除在由合成器維護及顯示之表面上直接描繪內容之外,應用程式亦可以內容描述之形式描繪給跨平台顯像引擎。每一內容描述描述如何描繪應用程式內容之不同零件(例如,矩形)及彼等不同零件之間的關係。跨平台顯像引擎將此等描述轉譯成用於在螢幕上呈現之台平台特定的顯示組件。在各個實施例中,內容描述可為平台特定的或台無特定平台的。舉例而言,內容描述可寫入為以下之序列:台平台特定的圖形庫命令(例如,Direct2D或Direct3D命令清單)、台無特定平台向量圖形描述(例如,路徑),或其他平台特定或台無特定平台內容描述語言、物件或結構。
由於內容描述係應用程式內容可經顯像而非應用程式內容自身之光柵化影像的應用程式內容之描述,因此內容描述在資源使用方面便宜。在大多數情況中,內容描述與其表示之對應紋理內容相比消耗顯著較少資源。對於諸如(但不限於)文書處理器、試算表應用程式、演示應用程式、電子郵件客戶端、行事曆應用程式、任務管理應用程式及網頁瀏覽器之應用程式,給定文件中之大多數內容足以簡單到使得內容描述在記憶體使用方面比對應紋理內容有效約50倍至約100倍之間。藉助於內容描述有效地傳達之簡單內容的實 例通常包括(但不限於)文字執行(text run)、路徑(亦即,向量圖形)及小圖示/圖(例如,低解析度及/或色彩深度光柵影像)。由於內容描述係資源高效的,因此跨平台顯像引擎與可保存為紋理相比能夠儲存應用程式內容之更多表示,此舉允許跨平台顯像引擎在諸多情況中取不回撥至應用程式而代表應用程式回應於使用者互動。此在顯像應用程式內容及改良應用程式之回應性時提供增加效能之較大機會。
另外,內容描述儲存在主記憶體而非視訊記憶體中,此係重要的,因為在大多數計算裝置中,視訊記憶體之儲存容量與主記憶體相比係受限的。因此,跨平台顯像引擎與可由合成器儲存相比可維持更大數目個可用的中間表示。儘管內容描述可保存複雜內容(例如,3D圖形),但效率增益減小,因為複雜內容在於內容描述中引用之前必須光柵化,且內容描述將僅引用含有光柵影像之位元映像或表面。內容描述可實施為視覺呈現標記語言(諸如,可延伸應用程式標記語言(XAML))中之控制件。
為以即時方式顯示內容使得應用程式保持對使用者之回應性且最小化在接收使用者輸入與更新螢幕之間的使用者可察覺之滯後量,跨平台顯像引擎包括正在包括應用程式執行緒124及使用者介面執行緒126之不同處理執行緒上執行之組件。儘管以單數描述,但可使用本文中所描述之執行緒之任何者中之一者以上。
應用程式執行緒124係負責應用程式之包括應用程式內容之原始產生之主要功能的處理執行緒。應用程式與跨 平台顯像引擎之間的互動在應用程式執行緒上發生。使用者介面執行緒126係對來自合成器之請求具回應性之處理執行緒且產生含有應用程式內容之顯示層,顯示影像(例如,位元映像)添加至該等顯示層。另外,使用者介面執行緒126可承擔處理添加至層之動畫行為(例如,移動物件、對其他物件之移動做出反應、重新調整物件之大小、移動瀏覽或縮放檢視埠)及/或用於改變層性質之責任。舉例而言,在文書處理應用程式中,使用者介面執行緒126可負責在顯示層上描繪文件,將標放置在文件上,且然後設定標性質以允許標在文件周圍移動。
合成器執行緒128係負責接收來自使用者介面執行緒之顯示層及性質變化之處理執行緒。根據一個實施例,跨平台顯像引擎將顯示層發送至合成器130,合成器130將來自不同源之視覺顯示組件(亦即,紋理)帶到一起以便產生虛擬紋理之經組合影像。舉例而言,應考慮每一控制件可為個別層。使用者介面執行緒產生所有此等個別層且將所有控制件(亦即,顯示組件)放置在層上。使用者介面執行緒然後將層發送至合成器130,且合成器將所有層組合在一起成為表示工具欄及相關聯按鈕/控制件之虛擬紋理。
與處置大多數應用程式功能之應用程式執行緒相比,較少處理在使用者介面執行緒上發生,此允許更快速地描繪來自合成器之請求。換言之,由於責任分工,使用者介面執行緒具有保證更高的可用性且根據需要能夠將顯示組件快速地描繪給螢幕104。舉例而言,在於典型計算裝置上執行 之一個代表性作業系統中,使用者介面執行緒之標稱回應時間小於約50ms。相比之下,相同系統上之應用程式執行緒之標稱回應時間係約200ms。
在各個實施例中,可在關閉使用者介面執行緒的情況下進行複雜工作及應用程式特定之邏輯(包括操縱及顯像),以保持使用者介面執行緒高度回應。因此,跨平台顯像引擎之實施例可包括用於內容描述之回放以幫助維持使用者介面執行緒之回應性之顯像執行緒132。將內容描述回放移動至顯像執行緒使任何昂貴顯像不對使用者介面執行緒有影響。換言之,使用者介面執行緒將不從事將顯示組件描繪給螢幕104且將更自由地回應於輸入並管理描繪來自合成器之請求。
第2圖係圖示適用於實施跨平台顯像引擎之系統之一個實施例的高階系統架構圖。該系統包括即時階層202、使用者介面階層204及模型階層206。每一階層通大體在不同於其他階層之程序空間中執行。即時階層負責硬體層級之互動,諸如接收使用者輸入且將應用程式內容呈現給螢幕以用於顯示。使用者介面階層包括容許資料輸入(例如,使用者產生之內容之輸入)及對應用程式之功能之使用者存取(例如,與應用程式控制件之互動)以及將資料呈現給使用者(例如,顯示應用程式內容)之組件。使用者介面執行緒126、合成器執行緒128及顯像執行緒132與使用者介面階層相關聯。
模型階層包括應用程式模型208,該應用程式模型208暴露應用程式之功能,提供應用程式邏輯及商業規則(例 如,如何編頁及斷字),儲存應用程式內容,以及顯像用於顯示之應用程式內容。應用程式執行緒124與模型階層相關聯。跨平台顯像引擎包括在模型階層中執行之前端210以及在使用者介面階層中執行之後端212。同步模型214提供異步通訊及允許應用程式碼跨不同執行緒保持同步之共享資料。背景工作執行緒(worker thread)提供針對應用程式模型之處理。
第3圖係圖示跨平台顯像引擎與應用程式之間的互動之一個實施例的流程圖。前端提供由應用程式使用以產生用於最後顯示之應用程式內容之中間表示的介面。後端提供介面給合成器。亦即,後端接收對顯示來自合成器之應用程式內容的請求,且藉由產生應用程式內容之光柵影像(亦即,虛擬紋理)並將虛擬紋理傳送至可在顯示螢幕上呈現之顯示表面來回應。
應用程式必須自除使用者介面執行緒之外的執行緒調用後端上之命令。即使後端依附於使用者介面執行緒,在使用者介面執行緒上執行之應用程式碼302b不可直接存取後端。至後端之所有呼叫必須經由跨平台顯像引擎通道架構304作出。跨平台顯像引擎通道架構係前端與後端之間的專用直接通訊通道。舉例而言,藉由在應用程式執行緒上執行之應用程式碼302a描繪給前端之內容描述經由跨平台顯像引擎通道架構傳送至後端。
後端在專用使用者介面執行緒上執行且具有允許對描繪來自合成器之請求之快速回應的高度回應性。經由使用 經儲存內容描述及自應用程式獲得內容之提取模型實現由跨平台顯像引擎提供之效率及回應性。不使應用程式推送更新至合成器,後端在一區域需要視覺更新時自應用程式提取更新。當回應於描繪請求所需之內容描述係可用的時,跨平台顯像引擎顯像來自內容描述之內容而不涉及應用程式執行緒。若必要的內容描述不可用,則跨平台顯像引擎將描繪請求發送至應用程式。當應用程式藉由產生內容描述來回應時,後端立即顯像用於合成器之內容且儲存內容描述以供稍後使用。
後端維持針對跨平台顯像引擎之授權執行緒狀態。跨平台顯像引擎通道架構允許前端設定性質且對後端上之層樹做出改變,但不提供對後端狀態資料之存取。前端維持其自身的層樹及紋理指標版本。因此,前端狀態及後端狀態可在任何特定時間點不同步。前端狀態及後端狀態不同步之此潛在可能性由於跨平台顯像引擎採用之提取模型而係不顯著的。
在各個實施例中,應用程式與跨平台顯像引擎之間的通訊在模型階層中發生。後端將請求傳遞至前端,且前端將請求發送至應用程式執行緒。在其他實施例中,後端可將請求直接發送至應用程式。作為回應,應用程式執行緒將回應性內容描述描繪給前端。不允許應用程式與使用者介面執行緒上之後端之間的互動。由於應用程式無法將變化發送至前端及後端兩者,因此前端狀態及後端狀態變化將隨著後端狀態匹配已自前端發送之內容而最終穩定。
應用程式可使用各個裝置上下文來將內容描述描繪給前端。後端在將內容描述光柵化成相關聯虛擬紋理時使用另一裝置上下文。藉由在前端及後端處使用不同裝置上下文,跨平台顯像引擎可同時播放與記錄內容描述。由於每一虛擬紋理被給定單個裝置上下文,因此跨平台顯像引擎依序光柵化與虛擬紋理相關聯之內容描述(亦即,序列化描繪)。在各個實施例中,給定虛擬紋理之裝置上下文用以使內容描述與彼虛擬紋理相關聯。
在一些實施例中,合成器控制後端與前端之間的通訊。合成器可取決於請求之類型而節流內容描述之請求。突出的描繪可每次同時具有高達三個正在進行的請求。其他類型之請求可一次一個地做出,以確保在檢視埠發生較大變化的情況下之回應性。
跨平台顯像引擎藉由光柵化以使用者介面執行緒中之內容描述中所表示之內容來維持或改良對應用程式之回應性。跨平台顯像引擎將內容描述光柵化成提供給合成器之虛擬紋理(亦即,內容描述虛擬紋理)。每一內容描述與選定虛擬紋理相關聯且表示相關聯虛擬紋理內之特定區域。選定區域可為虛擬紋理之一部分或整個虛擬紋理。跨平台顯像引擎依序播放相關聯內容描述以合成由虛擬紋理保持之最後光柵影像。跨平台顯像引擎之實施例可視情況進行對應用程式執行緒之某些光柵化。
在一些實施例中,跨平台顯像引擎提供後端紋理類別以保持虛擬紋理。後端紋理類別含有序列化對合成器之存 取之邏輯,此允許一次僅一個突出描繪。舉例而言,序列化邏輯在至合成器之描繪正在進行中時鎖定對描繪命令之存取。在一個實施例中,使用者介面執行緒嘗試獲得鎖定。若成功,則使用者介面執行緒描繪內容。若不成功,則使用者介面執行緒排程應用程式執行緒上之工作。此確保內容以正確次序描繪,代價為由於涉及應用程式執行緒而損失損失回應性。在其他實施例中,應用程式執行緒上之任何顯像使用中間表面集區。中間表面然後封送至使用者介面執行緒以用於傳送至合成器。此確保僅使用者介面執行緒正在向合成器描繪。
在無效及更新期間,跨平台顯像引擎可修整其內容被在順序上出現得較晚之內容描述覆寫之內容描述。在各個實施例中,跨平台顯像引擎自與彼虛擬紋理相關聯之內容描述之序列移除經覆寫內容描述,但保留將來可能使用(例如,在復原操作期間)之內容描述。在一些實施例中,捨棄所覆寫之內容描述。跨平台顯像引擎可視情況修整命令層級之內容描述,以移除其內容已被覆寫之特定命令,而保留其內容未經覆寫之命令。
跨平台顯像引擎追蹤每一虛擬紋理之當前狀態(亦即,虛擬紋理狀態)。虛擬紋理狀態指示虛擬紋理之具有一或多個相關聯內容描述之區域。應用程式可請求當前虛擬紋理狀態且使用資訊更新應用程式內容。舉例而言,在應用程式執行緒不忙時,應用程式可識別虛擬紋理之不具有相關聯內容描述之區域且提供用於彼等區域之內容描述。在各個實 施例中,虛擬紋理狀態不保證係完全最新的;然而,即使在當前虛擬紋理狀態落後於實際虛擬紋理狀態時,虛擬紋理狀態仍提供有用資訊且將隨著後端內容描述改變而更新。
跨平台顯像引擎可將內容描述儲存在允許用輔助資訊注釋內容描述之包裝函式中。在各個實施例中,包裝函式含有與單個虛擬紋理相關聯之所有內容描述(亦即,內容描述集合)且包括關於虛擬紋理及/或經包括內容描述之輔助資訊。在其他實施例中,每一內容描述具有其自身之包裝函式且該包裝函式包括內容描述特定之輔助資訊。
跨平台顯像引擎亦可儲存用以合成處置適用於內容描述之基本操作之集合中之虛擬紋理的內容描述(亦即,內容描述合成物)。內容描述合成物之實施例提供內容描述調解。跨平台顯像引擎認為在選定數目個之正在合成虛擬紋理之內容描述(例如,三個或三個以上)過度描繪一或多個像素時,內容描述合成物係效率低的。隨著過度描繪相同像素之內容描述之數目增加,合成亦將係效率低的。因此,跨平台顯像引擎藉由針對環繞過度描繪像素之內容描述的外接矩形請求新內容描述來調解內容描述,以減少描繪成本。在一些實施例中,跨平台顯像引擎每當選定數目個內容描述描繪給相同之一或多個像素時請求新內容描述。在其他實施例中,跨平台顯像引擎僅在已描繪內容描述合成物中之所有內容描述之後進行內容描述調解。內容描述合成物可視情況用於大虛擬紋理之拼接以改進效能。
第4A-4D圖圖示針對含有三個內容描述之內容描述 合成物之內容描述調解的實例。第4A圖圖示在描繪由來自內容描述合成物之第一內容描述所描述的第一矩形402a中之內容之後的虛擬紋理400。第4B圖圖示在顯像產生與第一矩形部分重疊的第二矩形402b之第二內容描述之後的虛擬紋理。第4C圖圖示在顯像產生與第一矩形及第二矩形兩者部分重疊的第三矩形402c之第三內容描述之後的虛擬紋理。由於認識到共同重疊區域404中之像素已被重複描繪三次,因此跨平台顯像引擎請求描述外接給共同像素區域描繪之三個矩形的方框406中之內容的新內容描述。第4D圖圖示在描繪由替換三個原始內容描述402a402b402c之新內容描述408所描述的內容之後的虛擬紋理400
前端將跨平台顯像引擎之功能(亦即,方法)暴露於模型階層中之應用程式。跨平台顯像引擎暴露所有平台上之相同基礎API。在各個實施例中,前端暴露用於設定及擷取虛擬紋理之性質的一些或所有方法,添加、移除及更新該等虛擬紋理包括(但不限於):Invalidate、InvalidateRect、InvalidateRegion、UpdateRect、Update、GetFullUpdateRegion、GetNumberOfUpdateRects、GetUpdateRect、GetUpdateRects、SetDpi、BeginDrawGdi、BeginDrawDirect2d、EndDraw、EndPartialDraw、Copy、Copy、Resize、GetDpi、GetContentRect、SetPrefetchSize及SetDirect2DTransformIncludesTextureOffset。
API之實施例可視情況在特定平台上提供額外功能。額外功能可基於在某一平台上可用之唯一能力或僅由於 更多地投資某一平台(例如,具有顯著市場佔有率之平台)之意願。應理解,跨平台顯像引擎提高容易地連接應用程式且提供一致使用者體驗的能力不要求平台之間的特徵對等。換言之,跨平台顯像引擎不必限於最小公分母。就跨平台顯像引擎不在某一平台上提供一些特徵結構而言,對寫入台平台特定的程式碼的選擇保持可用,且針對基礎API寫入之任何台無特定平台程式碼的益處仍適用。
提取模型允許跨平台顯像引擎請求應用程式內容以在要求內容描述之前提供該等內容描述。預取內容允許跨平台顯像引擎具有可用於回應於特定操作之內容描述,且在使用者調用操作時允許應用程式即使在應用程式執行緒忙於其他任務(例如,重新計算試算表、保存修復檔案,或將檔案同步至基於雲端的儲存)的情況下仍表現出回應性。跨平台顯像引擎將在水平及/或垂直方向(亦即,預取邊界)上預取選定量之應用程式內容。應用程式可定製跨平台顯像引擎以預設方式應在水平及/或垂直方向上預取多少應用程式內容。預取邊界判定由跨平台顯像引擎快取之應用程式內容的最小量;然而,在充足資源可用的情況下可快取更多應用程式內容。在一些實施例中,跨平台顯像引擎調整基於操作快取之應用程式內容的量。舉例而言,若使用者進行拂動(flick)手勢或與垂直捲動條互動,則可比使用者按鍵盤上之向上或向下箭頭或使用長觸摸以捲動螢幕之情況快取更大量之垂直位移應用程式內容。
捲動操作呈現其中可使用預取之方案之一個實例。 在捲動期間,捲動層考慮具有虛擬紋理之所有子層。此在後端中之捲動通告期間發生。應被快取之應用程式內容的重新計算可僅在已捲動某一距離之後發生。捲動層具有請求其希望預取之虛擬紋理且修整在預取邊界之外的任何內容描述合成物的能力。
第5A圖圖示給定具有多個虛擬紋理之文件中之選定預取邊界的情況下可用於快取之虛擬紋理內容描述的實例。在捲動層502周圍,佈置若干虛擬紋理504。圍繞捲動層之預取邊界506含有若干虛擬紋理504中之一些或全部。為了可用於快取,虛擬紋理中之至少一些虛擬紋理與預取邊界之區域必須重疊。可快取虛擬紋理由陰影指示。在位於預取邊界之外的虛擬紋理之部分係相對小的情況中,跨平台顯像引擎可快取整個虛擬紋理。
第5B圖圖示給定具有包含多個影像塊之單個虛擬紋理之文件中的選定預取邊界的情況下可用於快取之虛擬紋理內容描述的實例。圍繞捲動層之預取邊界含有虛擬紋理中之若干影像塊508中的至少一部分。虛擬紋理中可被快取之影像塊由陰影指示。在此情況中,影像塊大小係相對小的,因此快取整個影像塊以獲得由預取邊界部分容納之任何影像塊。
縮放動作係在不要求涉及應用程式的情況下可由後端進行之操縱的實例。當縮放動作針對由一或多個所儲存之內容描述覆蓋之區域而發生時,跨平台顯像引擎能夠在使用者介面執行緒上快速回應且產生清晰紋理。此歸因於以下事 實:內容描述中之描述含有關於描繪光柵影像而非實際上與原始上下文分離之光柵影像所需之應用程式內容(例如,文字及路徑)的資訊。舉例而言,跨平台顯像引擎可在顯像針對經縮放區域之內容描述時應用比例因子。儘管將存在跨平台顯像引擎不具有針對經縮放區域可用之內容描述且必須向應用程式做出描繪請求的情況,但可預期此類情況係不常見的,因為資源效率允許跨平台顯像引擎保持較大數量個內容描述。
實際問題係,基於原始顯像為紋理之應用程式內容的縮放動作無法匹配由跨平台顯像引擎提供的效率。在不請求應用程式更新紋理的情況下,將使用有損耗的重新定大小演算法進行基於紋理之縮放動作。此將由於紋理中之資訊不足而通常導致模糊影像。另外,重新定大小演算法將通常比應用比例因子而更具計算密集性。可藉由請求應用程式描繪經縮放應用程式內容來獲得較清晰影像。每當縮放位凖變化時,將請求應用程式重新描繪經縮放區域。相比之下,跨平台顯像引擎能夠使用不同比例因子再次顯像相同內容描述而不損失細節。
在代表基於所儲存之內容描述之應用程式顯像應用程式內容之方案中,跨平台顯像引擎可提供通告給應用程式。該通告提供具有對應用程式內容做出改變之機會的應用程式。換言之,事後,在應用程式執行緒係空閒的時,應用程式可更新應用程式內容。同時,跨平台顯像引擎之回應以與使用者之期望一致的方式以及以為使用者提供應用程式係 有回應的感覺的及時方式提供應用程式內容。
跨平台顯像引擎之各個實施例提供允許應用程式在針對重疊紋理顯像時描述供使用之內容描述中之混合類型的不同混合操作。此類混合模式之實例包括正常混合、下逆混合與逆向混合。特定混合模式之可用性可取決於可用於特定平台之功能。
第6A圖圖示使用正常混合模式自內容描述顯像之應用程式內容的實例。正常混合模式在回放內容描述時提供標準透明度(亦即,阿爾法通道)支援。考慮含有描繪兩個重疊圓之命令之內容描述的實例。圓不佔據由內容描述所描述之整個矩形區。為完全顯像與內容描述相關聯之區域,必須亦顯像圓及該區之未被佔據部分(亦即,背景)。使用正常混合模式支援,跨平台顯像引擎顯像該區之未被佔據部分,使得背景在合成進入虛擬紋理(例如,設定阿爾法通道)時被處理為透明的。換言之,較遲顯像之內容描述的背景將不模糊化來自先前顯像之內容描述的內容。在各個實施例中,跨平台顯像引擎可採用不同位凖之透明度。第6B圖圖示在無正常混合模式支援下所得之虛擬紋理,其中使用模糊化第二圓周圍之區域的預設填充顏色顯像背景。
第7A圖圖示使用下逆混合模式自內容描述顯像之應用程式內容的實例。下逆混合模式在回放內容描述時提供「僅變暗」支援。考慮含有高亮文字之命令之內容描述的實例。第一內容描述可描述文字,且第二內容描述可描述表示在合成時將疊覆文字之高亮的經填充路徑。在具有暗色列印 字之淺色(例如,白色)紙上,螢光筆為淺色紙著色,但對暗色列印字不具有可感知效應。使用下逆模式支援,跨平台顯像引擎指示合成器以由不同內容描述所描繪之相同像素的顏色將僅變暗的方式合成紋理。在一些實施例中,保留描繪給相同像素的較暗顏色。在一些實施例中,當描繪給相同像素之兩種顏色組合以形成不同於原始顏色中之任一者之較暗顏色時,保持新顏色,且在得到較淺顏色時,保留原始顏色之較暗者。此允許跨平台顯像引擎產生真實化高亮效應。第7B圖圖示無下逆模式支援下所得之虛擬紋理,其中由於平均化描繪給相同像素之顏色或將透明性應用於路徑且填充,含有由路徑疊覆之文字之像素的部分變得較淺,此表示高亮。
第8A圖圖示使用逆向混合模式自內容描述顯像之應用程式內容的實例。逆向混合模式在回放內容描述時使背景反向,以確保內容總是可見的。考慮含有用於顯示插入記號以圖示暗背景上之文字輸入的當前位置之命令之內容描述的實例。第一內容描述可描述文字,且第二內容描述可描述插入記號及相關聯動畫(例如,閃爍)。當顯像且合成在一起時,文字之由插入記號疊覆之任何部分呈現插入記號之顏色之相反色(例如,白色變成黑色),因此文字看起來未經裁剪。第8B圖圖示在無逆向模式支援下所得之虛擬紋理,其中文字之由插入記號疊覆之部分被插入記號模糊化且看起來已經修剪。
第9圖係跨平台顯像引擎方法之一個實施例之高階流程圖。跨平台顯像引擎方法900在需要對關於應用程式內 容之顯示表面之更新的視圖發生變化時開始。視圖變化可為與應用程式之使用者互動(諸如,資料輸入)或與應用程式使用者介面互動的結果。
在更新請求操作902中,由跨平台顯像引擎接收且解譯來自合成器之更新顯示表面之一部分的更新請求。回應於更新請求,內容描述詳細目錄操作904判定與顯示表面之部分相關聯之內容描述是否由後端儲存。若是,則根據經擴展顯像操作906,跨平台顯像引擎顯像在來自可用內容描述之更新請求中指定之紋理。
操縱判定操作908判定由跨平台顯像引擎接收之更新請求是否涉及可由後端進行之現有內容描述之操縱而不要求對應用程式做出描繪請求。舉例而言,若更新請求涉及對縮放已由內容描述所描述之應用程式之一部分的請求,則跨平台顯像引擎可回應於更新請求而不涉及應用程式。操縱顯像之內容描述操作912操縱現有內容描述且產生與其上執行跨平台顯像引擎之平台相容之顯示組件。此可藉由將比例因子應用於縮放動作之上述實例中之適當現有內容描述來完成。應用程式通告操作914發送通知應用程式跨平台顯像引擎已代表應用程式回應於更新請求之通告。通告為應用程式提供對已經顯像之內容做出改變之機會。
若操縱不係必需的,則標準顯像操作914自現有內容描述產生與其上執行跨平台顯像引擎之平台相容的顯示組件。
可選內容描述調解操作916向應用程式要求新內容 描述以替換描繪給相同像素之內容描述的調解請求。調解請求指示應用程式針對環繞過度描繪像素之內容描述的外接矩形描繪新內容描述。在被接收時,跨平台顯像引擎用新內容描述替換過度描繪像素之內容描述。
可選預取更新操作918判定更新請求是否指示當前視圖已移動,使得應更新經快取內容描述或應快取額外內容描述以允許應用程式保持對使用者之回應性。舉例而言,若使用者正在快速捲動視圖,則可請求捲動方向上之額外內容描述。若如此,則預取操作920發送請求給應用程式,以為虛擬紋理之接近於當前檢視埠之區域供應內容描述。若當前檢視埠移動至彼等周圍區域中,則儲存此等經快取內容描述以供使用。
返回至內容描述詳細目錄操作904,若回應於內容描述之需要不可達成,則內容描述提取操作924發送描繪請求給指定跨平台顯像引擎回應於更新請求所需之應用程式內容的應用程式。在內容描述接收操作926期間,跨平台顯像引擎在前端自應用程式接收內容描述。內容描述傳送操作928將來自前端之內容描述經由跨平台顯像引擎通道架構發送給後端。前端可保留內容描述之副本。此時,即時顯像操作930自回應於內容描述提取操作接收之內容描述產生平台相容之顯示組件。在各個實施例中,即時顯像操作包括在經擴展顯像操作中描述之一些或所有操作。內容描述儲存操作932儲存內容描述以供由後端在未來使用。
在兩種情況中,合成操作934將經顯像紋理傳送至 合成器,以用於包括在可展示於計算裝置之顯示器上的顯示表面中。在該方法結束處,在計算裝置上之螢幕上展示顯示表面。
本申請案之標的可在各種實施例中實踐為系統、裝置及其他製品或實踐為方法。實施例可實施為硬體、軟體、電腦可讀媒體或以上之組合。本文中所描述之實施例及功能可經由包括(但不限於)以下之眾多計算系統操作:桌上型電腦系統、有線及無線計算系統、行動計算系統(例如,行動電話、輕省筆電、平板或板型(slate type)電腦、筆記型電腦及膝上型電腦)、手持裝置、多處理器系統、基於微處理器或可程式化消費者電子設備、微型電腦及大型電腦。
各種類型之使用者介面及資訊可經由機載計算裝置顯示器或經由與一或多個計算裝置相關聯之遠端顯示單元顯示。舉例而言,各種類型之使用者介面及資訊在投影了各種類型之使用者介面及資訊之壁表面上的情況下可在該壁表面上顯示且與該壁表面互動。與可實踐本發明之實施例之眾多計算系統的互動包括按鍵輸入、觸控螢幕輸入、語音或其他音訊輸入、手勢輸入,在手勢輸入中,相關聯計算裝置具備用於擷取及解譯使用者手勢以用於控制計算裝置之功能之偵測(例如,相機)功能,等等。
第10圖及第11A-11B圖以及相關聯描述提供其中可實踐本發明之實施例之各種操作環境之論述。然而,所圖示及論述之裝置及系統係出於實例及說明目的,且並非係對可用於實踐如上所述之本發明之實施例之大量計算裝置配置 的限制。
第10圖係圖示可實踐本發明之實施例之計算裝置1000之實體組件(亦即,硬體)之一個實施例的方塊圖。如下所述之計算裝置組件可適於實現包括(但不限於)以下之計算裝置:個人電腦、平板電腦、平面電腦及智慧型電話,或本文中論述之任何其他計算裝置。在基本配置中,計算裝置1000可包括至少一個處理單元1002及系統記憶體1004。取決於計算裝置之配置及類型,系統記憶體1004可包含(但不限於)揮發性儲存器(例如,隨機存取記憶體)、非揮發性儲存器(例如,唯讀記憶體)、快閃記憶體或此等記憶體之任何組合。系統記憶體1004可包括作業系統1005及適於執行諸如跨平台顯像引擎120之軟體應用程式1020之一或多個程式模組1006。舉例而言,作業系統1005可適於控制計算裝置1000之操作。此外,可結合圖形庫、其他作業系統或任何其他應用程式實踐本發明之實施例,且本發明之實施例不限於任何特定應用程式或系統。此基本配置由虛線1008內之彼等組件圖示。計算裝置1000可具有額外特徵結構或功能。舉例而言,計算裝置1000亦可包括額外資料儲存裝置(可移除式及/或不可移除式),諸如,舉例而言,磁碟、光碟或磁帶。此類額外儲存器由可移除式儲存裝置1009及不可移除式儲存裝置1010圖示。
如上所述,若干程式模組及資料檔案可儲存在系統記憶體1004中。儘管在處理單元1002上執行,但軟體應用程式1020可進行包括(但不限於)跨平台顯像方法900之階 段中之一或多者之程序。根據本發明之實施例可使用之其他程式模組可包括電子郵件及連絡人應用程式、文書處理應用程式、試算表應用程式、資料庫應用程式、幻燈片演示應用程式、描繪應用程式等。
此外,本發明之實施例可在包含分立電子元件、含有邏輯閘之經封裝或整合電子晶片、利用微處理器之電路的電路中實踐,或在含有電子元件或微處理器之單個晶片上實踐。舉例而言,本發明之實施例可經由系統單晶片(SOC)實踐,其中所圖示組件中之每一者或諸多者可整合至單個積體電路中。此一SOC裝置可包括一或多個處理單元、圖形單元、通訊單位、系統虛擬化單元以及各種應用程式功能,所有此等應用程式功能皆整合(或「埋入」)至晶片基板上作為單個積體電路。當經由SOC操作時,本文中所描述之關於軟體應用程式1020之功能可經由與單個積體電路(晶片)上之計算裝置1000之其他組件整合的應用程式特定之邏輯來操作。本發明之實施例亦可使用能夠進行邏輯操作(諸如,舉例而言,AND、OR及NOT)之其他技術來實踐,該等技術包括(但不限於)機械、光學、流體及量子技術。另外,本發明之實施例可在通用電腦內或在任何其他電路或系統中實踐。
計算裝置1000亦可具有一或多個輸入裝置1012,諸如鍵盤、滑鼠、筆、聲音輸入裝置、觸控輸入裝置等。亦可包括一或多個輸出裝置1014,諸如顯示器、揚聲器、印表機等。上述裝置係示例性的,且可使用其他裝置。計算裝置1000可包括允許與其他計算裝置1018通訊之一或多個通訊 連接1016。適合通訊連接1016之實例包括(但不限於)RF發射機、接收器及/或收發器電路系統;通用串列匯流排(USB)、並列及/或串列埠。
如本文中使用之術語電腦可讀媒體可包括電腦儲存媒體。電腦儲存媒體可包括以用於儲存資訊(諸如,電腦可讀指令、資料結構或程式模組)之任何方法或技術實施之揮發性及非揮發性、可移除式及不可移除式媒體。系統記憶體1004、可移除式儲存裝置1009及不可移除式儲存裝置1010全部係電腦儲存媒體(亦即,記憶體儲存)之實例。電腦儲存媒體可包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電抹除式唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、光碟唯讀記憶體(CD-ROM)、數位化通用光碟(DVD)或其他光學儲存器、磁帶盒、磁帶、磁碟儲存器或其他磁儲存裝置,或可用於儲存資訊且可由計算裝置1000存取之任何其他製品。任何此類電腦儲存媒體可為計算裝置1000的部分。
第11A圖及第11B圖係圖示可實踐本發明之實施例之行動計算裝置1100的簡化方塊圖。適合行動計算裝置之實例包括(但不限於)行動電話、智慧型電話、平板電腦、平面電腦及膝上型電腦。在基本配置中,行動計算裝置1100係兼具輸入元件及輸出元件之手持電腦。行動計算裝置1100通常包括顯示器1105及允許使用者將資訊輸入至行動計算裝置1100中之一或多個輸入按鈕1110。行動計算裝置1100之顯示器1105亦可起輸入裝置308的作用(例如,觸控螢幕顯示器)。若包括,則可選側輸入元件1115允許進一步使用者輸 入。側輸入元件1115可為旋鈕開關、按鈕或任何其他類型之手動輸入元件。在替代實施例中,行動計算裝置1100可併入有更多或更少輸入元件。舉例而言,在一些實施例中,顯示器1105可不係觸控螢幕。在又一替代實施例中,行動計算裝置1100為可攜式電話系統,諸如蜂巢式電話。行動計算裝置1100亦可包括可選小鍵盤1135。可選小鍵盤1135可為實體小鍵盤或在觸控螢幕顯示器上產生之「軟」小鍵盤。在各個實施例中,輸出元件包括用於展示圖形使用者介面之顯示器1105、視覺指示器1120(例如,發光二極體)及/或音訊傳感器1125(例如,揚聲器)。在一些實施例中,行動計算裝置1100併入有用於為使用者提供觸覺回饋之振動傳感器。在又一實施例中,行動計算裝置1100併入有輸入及/或輸出埠,諸如音訊輸入(例如,麥克風插口)、音訊輸出(例如,頭戴耳機插口),以及用於發送信號至外部裝置或自外部裝置接收信號之視訊輸出(例如,HDMI埠)。
第11B圖係圖示行動計算裝置之一個實施例之架構之方塊圖。亦即,行動計算裝置1100可併入有系統(亦即,架構)1102以實施一些實施例。在一個實施例中,系統1102實施為能夠執行一或多個應用程式(例如,瀏覽器、電子郵件客戶端、記事本、連絡人管理程式、訊息傳遞客戶端、遊戲及媒體客戶端/播放器)之智慧型電話。在一些實施例中,系統1102整合為計算裝置,諸如整合式個人數位助理(PDA)及無線電話。
一或多個應用程式1166可載入至記憶體1162中且 在作業系統1164上執行或與作業系統1164相關聯。應用程式之實例包括電話撥號程式、電子郵件程式、個人資訊管理(PIM)程式、文書處理程式、試算表程式、網際網路瀏覽器程式、訊息傳遞程式等。系統1102亦包括記憶體1162內之非揮發性儲存區域1168。非揮發性儲存區域1168可用以儲存在系統1102斷電的情況下不應丟失之永存性資訊。應用程式1166可使用及儲存非揮發性儲存區域1168中之資訊,諸如由電子郵件應用程式使用之電子郵件或其他訊息傳遞等等。同步應用程式(未圖示)亦駐存在系統1102上且經程式化以與駐存在主機電腦上之對應同步應用程式互動以使儲存在非揮發性儲存區域1168中之資訊與儲存在主機電腦中之對應資訊保持同步。應理解,包括本文中所描述之軟體應用程式1020之其他應用程式可載入至記憶體1162中且在行動計算裝置1100上執行。
系統1102具有可實施為一或多個電池之電源1170。電源1170可進一步包括外部電源,諸如為電池補充電力或充電之AC配接器或供電銜接底座。
系統1102亦可包括進行發射及接收射頻通訊之功能的無線電1172。無線電1172經由通訊載波或服務提供者促進系統1102與外界之間的無線連接性。在作業系統1164之控制下執行往返於無線電1172之傳輸。換言之,由無線電1172接收之通訊可經由作業系統1164傳播至應用程式1166,且反之亦然。
視覺指示器1120可用以提供可視通告,及/或音訊 介面1174可用來經由音訊傳感器1125產生可聽通告。在所圖示之實施例中,視覺指示器1120係發光二極體(LED)且音訊傳感器1125係揚聲器。此等裝置可直接耦合至電源1170,使得在啟動時,此等裝置保持由通告機構命令之一持續時間,即使處理器1160及其他組件可能為節省電池電量已關閉。LED可經程式化以無限期地保持,直至使用者採取措施指示裝置之通電狀態。音訊介面1174用以提供可聽信號給使用者且自使用者接收可聽信號。舉例而言,除耦合至音訊傳感器1125之外,音訊介面1174亦可耦合至麥克風以接收可聽輸入,以便促進電話交談。根據本發明之實施例,如將在下文描述,麥克風亦可充當音訊感測器以促進通告之控制。系統1102可進一步包括使得機載相機1130能夠操作以記錄靜止影像、視訊串流等之視訊介面1176
實施系統1102之行動計算裝置1100可具有額外特徵結構或功能。舉例而言,行動計算裝置1100亦可包括額外資料儲存裝置(可移除式及/或不可移除式),諸如,磁碟、光碟或磁帶。此類額外儲存器由非揮發性儲存區域1168圖示。
如上所述,由行動計算裝置1100產生或擷取且經由系統1102儲存之資料/資訊可本端地儲存於行動計算裝置1100上,或該資料可儲存於可由裝置經由無線電1172或經由行動計算裝置1100與和行動計算裝置1100相關聯之獨立計算裝置(例如,諸如網際網路之分佈式計算網路中之伺服器電腦)之間的有線連接存取之任何數目個儲存媒體上。應理解,此類資料/資訊可經由行動計算裝置1100、經由無線電 1172或經由分佈式計算網路存取。類似地,此類資料/資訊可根據熟知的資料/資訊傳送及儲存手段(包括電子郵件及協同資料/資訊共用系統)在計算裝置之間容易地傳送以供儲存與使用。
提供於本申請案中之一或多個實施例之描述及說明意欲提供標的物之整個範疇之完全透徹且完整揭示內容給熟習此項技術者,且並非意欲以任何方式限制或限定所主張之本發明之範疇。認為提供於本申請案中之實施例、實例及細節足以傳達佔有且使熟習此項技術者能夠實踐所主張發明之最佳模式。認為對熟習此項技術者而言係熟知的結構、資源、操作及工作的描述可為簡要的或可省略以免模糊本申請案之標的之次要的已知或獨有態樣。除非本文中明確指出,否則所主張之發明不應被認為限於本申請案中提供之任何實施例、實例或細節。不管是全體地還是單獨地圖示或描述,各個特徵結構(結構及方法兩者)意欲選擇性地被包括或被省略以產生具有特定特徵結構集之實施例。此外,所圖示或描述之任何或所有功能及動作可以任何順序或同時進行。已提供有本申請案之描述及說明,熟習此項技術者可設想落在於本申請案中實現之一般發明性概念之較廣態樣之精神內的變化、修改及交替實施例,該等變化、修改及交替實施例不脫離所主張發明之較廣範疇。
100‧‧‧系統
102‧‧‧計算裝置
104‧‧‧螢幕/顯示表面
106‧‧‧顯示表面
108‧‧‧控制件
110‧‧‧服務窗格
112‧‧‧使用者內容顯示區
120‧‧‧跨平台顯像引擎
122‧‧‧內容描述
124‧‧‧應用程式執行緒
126‧‧‧使用者介面執行緒
128‧‧‧合成器執行緒
130‧‧‧合成器
132‧‧‧顯像執行緒

Claims (20)

  1. 一種用於顯像與一應用程式相關聯之電腦產生之顯示組件以供在一電腦啟用之顯示表面上顯示之方法,該方法包含以下動作:接收描述如何描繪與一應用程式之應用程式內容相關聯之一或多個電腦產生之顯示組件的一或多個命令;將該一或多個命令儲存在一或多個內容描述中以供由獨立於該應用程式操作之一顯像引擎使用;用該顯像引擎自該一或多個內容描述顯像該一或多個電腦產生之顯示組件以供由系統顯示;及提供該等電腦產生之顯示組件以供在該電腦啟用之顯示表面上顯示。
  2. 如請求項1所述之方法,其進一步包含以下動作:請求該應用程式提供描述如何描繪一或多個電腦產生之顯示組件之命令,當前不針對該一或多個電腦產生之顯示組件儲存與該一或多個電腦產生之顯示組件相關聯之該一或多個內容描述;立即依據該等命令顯像該一或多個電腦產生之顯示組件;及將該等命令儲存在一或多個內容描述中以供後續使用。
  3. 如請求項2所述之方法,其進一步包含以下動作:接收對顯像該一或多個電腦產生之顯示組件以供在該電腦啟用之顯示表面上顯示之一請求。
  4. 如請求項1所述之方法,其中該一或多個命令及該一或多個內容描述係台無特定平台的,且用該顯像引擎自該一或多個內容描述顯像該一或多個電腦產生之顯示組件之該動作產生台平台特定的電腦產生之顯示組件。
  5. 如請求項1所述之方法,其進一步包含以下動作:將與表示應用程式內容之相同虛擬紋理相關聯之一或多個內容描述添加至一內容描述集合。
  6. 如請求項5所述之方法,其進一步包含以下動作:判定該內容描述集合中之至少三個內容描述已顯像相同的至少一個像素;向該應用程式請求用於由環繞由該至少三個內容描述描繪之該虛擬紋理之部分的一外接方框包圍之該虛擬紋理之該部分的一新內容描述;及用該內容描述集合中之該新內容描述替換顯像該相同的至少一個像素之該至少三個內容描述。
  7. 如請求項1所述之方法,其中: 接收描述如何描繪該應用程式之一或多個電腦產生之顯示組件之一或多個命令的該動作在一第一程序中發生;用該顯像引擎自該一或多個內容描述顯像該一或多個電腦產生之顯示組件以供由該系統顯示的該動作在一第二程序中發生;及將該一或多個命令儲存在一或多個內容描述中之該動作進一步包含以下動作:將該一或多個內容描述自該第一程序傳遞至該第二程序。
  8. 如請求項7所述之方法,其進一步包含以下動作:不允許該應用程式將命令發送給該第二程序。
  9. 一種顯像應用程式內容以供在一電腦啟用之顯示表面上顯示之系統,該系統包含:一第一內容描述記憶體,其用於儲存含有自產生應用程式內容之一應用程式接收之命令的一內容描述,該等命令描述如何描繪該應用程式內容;及一處理器,其執行該應用程式,以及一顯像引擎,該顯像引擎用於自該內容描述顯像該應用程式內容以供在一電腦啟用之顯示表面上顯示,該顯像引擎與該第一記憶體及該應用程式通訊。
  10. 如請求項9所述之系統,其中該顯像引擎進一步包含與一後端通訊之一前端,該前端與該應用程式通訊且自該應用 程式接收該等命令,該後端自該內容描述顯像該應用程式內容。
  11. 如請求項10所述之系統,其中該第一內容描述記憶體與該前端相關聯,該系統進一步包含與該後端相關聯之一第二內容描述記憶體。
  12. 如請求項11所述之系統,其中該顯像引擎包括該前端與該後端之間的一直接通訊通道,該前端將內容描述自該第一內容描述記憶體經由該通訊通道傳遞至該第二內容描述記憶體。
  13. 如請求項10所述之系統,其進一步包含:一應用程式執行緒,其與該前端相關聯;及一使用者介面執行緒,其與該後端相關聯。
  14. 如請求項13所述之系統,其進一步包含一顯像執行緒,該顯像執行緒用於將該等內容描述光柵化成光柵影像以供在該電腦啟用之顯示表面上顯示,該顯像執行緒回應於對顯像由該使用者介面執行緒發送之內容的請求。
  15. 如請求項9所述之系統,其中該顯像引擎與負責合成用於在該電腦啟用之顯示表面上顯示的一最後影像之一合成器通訊。
  16. 一種含有電腦可執行指令之電腦可讀媒體,該等電腦可執行指令在由一電腦執行時進行用於在一電腦啟用之顯示表面上顯示應用程式內容之一方法,該方法包含以下動作:自在一第一程序階層中由在該第一程序階層中執行之一顯像引擎前端執行之一應用程式執行緒接收描述如何描繪一或多個電腦產生之顯示組件的一內容描述;將該內容描述儲存在由該顯像引擎前端維護之一第一內容描述集合中;將該內容描述經由該顯像引擎前端與在一第二程序階層中執行之一顯像引擎後端之間的一專用通訊通道傳遞至該顯像引擎後端;將該內容描述儲存在由該顯像引擎後端維護之一第二內容描述集合中;由該顯像引擎後端顯像對應於該內容描述之內容之一影像;及將該影像自該顯像引擎後端發送至一合成器以供在一電腦啟用之顯示表面上顯示。
  17. 如請求項16所述之電腦可讀媒體,其中該方法進一步包含以下動作:在該顯像引擎後端處使用與儲存在該第二內容描述集合中之應用程式內容之一選定區域相關聯之一或多個內容描述,回應於對操縱應用程式內容之該選定區域一請求。
  18. 如請求項17所述之電腦可讀媒體,其中對操縱應用程式內容之一選定區域之該請求係對縮放之一請求或對平移之一請求。
  19. 如請求項16所述之電腦可讀媒體,其中該方法進一步包含以下動作:將該內容描述以及與由該應用程式產生之應用程式內容之一選定區域相關聯之其他內容描述集合成一內容描述合成物。
  20. 如請求項16所述之電腦可讀媒體,其中該方法進一步包含以下動作:向該應用程式請求一新內容描述以替換描繪給表示該應用程式內容之一虛擬紋理之相同像素中之至少一些像素的三個或三個以上內容描述。
TW104102371A 2014-02-24 2015-01-23 跨平台顯像引擎 TW201539294A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/187,897 US10157593B2 (en) 2014-02-24 2014-02-24 Cross-platform rendering engine

Publications (1)

Publication Number Publication Date
TW201539294A true TW201539294A (zh) 2015-10-16

Family

ID=52633641

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104102371A TW201539294A (zh) 2014-02-24 2015-01-23 跨平台顯像引擎

Country Status (6)

Country Link
US (1) US10157593B2 (zh)
EP (1) EP3111318B1 (zh)
KR (1) KR102307163B1 (zh)
CN (1) CN106062705B (zh)
TW (1) TW201539294A (zh)
WO (1) WO2015127149A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934207B1 (en) * 2014-05-02 2018-04-03 Tribune Publishing Company, Llc Online information system with continuous scrolling and previous section removal
US10802660B1 (en) * 2015-07-29 2020-10-13 Intuit Inc. Metadata-driven binding of platform-agnostic content to platform-specific user-interface elements
JP2017056687A (ja) * 2015-09-18 2017-03-23 株式会社ナンバースリー 着色された金属板、チューブ、及び金属板の着色方法
US10453240B2 (en) * 2015-11-05 2019-10-22 Adobe Inc. Method for displaying and animating sectioned content that retains fidelity across desktop and mobile devices
CN107315599B (zh) * 2016-04-27 2020-09-01 龙芯中科技术有限公司 图形库提取方法及装置
US20180293086A1 (en) * 2017-04-06 2018-10-11 Microsoft Technology Licensing, Llc Cross-application content injection
CN107315580B (zh) * 2017-04-17 2020-06-02 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质
CN109725956B (zh) * 2017-10-26 2022-02-01 腾讯科技(深圳)有限公司 一种场景渲染的方法以及相关装置
US11222449B2 (en) * 2018-10-24 2022-01-11 EMC IP Holding Company LLC Smart visualization transformation for intuitive presentations
CN111694625B (zh) * 2019-03-14 2023-05-19 阿里巴巴集团控股有限公司 一种车盒向车机投屏的方法和设备
WO2020255084A1 (en) * 2019-06-19 2020-12-24 Calgary Scientific Inc. Software collaboration platform for advanced workflows and digital twins
CN112286576A (zh) * 2019-07-23 2021-01-29 腾讯科技(深圳)有限公司 跨平台渲染方法、客户端及介质
CN110688601A (zh) * 2019-09-18 2020-01-14 郑州阿帕斯科技有限公司 一种数据处理方法及装置
CN111402263B (zh) * 2020-03-04 2023-08-29 南方电网科学研究院有限责任公司 高分大屏可视化优化方法
CN112070871B (zh) * 2020-09-02 2024-01-19 山东天兑信息科技有限公司 一种跨平台三维可视化引擎构建系统、方法、终端及储存介质
US11521358B2 (en) * 2021-01-07 2022-12-06 Google Llc Computing platform for facilitating augmented reality experiences with third party assets
CN112929682B (zh) * 2021-01-21 2023-03-24 广州虎牙科技有限公司 对图像背景进行透明处理的方法、装置、系统及电子设备
CN113181657B (zh) * 2021-04-30 2024-04-05 北京读我网络技术有限公司 一种跨平台渲染方法及装置
US20220368765A1 (en) * 2021-05-13 2022-11-17 Agora Lab, Inc. Universal Transport Framework For Heterogeneous Data Streams
CN114237795B (zh) * 2021-12-16 2024-01-30 海宁奕斯伟集成电路设计有限公司 终端界面显示方法、装置、电子设备及可读存储介质

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69228929T2 (de) 1992-02-25 1999-12-02 Citizen Watch Co Ltd Flüssigkristallanzeige
US5977966A (en) 1993-04-28 1999-11-02 Microsoft Corporation System-provided window elements having adjustable dimensions
US5751283A (en) 1996-07-17 1998-05-12 Microsoft Corporation Resizing a window and an object on a display screen
US7168048B1 (en) 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
GB2373887A (en) 2001-03-28 2002-10-02 Hewlett Packard Co Context dependent operation, including power management, of a mobile computer
CN1427373A (zh) 2001-12-19 2003-07-02 英业达股份有限公司 处理图形遮挡的方法
US7234144B2 (en) 2002-01-04 2007-06-19 Microsoft Corporation Methods and system for managing computational resources of a coprocessor in a computing system
US20030197716A1 (en) 2002-04-23 2003-10-23 Krueger Richard C. Layered image compositing system for user interfaces
US7302648B1 (en) 2002-07-10 2007-11-27 Apple Inc. Method and apparatus for resizing buffered windows
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
US7034834B2 (en) 2003-10-24 2006-04-25 Microsoft Corporation Communication protocol for synchronizing animation systems
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US20060184894A1 (en) 2005-02-15 2006-08-17 International Business Machines Corporation Global window management for parent/child relationships
US20060274070A1 (en) 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
KR20060119085A (ko) 2005-05-18 2006-11-24 삼성전자주식회사 텍스쳐 캐쉬 메모리 장치 및 이를 이용한 삼차원 그래픽가속기 및 방법
US7477254B2 (en) 2005-07-13 2009-01-13 Microsoft Corporation Smooth transitions between animations
US8055444B2 (en) 2006-04-04 2011-11-08 Yahoo! Inc. Content display and navigation interface
US7872650B2 (en) 2006-04-27 2011-01-18 Microsoft Corporation Remotely viewing large tiled image datasets
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
US8884990B2 (en) 2006-09-11 2014-11-11 Adobe Systems Incorporated Scaling vector objects having arbitrarily complex shapes
US20080100636A1 (en) 2006-10-31 2008-05-01 Jiin Lai Systems and Methods for Low-Power Computer Operation
US8806028B2 (en) 2007-04-26 2014-08-12 Novatel Wireless, Inc. System and method for accessing data and applications on a host when the host is in a dormant state
US20080303826A1 (en) 2007-06-11 2008-12-11 Adobe Systems Incorporated Methods and Systems for Animating Displayed Representations of Data Items
SE533322C2 (sv) 2007-12-21 2010-08-24 Tat The Astonishing Tribe Ab Förfarande, modul och anordning för att visa grafisk information
US8368705B2 (en) * 2008-07-16 2013-02-05 Google Inc. Web-based graphics rendering system
US8294723B2 (en) * 2008-11-07 2012-10-23 Google Inc. Hardware-accelerated graphics for web applications using native code modules
US8836706B2 (en) 2008-12-18 2014-09-16 Microsoft Corporation Triggering animation actions and media object actions
US9865233B2 (en) 2008-12-30 2018-01-09 Intel Corporation Hybrid graphics display power management
US8619083B2 (en) 2009-01-06 2013-12-31 Microsoft Corporation Multi-layer image composition with intermediate blending resolutions
US20100235769A1 (en) 2009-03-16 2010-09-16 Microsoft Corporation Smooth layout animation of continuous and non-continuous properties
CN101882321B (zh) 2009-05-08 2012-09-05 上海科泰世纪科技有限公司 动画用户界面渲染系统及方法
CN101893980B (zh) 2009-05-20 2012-04-25 龙旗科技(上海)有限公司 一种带滑动动画效果的多图像查看界面的显示方法
CN101714088B (zh) 2010-01-04 2013-09-18 中兴通讯股份有限公司 移动终端用户界面增强视效实现方法及其装置
US10007393B2 (en) 2010-01-19 2018-06-26 Apple Inc. 3D view of file structure
US20110199318A1 (en) 2010-02-12 2011-08-18 Microsoft Corporation Multi-layer user interface with flexible parallel movement
US9223589B2 (en) 2010-02-26 2015-12-29 Microsoft Technology Licensing, Llc Smooth layout animation of visuals
US10089711B2 (en) 2010-09-03 2018-10-02 Adobe Systems Incorporated Reconstructable digital image cache
US8988468B2 (en) 2011-01-21 2015-03-24 Wishabi Inc. Interactive flyer system
US8687840B2 (en) 2011-05-10 2014-04-01 Qualcomm Incorporated Smart backlights to minimize display power consumption based on desktop configurations and user eye gaze
US10534842B2 (en) * 2011-07-12 2020-01-14 Inkling Systems, Inc. Systems and methods for creating, editing and publishing cross-platform interactive electronic works
US20130063446A1 (en) 2011-09-10 2013-03-14 Microsoft Corporation Scenario Based Animation Library
US9672050B2 (en) 2011-10-18 2017-06-06 Blackberry Limited Method of distributed layout negotiation in a user interface framework
US9135022B2 (en) 2011-11-14 2015-09-15 Microsoft Technology Licensing, Llc Cross window animation
US9196075B2 (en) 2011-11-14 2015-11-24 Microsoft Technology Licensing, Llc Animation of computer-generated display components of user interfaces and content items
US8786620B2 (en) 2011-11-14 2014-07-22 Microsoft Corporation Discarding idle graphical display components from memory and processing
US9645978B2 (en) 2011-11-16 2017-05-09 Microsoft Technology Licensing, Llc Techniques for the automatic animation of changes to document content
US20130139072A1 (en) 2011-11-28 2013-05-30 Microsoft Corporation Executing a composited application
US9229613B2 (en) 2012-02-01 2016-01-05 Facebook, Inc. Transitions among hierarchical user interface components
US9286054B2 (en) * 2012-05-15 2016-03-15 Pravaa Infosystems Private Limited Deployment of mobile enterprise application platform
US20150339841A1 (en) 2014-05-22 2015-11-26 Microsoft Corporation Layout animation panel

Also Published As

Publication number Publication date
CN106062705B (zh) 2019-07-02
US10157593B2 (en) 2018-12-18
EP3111318B1 (en) 2021-11-17
WO2015127149A1 (en) 2015-08-27
US20150243257A1 (en) 2015-08-27
EP3111318A1 (en) 2017-01-04
KR20160120343A (ko) 2016-10-17
CN106062705A (zh) 2016-10-26
KR102307163B1 (ko) 2021-10-01

Similar Documents

Publication Publication Date Title
US10157593B2 (en) Cross-platform rendering engine
KR101086570B1 (ko) 동적 윈도우 구조
US10592090B2 (en) Animations for scroll and zoom
US9715750B2 (en) System and method for layering using tile-based renderers
US7536645B2 (en) System and method for customizing layer based themes
CN109300181B (zh) 用户界面和内容项的计算机生成显示组件的动画
US7688317B2 (en) Texture mapping 2-D text properties to 3-D text
KR102055467B1 (ko) 가상 서피스 할당 기법
KR20100004119A (ko) 포스트-렌더링 그래픽스 오버레이
JP2012038336A (ja) 装置上でデジタルビジュアルコンテンツを閲覧するためのシステム及び方法
US10043489B2 (en) Virtual surface blending and BLT operations
US10691880B2 (en) Ink in an electronic document
US20190080017A1 (en) Method, system, and device that invokes a web engine
US10304225B2 (en) Chart-type agnostic scene graph for defining a chart
CN110286971B (zh) 处理方法及系统、介质和计算设备
CN113874868A (zh) 用于3d环境的文本编辑系统
US20230342018A1 (en) Dynamic element control method, electronic device, and computer readable storage medium
CN112800365A (zh) 表情包的处理方法、装置及智能设备
CN111813404B (zh) 基于混合图形显示的应用方法、介质及客户端
US20230230295A1 (en) Masking and compositing visual effects in user interfaces
CN114201251A (zh) 降低书写痕迹显示延时的方法、装置、设备及介质
JP2003345788A (ja) 電子文書表示方法、電子文書表示装置、電子文書表示プログラムおよび電子文書表示プログラムを記録した機械読取り可能な記録媒体