![]() 於多重應用程式環境中之全螢幕處理技術
专利摘要:
用於自在一執行環境之內執行的複數個圖形應用程式而決定一前景應用程式以及至少一背景應用程式之系統及方法被揭示。利用該前景應用程式所呈現之像素資料可被顯示於該執行環境,而該背景應用程式之一呈現線程可被暫停。 公开号:TW201314570A 申请号:TW101119134 申请日:2012-05-29 公开日:2013-04-01 发明作者:Tao Zhao;John C Weast;Brett Peng Wang 申请人:Intel Corp; IPC主号:G06T1-00
专利说明:
於多重應用程式環境中之全螢幕處理技術 本發明係有關於多重應用程式環境中之全螢幕處理技術。 發明背景 各種圖形軟體應用程式可被不同的數位/電子式系統所使用以呈現圖形景象。於一些情況中,複數個圖形軟體應用程式可於相同執行環境或系統中進行。於一多重應用程式執行環境中,例如,一多重應用程式架構(MAF)環境,複數個原生應用程式使用者介面(UI)可能需要被構成以產生指定之使用者體驗。於MAF全螢幕模式中,一特定應用程式可被選擇並且被帶至前景,而除了UI架構之外的其餘應用程式則呈現至螢幕外之表面並且這些表面被改向至供用於最後輸出之UI架構。 但是,比較於原來直接地至螢幕之一應用程式呈現,此全螢幕模式處理可能比供交互處理呈現以及UI複合目的所需者消耗更多硬體(HW)資源。例如,圖形核心,諸如一嵌入式圖形處理單元(GPU),通常僅可支援一執行線程。為了支援多重應用程式,一般的GPU可在呈現應用程式之間進行時間分切而無視於那些應用程式是否呈現在螢幕上或螢幕外。因而,於習見的MAF環境中,即使僅複數個呈現應用程式之一者是呈現在螢幕上,該應用程式僅得益於GPU之呈現容量的一部分。為了造成螢幕呈現上之較佳效用,一般的MAF環境可能關閉所有的其他呈現程序以允許一螢幕上之呈現程序唯一接取GPU資源。 依據本發明之一實施例,係特地提出一種方法,其包括:在一個或多個處理器核心處,對於在一執行環境內執行之複數個圖形應用程式,決定一前景應用程式以及至少一背景應用程式;提供藉由該執行環境中之該前景應用程式所呈現之像素資料;並且當提供該像素資料時暫停該背景應用程式之一呈現線程。 圖式簡單說明 此處說明之素材藉由範例被展示並且不受限制於附圖中。為了說明之簡明與清晰故,圖形中所展示之元件不必定得依其尺度而繪製。例如,為清楚起見,一些元件尺度可相對於其他元件被放大。進一步地,經由考慮適當時,參考標號在圖形之間被重複以指示對應或類似的元件。於圖形中:第1圖是執行環境範例之說明圖;第2圖說明一處理範例之圖形;第3圖說明一處理範例之圖形;第4圖說明一處理範例之圖形;第5圖說明一處理範例之圖形;第6圖是一系統範例之說明圖;以及第7圖說明依據本揭示至少一些實作例完全被配置之處理範例圖形。 詳細說明 一個或多個實施例接著參考相關圖形被說明。雖然特定組態以及配置被討論,應了解,這僅是為了達成說明目的。熟習有關技術者應明白,其他組態以及配置亦可被採用而不脫離本說明之精神與範疇。熟習本技術者應明白,此處說明之技術及/或配置也可被使用於除了此處說明外之多種其他系統以及應用程式上。 雖然下面之說明提出可被顯示於結構中之各種實作例,此系統晶片(SoC)結構,例如,此處說明之技術及/或配置實作例不被限制於特定結構及/或電腦系統,並且因相似目的而可藉由任何結構及/或電腦系統被實作。例如,採用複數個積體電路(IC)晶片及/或封裝、及/或各種電腦裝置及/或消費者電子(CE)裝置,例如,機上盒、智慧型手機等等之各種結構,可實作此處說明之技術及/或配置。進一步地,雖然下面的說明可提出許多特定細節,例如,系統構件之邏輯實作、型式以及相互關係、邏輯分割/整合選擇等等,所宣稱之主題可被實施而不必此些特定細節。於其他實例中,為了不混淆此處揭示之素材,例如,一些素材,例如,控制結構以及全部軟體指令序列,可能不詳細地被展示。 此處揭示之素材可以硬體、韌體、軟體、或其任何組合被實作。此處揭示之素材也可被實作如儲存在機器可讀取媒體上之指令,其可利用一個或多個處理器被讀取並且被執行。機器可讀取媒體可包含以機器(例如,電腦裝置)可讀取形式儲存或發送資訊之任何媒體及/或機構。例如,機器可讀取媒體可包含唯讀記憶體(ROM);隨機存取記憶體(RAM);磁碟儲存媒體;光學儲存媒體;快閃記憶體裝置;電氣、光學、聲學、或其他形式之傳輸信號(例如,載波、紅外線信號、數位信號等等)以及其他者。 於說明文中涉及之“一個實作例”、“一實作例”、“一範例實作例”等等,指明所述實作例可包含一特定特點、結構或特性,但是每個實作例可以不必定得包含特定特點、結構或特性。此外,此等詞組不必定得指示相同實作例。進一步地,當一特定特點、結構或特性配合一實作例被說明時,其被認為是在熟習本技術者之知識內以使得此特點、結構或特性可配合不論是否明確於此處說明之其他實作例。 此處說明之素材可被實作於多重應用程式執行環境中,其於此後被稱為允許用於圖形顯示之多重應用程式UI複合的多重應用程式架構(MAF)。第1圖說明依據本揭示之MAF環境100。環境100可以硬體、軟體、韌體或其任何組合被實作。例如,環境,至少部分地,可藉由利用電腦系統(例如,採用SoC結構之CE系統)或在該系統之內被執行的軟體及/或韌體指令被實作。 環境100包含可被儲存在記憶體(未被展示)中之操作系統(OS)102。OS 102可以是任何型式並且可以是可操作地及/或可通訊地耦合至圖形裝置程式庫(GDL)驅動器104。於各種實作例中,GDL驅動器104可以是,藉由非限定性範例,可利用系統硬體(未被展示)被執行之呈現應用程式或程式。 環境100進一步包含複數個圖形或呈現應用程式106、108以及110。於各種實作例中,呈現應用程式106、108及/或110可包含一個或多個呈現功能並且可與其他軟體(例如,GDL驅動器104)通訊。藉由非限定性範例,應用程式106可以是DirectFB應用程式(參看,例如,2010年11月15日被釋出之DirectFB版本1.4.11),應用程式108可以是一OpenGL ES應用程式(參看,例如,公開於2010年7月25日之OpenGL規格版本4.1),並且應用程式110可代表一個或多個呈現應用程式,例如,簡單直接媒體層(SDL)或其類似者。於各種實作例中,應用程式106、108以及110可以是關聯分別的應用程式程式介面(API)引擎或程式庫112、114以及115。進一步地,於各種實作例中,應用程式106、108以及110及/或API程式庫112、114以及115可以是關聯對應的軟體媒介或圖形封套116、118以及120。例如,經由非限定性範例,應用程式106可以是DirectFB呈現應用程式並且可包含DirectFB API程式庫112以及DirectFB封套116,而應用程式108可以是OpenGL ES呈現應用程式並且可包含OpenGL ES API程式庫114以及OpenGL ES封套118。 於各種實作例中,任何的呈現API媒介或封套116、118以及120,例如,封套116,可在呈現API程式庫(例如,API程式庫112)內作用,以改變螢幕上呈現輸出至螢幕外並且提供相關的記憶體表面資訊至其他實體,如將在下面更詳細之說明。熟習本技術者將明白,一記憶體表面可以被實作於一記憶體緩衝器並且可包含像素資訊或資料。環境100進一步包含一應用程式/表面管理構件或廣域景象圖形程式庫(GSGL)122可操作地及/或可通訊地耦合至封套116、118以及120。於各種實作例中,GSGL 122可主導所有下方記憶體表面並且可使用已知的相互處理通訊方法與封套116、118以及120通訊。回應於來自GSGL 122之通訊,封套116、118及/或120可導致分別的應用程式106、108及/或110之呈現輸出以在螢幕上或螢幕外記憶體表面之間切換。 於各種實作例中,環境100進一步包含一應用程式登錄檔124以保持資訊並且管理應用程式106、108及/或110。環境100進一步包含呈現服務應用程式或UI應用程式126以複合來自應用程式106、108以及110之螢幕外輸出,並且顯示一最後UI在顯示螢幕(未被展示)上。UI應用程式126也可動作以決定,至少部分地,一特定的應用程式之輸出是否將被提供至螢幕上記憶體表面或至螢幕外記憶體表面。UI應用程式126可從登錄檔124得到應用程式資訊及/或記憶體表面資訊。於一些實作例中,環境100可包含一裝訂程式庫或層128以將下方記憶體表面轉換至各種呈現API表面。於各種實作例中,裝訂層128可實作Clutter Binding或任何其他圖形引擎,例如,OpenGL ES或Qt。 第2圖說明依據本揭示各種實作例之範例處理200之流程圖。處理200可包含一個或多個操作、功能或活動,如一個或多個方塊202、204、206、208、210、212、214、216以及218之展示。雖然,經由非限定性範例,於第1圖範例環境100脈絡中之處理200將於此處被說明,熟習本技術者應明白,處理200可被實作於各種其他執行環境中。處理200可開始於方塊202。 在方塊202,一UI應用程式可開始並且該UI應用程式可等待以接收記憶體表面資訊。例如,UI應用程式126可開始於方塊202並且可等待以接收關於一個或多個應用程式106、108及/或110之記憶體表面資訊。在方塊204,呈現應用程式可開始並且呈現應用程式可從API程式庫配置一記憶體表面。例如,應用程式108可開始於方塊204並且可從API程式庫114配置記憶體表面。在方塊206,應用程式可提供呈現應用程式資訊至應用程式登錄檔。例如,在方塊206,應用程式108可提供呈現應用程式資訊至應用程式登錄檔124,其中該應用程式資訊包含辨識呈現應用程式之資訊,例如,處理名稱、處理辨識數目等等。在方塊208,下方記憶體表面可被檢測。例如,在方塊208,關聯API程式庫114以及應用程式108之封套118可檢測利用應用程式108在方塊204被配置之記憶體表面。 處理200可繼續於方塊210,其中記憶體表面資訊可被提供至圖形程式庫。例如,在方塊210,封套118可提供包含辨識被配置至GSGL 122之記憶體表面的資訊之應用程式資訊。記憶體表面資訊也可包含指明在記憶體表面以及呈現程序之間的關係之資訊,例如,呈現應用程式正使用之配置記憶體表面與其他記憶體表面之順序,該配置記憶體表面於記憶體中之位置,以及其它者。在方塊212,記憶體表面資訊以及指明在表面以及對應的應用程式處理之間的關係之資訊可被儲存。例如,在方塊212,GSGL 122可儲存於方塊210中被提供之記憶體表面資訊並且也可儲存指明在應用程式108的記憶體表面以及呈現程序間之關係的資訊。 處理200可繼續於方塊214,其中一翻轉呼叫可能被截取並且圖形程式庫可被通知該翻轉呼叫。例如,在方塊214,封套118可能截取藉由應用程式108從呈現產生之一翻轉呼叫(例如,gdl_flip()呼叫)並且封套118可通知GSGL 122有關封套118已截取一翻轉呼叫。熟習本技術者將明白,當圖形應用程式從呈現切換至背景或螢幕外記憶體表面以呈現至前景或螢幕上記憶體表面或反之亦然時,一翻轉呼叫,例如,gdl_flip()可能發生。在方塊216,翻轉呼叫之執行可能被阻止。例如,在方塊216,封套118可阻止在方塊214截取的翻轉呼叫之執行。於各種實作例中,方塊216可包含,例如,阻止從內部應用程式緩衝器至一實體顯示裝置之像素資料的轉移。 處理200可結束於方塊218,記憶體表面資訊可於該處被更新。例如,在方塊218,GSGL 122可回應於方塊214所提供之通知,更新先前被儲存在方塊218之記憶體表面資訊以指示關聯應用程式108之翻轉呼叫已被截取及/或辨識,被應用程式108所使用之記憶體表面,該等記憶體表面被翻轉呼叫所影響。雖然範例處理200之實作例,如第2圖中之說明,可包含進行展示順序的所有方塊202-218,所宣稱之主題是不受限定於這方面,並且於各種範例中,處理200之實作例可包含進行僅方塊202-218之一子集及/或不同於展示之順序。 第3圖說明依據本揭示各種實作例之範例處理300流程圖。處理300可包含一個或多個操作、功能、或活動,如一個或多個方塊302、304、306、308、以及310之展示。雖然,藉由非限定性範例,第1圖範例環境100脈絡中之處理300將於此處被說明,熟習本技術者將明白,處理300可被實作於各種其他執行環境中。處理300可開始於方塊302。 在方塊302,一呈現應用程式可被帶至供用於全螢幕顯示之前景,並且在方塊304,應用程式資訊可被得到以供用於前景應用程式。例如,參看至第2圖之處理200,方塊302可在一翻轉呼叫被截取之後發生並且在方塊214-218對應的記憶體表面資訊被更新。因此,方塊302可包含帶動在方塊214發佈之翻轉呼叫至前景以供用於全螢幕顯示之應用程式的呈現輸出。例如,方塊302可包含帶動應用程式108至前景以供用於全螢幕呈現之UI應用程式126。UI應用程式126接著可藉由從應用程式登錄檔124得到對應至應用程式108的應用程式資訊而進行方塊304。在方塊306,對應的封套可被通知。例如,UI應用程式126可藉由要求GSGL 122提供指令至封套116、118以及120而進行方塊306,其中那些的指令可指定應用程式108之呈現輸出是將被處理以供用於前景呈現,而應用程式106以及110是將作為背景應用程式。 處理300可繼續於方塊308,其中一原始翻轉可被進行以供用於前景應用程式,而在方塊310,背景應用程式之呈現程序可被暫停。例如,在方塊306,回應於利用GSGL 122被提供之一指令,封套118可利用引導應用程式108之呈現程序至一直接翻轉而進行方塊308,然而,也回應於利用GSGL 122在方塊306被提供之指令,封套116以及120可藉由暫停分別的應用程式106以及110之呈現線程而進行方塊310。於各種實作例中,當在方塊308進行一原始翻轉時,一呈現應用程式,例如,應用程式108,可被允許直接接取實體硬體平面及/或顯示裝置,以至於所呈現輸出之中間複合可能是不需的。進一步地,當實作方塊310時,封套116以及120也可阻止分別應用程式106以及110之翻轉呼叫並且等待來自GSGL 122進一步之通知。 雖然範例處理300之實作例,如第3圖中之展示,可包含所展示順序中所有方塊302-310的進行,所宣稱之主題是不受限定於這方面,並且於各種範例中,處理300之實作例可包含僅方塊302-310之一子集及/或不同於所展示順序之進行。因此,例如,於各種實作例中,處理300可包含大體上平行之方塊308以及310的進行或可包含於進行方塊308之前進行方塊310等等。 第4圖說明依據本揭示各種實作例之範例處理400的流程圖。處理400可包含一個或多個操作、功能或活動,如一個或多個方塊402、404、406、408、以及410之展示。雖然,經由非限定性範例,第1圖範例環境100脈絡中之處理400將於此處被說明,熟習本技術者將明白,處理400可被實作於各種其他執行環境中。處理400可開始於方塊402。 在方塊402,一前景應用程式可被返回至背景,並且在方塊404,應用程式資訊可從一應用程式登錄檔被得到。例如,UI應用程式126可藉由發送應用程式108至背景而進行方塊402並且可藉由從應用程式登錄檔124得到對應至應用程式108的應用程式資訊而進行方塊404。在方塊406,對應的封套可被通知。例如,UI應用程式126可藉由要求GSGL 122提供指令至封套116、118以及120而進行方塊406。 處理400可在方塊408繼續,供用於前景應用程式之一原始翻轉於該處可能不被引動,而在方塊410,背景應用程式之呈現程序可被繼續。例如,回應於在方塊406利用GSGL 122被提供之一指令,封套118可藉由禁止應用程式108之呈現程序形成一翻轉呼叫以及藉由引導該呈現至一螢幕外之記憶體表面而進行方塊408。進一步地,並且也回應於在方塊406利用GSGL 122被提供之指令,封套116以及120可藉由繼續分別應用程式106以及110之呈現線程,例如,而進行方塊410。 雖然範例處理400之實作例,如第4圖之說明,可包含所展示順序之所有方塊402-410的進行,所宣稱之主題是不受限定於這方面,並且,於各種範例中,處理400之實作例可包含僅方塊402-410之一子集及/或不同於所展示順序的進行。因此,例如,於各種實作例中,處理400可包含大體上平行之方塊408以及410的進行或可包含於進行方塊408之前進行方塊410等等。 第5圖說明依據本揭示各種實作例於多重應用程式環境中用於全螢幕應用程式處理之範例處理500的流程圖。處理500可包含一個或多個操作、功能或活動,如一個或多個方塊502、504以及506之說明。雖然,經由非限定性範例,第1圖範例環境100脈絡中之處理500將於此處被說明,熟習本技術者將明白,處理500可被實作於各種其他執行環境中。處理500可開始於方塊502。 在方塊502,一呈現應用程式可退出。例如,應用程式108可藉由退出執行而進行方塊502。在方塊504,記憶體表面已被破壞之通知可被提供,並且,在方塊506,記憶體表面資訊可被更新。例如,方塊504可涉及封套118,回應於在方塊502退出之應用程式108,通知GSGL 122被應用程式108所使用之一個或多個記憶體表面已破壞。方塊506接著可包含GSGL 122,其回應於從封套118接收之通知而更新記憶體表面資訊。雖然範例處理500之實作例,如第5圖之說明,可包含所展示順序中之所有方塊502-506的進行,所宣稱之主題是不受限定於這方面,並且於各種範例中,處理500之實作例可包含僅方塊502-506之一子集及/或不同之展示順序的進行。 第2-5圖之任何一個或多個處理可回應於利用一個或多個電腦程式產品所提供之指令而被進行。此等程式產品可包含提供指令之信號攜帶媒體,例如,當利用一處理器被執行時,可提供有關第1-5圖所述之功能。該等電腦程式產品可以任何形式之電腦可讀取媒體被提供。因此,例如,包含一個或多個處理器核心之處理器可回應於利用電腦可讀取媒體被傳遞至處理器之指令而進行被說明於第2-5圖中之一個或多個方塊。 第6圖說明依據本揭示之範例系統600。系統600可被使用以進行此處討論之一些或所有的各種功能並且可包含能夠依據本揭示各種實作例進行多重應用程式環境中之全螢幕應用程式處理的任何裝置或裝置組合。例如,系統600可包含電腦平臺或裝置之選擇構件,例如,桌上型電腦、移動式或平板電腦、智慧型手機、機上盒,等等,雖然本揭示是不受限定於這方面。於一些實作例中,系統600可以是電腦平臺或依照供用於CE裝置之Intel®結構(IA)的SoC。熟習本技術者將了解,此處說明之實作例可被另外的處理系統所使用而不脫離本揭示之範疇。 系統600包含具有一個或多個處理器核心604之處理器602。處理器核心604可以是可至少部分地執行軟體及/或處理資料信號之任何型式的處理器邏輯。於各種範例中,處理器核心604可包含複雜指令集電腦(CISC)微處理器、簡化指令集電腦(RISC)微處理器、非常長指令字組(VLIW)微處理器、實作指令集組合之處理器或任何其他處理器裝置,例如,數位信號處理器或微控制器。 處理器602也包含一解碼器606,其可被使用以供解碼利用,例如,顯示處理器608及/或圖形處理器610所接收之指令,成為控制信號及/或微碼入口點。雖然系統600被展示如有分離於核心604之構件,熟習本技術者應可認知,一個或多個核心604可實作解碼器606、顯示處理器608及/或圖形處理器610。於一些實作例中,核心604及/或圖形處理器610可被組態以進行此處說明之包含上述有關第2-5圖之範例處理的任何處理。進一步地,回應於控制信號及/或微碼入口點,核心604、解碼器606、顯示處理器608及/或圖形處理器610可進行對應的操作。 處理核心604、解碼器606、顯示處理器608及/或圖形處理器610可經由系統互連616通訊地及/或可操作地彼此耦合及/或與各種其他系統裝置耦合,其可能包含但是不受限定於,例如,記憶體控制器614、音訊控制器618及/或週邊裝置620。週邊裝置620可包含,例如,通用串列匯流排(USB)主機埠、週邊構件互連(PCI)快送埠、串列週邊介面(SPI)之介面、擴充匯流排及/或其他週邊裝置。雖然第6圖展示記憶體控制器614為利用互連616被耦合至解碼器606以及處理器608及610,於各種實作例中,記憶體控制器614可直接地耦合至解碼器606、顯示處理器608及/或圖形處理器610。 於一些實作例中,系統600可經由I/O匯流排(未被展示)與各種I/O裝置(未被展示第6圖中)通訊。此等I/O裝置可包含,但是不受限定於,例如,通用同步接收器/發送器(UART)裝置、USB裝置、I/O擴充介面或其他I/O裝置。於各種實作例中,系統600可代表用以進行移動式、網路及/或無線通訊的系統之至少部份。 系統600可進一步包含記憶體612。記憶體612可以是一個或多個離散記憶體構件,例如,動態隨機存取記憶體(DRAM)裝置,靜態隨機存取記憶體(SRAM)裝置,快閃記憶體裝置或其他記憶體裝置。雖然第6圖展示記憶體612為外接至處理器602,於各種實作例中,記憶體612可內接於處理器602。記憶體612可儲存可利用處理器602被執行之利用資料信號表示的指令及/或資料。於一些實作例中,記憶體612可包含系統記憶體部份以及顯示記憶體部份。進一步地,於各種實作例中,顯示記憶體可包含一個或多個訊框緩衝器以儲存記憶體表面。 上述之系統,以及利用此處說明由系統進行之處理,可以硬體、韌體或軟體或其任何組合被實作。此外,此處揭示之任何一個或多個特點可以硬體、軟體、韌體以及其組合被實作,其等包含離散以及積體電路邏輯、特定應用程式積體電路(ASIC)邏輯、以及微控制器,並且可被實作如特定領域積體電路封裝或積體電路封裝組合之部份。軟體字詞,如此處之使用,係涉及包含具有電腦程式邏輯儲存其中的電腦可讀取媒體以導致電腦系統進行此處揭示之一個或多個特點及/或特點之組合之電腦程式產品。 第7圖說明依據本揭示各種實作例供用於多重應用程式環境中全螢幕應用程式處理之範例處理700的流程圖。雖然,經由非限定性範例,將於此處說明第1圖範例MAF環境100脈絡中及/或第2-5圖之處理的處理700,熟習本技術者將明白,處理700可被實作於各種其他執行環境及/或其他處理。 處理700可藉由從於執行環境中執行的複數個圖形應用程式之間決定前景應用程式以及至少一個背景應用程式而開始於方塊702。例如,也參看至第2圖之處理200,方塊702可包含至少下面的操作、功能、或活動:開始一UI應用程式並且等候記憶體表面資訊(方塊202);開始一呈現應用程式並且從一API程式庫配置一呈現表面(方塊204);提供包含記憶體表面資訊之呈現應用程式資訊至一圖形程式庫(方塊210);以及,截取由呈現應用程式所組成之一翻轉呼叫並且通知圖形程式庫該翻轉呼叫已被截取(方塊214)。雖然未被展示於第7圖中,方塊702也可包含檢測被配置至呈現應用程式之下方記憶體表面。此外,當提供包含記憶體表面資訊之呈現應用程式資訊至圖形程式庫時,方塊702也可包含使用關聯前景應用程式之封套或媒介以提供應用程式資訊至圖形程式庫。 處理700可繼續於方塊704而供應利用前景應用程式所呈現之像素資料而暫停背景應用程式之一呈現線程。例如,也參看至第3圖之處理300,方塊704可包含至少下面的操作、功能或活動:帶動呈現應用程式至前景以供用於全螢幕顯示(方塊302);進行原始翻轉以供用於前景應用程式呈現程序(方塊308);並且,暫停背景應用程式之呈現程序(方塊310)。雖然未被展示於第7圖中,方塊704也可包含得到供用於前景應用程式之應用程式資訊以及通知對應的封套。 處理700可繼續於方塊706而使前景應用程式之呈現程序的原始翻轉結束或失效以及呈現線程或背景應用程式之處理的重新開始。例如,也參看至第4圖之處理400,方塊706可包含至少下面的操作、功能或活動:藉由從全螢幕呈現退出前景應用程式而使前景應用程式返回至背景呈現(方塊402);不引動前景應用程式呈現程序之原始翻轉(方塊408);以及,使背景應用程式之呈現程序重新開始(方塊410)。雖然未被展示於第7圖中,方塊706也可包含從應用程式登錄檔得到應用程式資訊並且通知對應的封套。 處理700可藉由使前景或呈現應用程式結束而結束於方塊708。例如,也參看至第5圖之處理500,方塊708可包含至少下面的操作、功能或活動:提供關於被配置至前景應用程式之記憶體表面已被破壞的通知至UI應用程式(方塊504);以及,記憶體表面資訊之對應更新(方塊506)。 雖然此處提出之某些特點已參考各種實作例被說明,這說明是不欲被理解為限制意義。因此,熟習本技術者應明白,此處說明之實作例以及本揭示有關之其他實作例的各種修改,皆被認為是在本揭示之精神與範疇內。 100‧‧‧環境 102‧‧‧操作系統(OS) 104‧‧‧GDL驅動器 106、108、110‧‧‧呈現應用程式 112、114、115‧‧‧應用程式程式介面(API)程式庫 116、118、120‧‧‧圖形封套 122‧‧‧廣域景象圖形程式庫 124‧‧‧應用程式登錄檔 126‧‧‧呈現服務應用程式或UI應用程式 128‧‧‧裝訂程式庫 200‧‧‧實作例之處理流程圖 202-218‧‧‧方塊 300‧‧‧實作例之處理流程圖 302-310‧‧‧方塊 400‧‧‧本發明實作例之處理流程圖 402-410‧‧‧方塊 500‧‧‧處理流程圖 502-506‧‧‧方塊 600‧‧‧系統 602‧‧‧處理器 604‧‧‧處理器核心 606‧‧‧解碼器 608‧‧‧顯示處理器 610‧‧‧圖形處理器 612‧‧‧記憶體 614‧‧‧記憶體控制器 616‧‧‧系統互連 618‧‧‧音訊控制器 620、622‧‧‧週邊裝置 700‧‧‧處理流程圖 702-708‧‧‧方塊 第1圖是執行環境範例之說明圖;第2圖說明一處理範例之圖形;第3圖說明一處理範例之圖形;第4圖說明一處理範例之圖形;第5圖說明一處理範例之圖形;第6圖是一系統範例之說明圖;以及第7圖說明依據本揭示至少一些實作例完全被配置之處理範例圖形。 202-214‧‧‧方塊 302-310‧‧‧方塊 402-410‧‧‧方塊 504-506‧‧‧方塊 700‧‧‧處理流程圖 702-708‧‧‧方塊
权利要求:
Claims (20) [1] 一種方法,其包括下列步驟:在一個或多個處理器核心處,對於在一執行環境內執行之複數個圖形應用程式,決定一前景應用程式以及至少一背景應用程式;提供由該執行環境中之該前景應用程式所呈現之像素資料;並且當提供該像素資料時,暫停該背景應用程式之一呈現線程。 [2] 如申請專利範圍第1項之方法,其中該像素資料包括利用該執行環境對於全螢幕顯示所呈現之像素資料。 [3] 如申請專利範圍第1項之方法,其中決定一前景應用程式之步驟包括截取一翻轉呼叫。 [4] 如申請專利範圍第1項之方法,其中提供該像素資料之步驟包括對於該前景應用程式之一呈現程序進行一原始翻轉。 [5] 如申請專利範圍第4項之方法,進一步包括下列步驟:使對於該前景應用程式之表現處理之原始翻轉失效;並且重新開始該背景應用程式之呈現線程。 [6] 如申請專利範圍第1項之方法,其中決定一前景應用程式之步驟包括提供關聯於該前景應用程式之資訊至一應用程式登錄檔。 [7] 如申請專利範圍第1項之方法,其中決定一前景應用程式之步驟包括檢測一下方的記憶體表面。 [8] 如申請專利範圍第7項之方法,其中決定一前景應用程式之步驟包括將關聯於該記憶體表面之資訊提供至一圖形程式庫。 [9] 如申請專利範圍第8項之方法,其中將關聯於該記憶體表面之資訊提供至該圖形程式庫之步驟包括使用關聯於該前景應用程式之一媒介以將關聯於該記憶體表面之資訊提供至該圖形程式庫。 [10] 一種系統,其包括:儲存複數個圖形應用程式之記憶體;以及耦合至該記憶體之一個或多個處理器核心,其中該等一個或多個處理器核心被組態以對於複數個圖形應用程式決定一前景應用程式以及至少一背景應用程式,以提供由該前景應用程式所呈現之像素資料,並且,當提供該像素資料時,暫停該背景應用程式之一呈現線程。 [11] 如申請專利範圍第10項之系統,其中各圖形應用程式包括一圖形封套,並且其中該等一個或多個處理器核心被組態以因應自該前景應用程式之一圖形封套所接收之資訊而決定該前景應用程式。 [12] 如申請專利範圍第11項之系統,其中自該前景應用程式之一圖形封套所接收之資訊包括記憶體表面資訊。 [13] 如申請專利範圍第10項之系統,其中該等一個或多個處理器核心被組態以利用截取一翻轉呼叫而決定一前景應用程式。 [14] 如申請專利範圍第10項之系統,其中該等一個或多個處理器核心被組態以藉由對於該前景應用程式之一呈現程序進行一原始翻轉而提供該像素資料。 [15] 一種物件,其包括具有指令儲存其中之一電腦程式產品,該等指令如果被執行時,將導致:在一個或多個處理器核心處,對於在一執行環境之內執行的複數個圖形應用程式,決定一前景應用程式以及至少一背景應用程式;提供藉由該執行環境中之該前景應用程式所呈現之像素資料;並且當提供該像素資料時,暫停該背景應用程式之一呈現線程。 [16] 如申請專利範圍第15項之物件,其中用於決定一前景應用程式之指令包括截取一翻轉呼叫之指令。 [17] 如申請專利範圍第15項之物件,其中用於提供該像素資料之指令包括對於該前景應用程式之一呈現程序進行一原始翻轉之指令。 [18] 如申請專利範圍第15項之物件,其中用於決定一前景應用程式之指令包括檢測一下方的記憶體表面之指令。 [19] 如申請專利範圍第18項之物件,其中用於決定一前景應用程式之指令包括將關聯於該記憶體表面之資訊提供至一圖形程式庫之指令。 [20] 如申請專利範圍第19項之物件,其中用於將關聯於該記憶體表面之資訊提供至該圖形程式庫之指令包括使用關聯於該前景應用程式之一媒介以提供關聯於該記憶體表面之資訊至該圖形程式庫之指令。
类似技术:
公开号 | 公开日 | 专利标题 US9582849B2|2017-02-28|Method and system to virtualize graphic processing services US8978051B2|2015-03-10|Method and apparatus for displaying application image CN107925749B|2021-05-07|用于调整电子设备的分辨率的方法和设备 KR20100120232A|2010-11-12|다중-컨텍스트 그래픽 처리 EP2756481B1|2019-12-18|System and method for layering using tile-based renderers US20210209720A1|2021-07-08|Full screen processing in multi-application environments US20200099772A1|2020-03-26|Cloud-based composable data layer US10204598B2|2019-02-12|Predictive pre-decoding of encoded media item TW201610848A|2016-03-16|作業系統的融合方法及裝置 US9471357B2|2016-10-18|Monitoring virtual machine interface and local graphical user interface on a thin client and alternating therebetween US9766918B2|2017-09-19|Virtual system device identification using GPU to host bridge mapping KR20160148638A|2016-12-26|비특권 애플리케이션에 의한 그래픽 작업부하 실행의뢰 CN109857573B|2021-03-05|一种数据共享方法、装置、设备及系统 US10354623B1|2019-07-16|Adaptive buffer latching to reduce display janks caused by variable buffer allocation time US20200027189A1|2020-01-23|Efficient dependency detection for concurrent binning gpu workloads WO2019062615A1|2019-04-04|一种用户界面渲染方法及装置 TWI556167B|2016-11-01|用於多重本機軟體應用程式使用者介面組成之系統及方法 US10621017B2|2020-04-14|Method and device for sharing a disk image between operating systems US10885229B2|2021-01-05|Electronic device for code integrity checking and control method thereof CN106708181B|2022-02-25|电子装置及配置该电子装置的显示器的方法 JP2014191771A|2014-10-06|プログラム,情報処理装置,情報処理方法 CN112905275A|2021-06-04|用于多操作系统的显示方法和显示设备
同族专利:
公开号 | 公开日 WO2012171137A1|2012-12-20| US20190197650A1|2019-06-27| US20210209720A1|2021-07-08| US10748233B2|2020-08-18| TWI521431B|2016-02-11|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 TWI629639B|2014-04-11|2018-07-11|阿里巴巴集團服務有限公司|實現截取螢幕的方法和裝置|US7720672B1|1995-12-29|2010-05-18|Wyse Technology Inc.|Method and apparatus for display of windowing application programs on a terminal| US7523415B1|1999-06-24|2009-04-21|Porter Swain W|Exclusive use display surface areas and persistently visible display of contents including advertisements| US7015817B2|2002-05-14|2006-03-21|Shuan Michael Copley|Personal tracking device| CN101266556A|2008-05-09|2008-09-17|北京泰得思达科技发展有限公司|一种多任务调度系统| US8432405B2|2008-06-26|2013-04-30|Microsoft Corporation|Dynamically transitioning between hardware-accelerated and software rendering| CN101673216B|2008-09-09|2016-03-30|联想有限公司|应用程序关闭方法和装置| CN101924748A|2009-06-11|2010-12-22|鸿富锦精密工业(深圳)有限公司|数字内容系统| US20120198319A1|2011-01-28|2012-08-02|Giovanni Agnoli|Media-Editing Application with Video Segmentation and Caching Capabilities|US10114661B2|2014-11-07|2018-10-30|Roku, Inc.|System and method for fast starting an application|
法律状态:
2021-11-11| MM4A| Annulment or lapse of patent due to non-payment of fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 PCT/CN2011/000982|WO2012171137A1|2011-06-14|2011-06-14|Full screen processing in multi-application environments| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|