国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      圖形處理單元中的再現(xiàn)模式選擇的制作方法

      文檔序號(hào):6495209閱讀:213來源:國(guó)知局
      圖形處理單元中的再現(xiàn)模式選擇的制作方法
      【專利摘要】本發(fā)明描述用于自動(dòng)地選擇再現(xiàn)模式以供圖形處理單元GPU用來再現(xiàn)圖形數(shù)據(jù)以進(jìn)行顯示的技術(shù)。更具體來說,所述技術(shù)包含評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量,且基于所述所評(píng)估的度量為當(dāng)前再現(xiàn)單元自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式。所述選定的再現(xiàn)模式可為經(jīng)預(yù)測(cè)使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)的所述再現(xiàn)模式中的所述一者。再現(xiàn)單元可包括一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。
      【專利說明】圖形處理單元中的再現(xiàn)模式選擇
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及處理數(shù)據(jù),且更特定來說,涉及使用圖形處理單元(GPU)處理數(shù)據(jù)。
      【背景技術(shù)】
      [0002]圖形處理單元(GPU)是用于在顯示裝置上處理并顯示計(jì)算機(jī)化的圖形的專用圖形再現(xiàn)裝置。以高度并行的結(jié)構(gòu)來建構(gòu)GPU,所述結(jié)構(gòu)針對(duì)一系列復(fù)雜算法提供比典型通用中央處理單元(CPU)更有效的處理。舉例來說,所述復(fù)雜算法可對(duì)應(yīng)于二維(2D)或三維(3D)計(jì)算機(jī)化的圖形的表示。
      [0003]GPU可包含于圖形裝置內(nèi),例如移動(dòng)無(wú)線電話、個(gè)人數(shù)字助理(PDA)、視頻游戲裝置、視頻游戲控制臺(tái)、視頻會(huì)議單元、膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電視機(jī)頂盒、集成式電視圖形裝置、數(shù)字記錄裝置、數(shù)字媒體播放器、全球定位系統(tǒng)(GPS)裝置、數(shù)碼相機(jī)、汽車顯示器等。在圖形裝置上執(zhí)行的圖形應(yīng)用可通過調(diào)用應(yīng)用程序編程接口(API)調(diào)用或指令(其又使用GPU來再現(xiàn)圖像以進(jìn)行顯示),來描述或界定圖形場(chǎng)景的內(nèi)容。
      [0004]GPU的再現(xiàn)引擎可根據(jù)即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式而操作。當(dāng)根據(jù)即時(shí)再現(xiàn)模式操作時(shí),GPU的再現(xiàn)引擎直接向幀緩沖器再現(xiàn)圖形數(shù)據(jù)。當(dāng)根據(jù)延遲再現(xiàn)模式操作時(shí),GPU的再現(xiàn)引擎執(zhí)行平鋪回合以將圖形數(shù)據(jù)劃分為多個(gè)瓦片,向本地瓦片緩沖器再現(xiàn)多個(gè)瓦片中的每一者,且將所再現(xiàn)的瓦片中的每一者從瓦片緩沖器讀取到幀緩沖器。目前,即時(shí)再現(xiàn)模式最普遍用于電力和系統(tǒng)帶寬不大受到關(guān)注的圖形裝置中,且延遲再現(xiàn)模式最普遍用于電力和系統(tǒng)帶寬較為珍貴的移動(dòng)裝置中。

      【發(fā)明內(nèi)容】

      [0005]本發(fā)明描述用于自動(dòng)地選擇再現(xiàn)模式以供圖形處理單元(GPU)用來再現(xiàn)圖形數(shù)據(jù)以進(jìn)行顯示的技術(shù)。更具體來說,所述技術(shù)包含評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量,且基于所述所評(píng)估的度量為當(dāng)前再現(xiàn)單元自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式。再現(xiàn)單元可包括一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。當(dāng)前再現(xiàn)單元可包括當(dāng)前正被GPU再現(xiàn)的再現(xiàn)單元。用于自動(dòng)地選擇再現(xiàn)模式的技術(shù)可在圖形數(shù)據(jù)中的每一再現(xiàn)邊界處執(zhí)行,即,在GPU完成再現(xiàn)前一再現(xiàn)單元且開始再現(xiàn)當(dāng)前再現(xiàn)單元時(shí)。
      [0006]最有效的再現(xiàn)模式可基于在再現(xiàn)某一圖形數(shù)據(jù)時(shí)GPU的性能而變化。因此,所述選定的再現(xiàn)模式可為基于所評(píng)估的度量的經(jīng)預(yù)測(cè)使用較少的電力和/或較少的系統(tǒng)帶寬來再現(xiàn)圖形數(shù)據(jù)的當(dāng)前再現(xiàn)單元的所述再現(xiàn)模式中的所述一者。本發(fā)明的技術(shù)包含配置GPU以根據(jù)選定的再現(xiàn)模式而操作。在一些情況下,所述技術(shù)還可包含接收超馳自動(dòng)地選擇的再現(xiàn)模式的手動(dòng)地選擇的再現(xiàn)模式。當(dāng)接收到手動(dòng)地選擇的再現(xiàn)模式時(shí),GPU可經(jīng)配置以根據(jù)手動(dòng)地選擇的再現(xiàn)模式而操作。
      [0007]在一個(gè)實(shí)例中,本發(fā)明針對(duì)于一種處理圖形數(shù)據(jù)的方法,其包括:評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量;基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者;以及配置圖形處理單元(GPU)以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      [0008]在另一實(shí)例中,本發(fā)明針對(duì)于一種用于處理圖形數(shù)據(jù)的圖形裝置,其包括:存儲(chǔ)器緩沖器,其存儲(chǔ)與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量;以及一個(gè)或一個(gè)以上處理器,其評(píng)估所述度量中的至少兩者,基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者,且配置圖形處理單元(GPU)以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      [0009]在進(jìn)一步的實(shí)例中,本發(fā)明針對(duì)于一種用于處理圖形數(shù)據(jù)的圖形裝置,其包括:用于評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量的裝置;用于基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者的裝置;以及用于配置圖形處理單元(GPU)以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的裝置。
      [0010]在另一實(shí)例中,本發(fā)明針對(duì)于一種包括用于處理圖形數(shù)據(jù)的指令的計(jì)算機(jī)可讀媒體,所述指令在執(zhí)行時(shí)致使一個(gè)或一個(gè)以上可編程處理器執(zhí)行以下操作:評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量;基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者;以及配置圖形處理單元(GPU)以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      [0011]一個(gè)或一個(gè)以上實(shí)例的細(xì)節(jié)陳述于附圖及以下描述中。其它特征、目標(biāo)及優(yōu)勢(shì)將從描述及附圖以及從權(quán)利要求書中顯而易見。
      【專利附圖】

      【附圖說明】
      [0012]圖1是說明圖形裝置的方框圖,所述圖形裝置包含經(jīng)配置以自動(dòng)地選擇再現(xiàn)模式以供圖形處理單元(GPU)使用的圖形驅(qū)動(dòng)器。
      [0013]圖2是更詳細(xì)地說明由圖形驅(qū)動(dòng)器用來自動(dòng)地選擇再現(xiàn)模式以供GPU使用的圖形裝置的功能塊的方框圖。
      [0014]圖3是說明經(jīng)配置以自動(dòng)地選擇再現(xiàn)模式以供GPU使用的圖形驅(qū)動(dòng)器的示范性功能塊的方框圖。
      [0015]圖4是說明自動(dòng)地選擇再現(xiàn)模式以供GPU使用的圖形驅(qū)動(dòng)器的實(shí)例操作的流程圖。
      [0016]圖5是說明收集與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量的圖形驅(qū)動(dòng)器的實(shí)例操作的流程圖。
      [0017]圖6是說明使用加權(quán)方案來評(píng)估度量的圖形驅(qū)動(dòng)器的實(shí)例操作的流程圖。
      【具體實(shí)施方式】
      [0018]本發(fā)明描述用于自動(dòng)地選擇再現(xiàn)模式以供圖形處理單元(GPU)用來再現(xiàn)圖形數(shù)據(jù)以進(jìn)行顯示的技術(shù)。更具體來說,所述技術(shù)包含評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量,且基于所述所評(píng)估的度量為當(dāng)前再現(xiàn)單元自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式。所述選定的再現(xiàn)模式可為基于所評(píng)估的度量的經(jīng)預(yù)測(cè)使用較少的電力和/或較少的系統(tǒng)帶寬來再現(xiàn)圖形數(shù)據(jù)的當(dāng)前再現(xiàn)單元的所述再現(xiàn)模式中的一者。再現(xiàn)單元可包括一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。當(dāng)前再現(xiàn)單元可包括當(dāng)前正被GPU再現(xiàn)的再現(xiàn)單元。用于自動(dòng)地選擇再現(xiàn)模式的技術(shù)可在圖形數(shù)據(jù)中的每一再現(xiàn)邊界處執(zhí)行,即,在GPU完成再現(xiàn)前一再現(xiàn)單元且再開始再現(xiàn)再現(xiàn)時(shí)。
      [0019]圖1是說明圖形裝置2的方框圖,所述圖形裝置包含經(jīng)配置以自動(dòng)地選擇再現(xiàn)模式以供圖形處理單元(GPU)6使用的圖形驅(qū)動(dòng)器10。根據(jù)本發(fā)明的技術(shù),圖形驅(qū)動(dòng)器10可:評(píng)估與再現(xiàn)圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量;基于所述所評(píng)估的度量而為當(dāng)前再現(xiàn)單元自動(dòng)地選擇一再現(xiàn)模式;以及配置GPU6以根據(jù)所述選定的再現(xiàn)模式而操作。
      [0020]圖形裝置2能夠發(fā)射并接收?qǐng)D形數(shù)據(jù)、支持多種圖形數(shù)據(jù)處理應(yīng)用,以及輸出經(jīng)處理的圖形數(shù)據(jù)以供呈現(xiàn)給用戶。圖形裝置2的實(shí)例包含(但不限于)移動(dòng)無(wú)線電話、個(gè)人數(shù)字助理(PDA)、視頻游戲裝置、視頻游戲控制臺(tái)、視頻會(huì)議單元、膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電視機(jī)頂盒、集成式電視圖形裝置、數(shù)字記錄裝置、數(shù)字媒體播放器、全球定位系統(tǒng)(GPS)裝置、數(shù)碼相機(jī)、汽車顯示器等。圖形數(shù)據(jù)可包括靜態(tài)圖像數(shù)據(jù)、視頻數(shù)據(jù),或其它多媒體數(shù)據(jù)。在本發(fā)明中,可經(jīng)常將圖形數(shù)據(jù)描述為包含多個(gè)連續(xù)幀的視頻數(shù)據(jù)。然而,無(wú)意限制可根據(jù)本發(fā)明的技術(shù)再現(xiàn)的圖形數(shù)據(jù)的類型。
      [0021]在圖1中所說明的實(shí)例中,圖形裝置2包含具有圖形驅(qū)動(dòng)器10的中央處理單元(CPU)4、具有再現(xiàn)引擎12的GPU6、裝置存儲(chǔ)器8、收發(fā)器模塊14、用戶輸入裝置16和顯示器18。在其它情況下,舉例來說,當(dāng)圖形裝置2是桌上型計(jì)算機(jī)時(shí),顯示器18和/或用戶輸入裝置16可在圖形裝 置2的外部。CPU4和GPU6可包括數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA),或其它等效集成或離散邏輯電路。CPU4可能夠控制GPU6。
      [0022]圖形裝置2可在CPU4上執(zhí)行一個(gè)或一個(gè)以上圖形應(yīng)用程序。圖形應(yīng)用程序的實(shí)例包含網(wǎng)絡(luò)瀏覽器、電子郵件應(yīng)用程序、電子數(shù)據(jù)表、視頻游戲、計(jì)算機(jī)輔助設(shè)計(jì)(CAD)應(yīng)用程序、數(shù)碼相機(jī)應(yīng)用程序、視頻會(huì)議應(yīng)用程序、模擬與視覺化工具、視頻串流應(yīng)用程序,或產(chǎn)生視覺輸出以用于經(jīng)由顯示器18呈現(xiàn)給用戶的其它應(yīng)用程序。
      [0023]CPU4通過調(diào)用圖形應(yīng)用程序的應(yīng)用程序指令來執(zhí)行圖形應(yīng)用程序,所述應(yīng)用程序指令使用CPU4和/或GPU6來產(chǎn)生圖像。在一些情況下,可從圖形應(yīng)用程序編程接口(API)調(diào)用產(chǎn)生應(yīng)用程序指令。用于寫入圖形應(yīng)用程序的圖形API可包含開放式圖形庫(kù)(OpenGL? )、用于嵌入式系統(tǒng)的OpenGL? ( OpenGL^ ES),或OpenVG (向量圖形)API。在所說明的實(shí)施例中,圖形驅(qū)動(dòng)器10在CPU4上運(yùn)行。圖形驅(qū)動(dòng)器10可將應(yīng)用程序指令或API調(diào)用轉(zhuǎn)譯為將在CPU4和/或GPU6上執(zhí)行的命令。在一些情況下,GPU6可單獨(dú)地執(zhí)行一個(gè)或一個(gè)以上圖形應(yīng)用程序。在此情況下,GPU6還可執(zhí)行其自身的圖形驅(qū)動(dòng)器。在其它實(shí)例中,可將圖形驅(qū)動(dòng)器10存儲(chǔ)在裝置存儲(chǔ)器8中,使得CPU4或GPU6可加載圖形驅(qū)動(dòng)器10以供所述處理單元執(zhí)行。
      [0024]GPU6可根據(jù)所述圖形應(yīng)用程序執(zhí)行由CPU4上的圖形驅(qū)動(dòng)器10發(fā)布的命令,以將圖形數(shù)據(jù)再現(xiàn)為圖像以經(jīng)由顯示器18呈現(xiàn)給用戶。舉例來說,GPU6可執(zhí)行頂點(diǎn)著色、三角形光柵化、片段著色和像素混合中的一者或一者以上。GPU6可隨后將所再現(xiàn)的圖形數(shù)據(jù)存儲(chǔ)在裝置存儲(chǔ)器8中的幀緩沖器中??捎蒅PU6基于每個(gè)再現(xiàn)單元來再現(xiàn)圖形數(shù)據(jù)。如上文所描述,再現(xiàn)單元可包括一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。在一些情況下,幀可包含一個(gè)或一個(gè)以上再現(xiàn)目標(biāo)。再現(xiàn)目標(biāo)可包括存儲(chǔ)于裝置存儲(chǔ)器8中的若干幀緩沖器,其各自保持幀的某一類型的圖形數(shù)據(jù),例如紋理數(shù)據(jù)、色彩數(shù)據(jù)和深度數(shù)據(jù)。GPU6可再現(xiàn)與幀相關(guān)聯(lián)的再現(xiàn)目標(biāo)中的每一者內(nèi)的圖形數(shù)據(jù),且隨后組合所再現(xiàn)的數(shù)據(jù)以供存儲(chǔ)在裝置存儲(chǔ)器8中,且在顯示器18上作為單一幀而呈現(xiàn)。
      [0025]在所說明的實(shí)例中,GPU6包含再現(xiàn)引擎12,所述再現(xiàn)引擎可根據(jù)即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式而操作以再現(xiàn)圖形數(shù)據(jù)。當(dāng)根據(jù)即時(shí)再現(xiàn)模式操作時(shí),GPU6內(nèi)的再現(xiàn)引擎12直接向裝置存儲(chǔ)器8中的幀緩沖器再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)。因此,再現(xiàn)引擎12作出對(duì)被再現(xiàn)到GPU6外部的裝置存儲(chǔ)器8的圖形數(shù)據(jù)的所有讀取和寫入調(diào)用。此模式可在執(zhí)行需要裝置存儲(chǔ)器8中的許多讀取-修改-寫入的某些圖形操作(例如,像素混合和深度測(cè)試)時(shí)使用大量系統(tǒng)帶寬和電力來再現(xiàn)圖形數(shù)據(jù)。
      [0026]當(dāng)根據(jù)延遲再現(xiàn)模式操作時(shí),GPU6內(nèi)的再現(xiàn)引擎12可首先執(zhí)行平鋪回合以將當(dāng)前再現(xiàn)單元?jiǎng)澐譃槎鄠€(gè)瓦片。針對(duì)所述多個(gè)瓦片中的每一者,再現(xiàn)引擎12隨后向在本地位于GPU6上的瓦片緩沖器再現(xiàn)瓦片的圖形數(shù)據(jù),且在完成時(shí)將所再現(xiàn)的圖形數(shù)據(jù)從瓦片緩沖器讀取到裝置存儲(chǔ)器8中的幀緩沖器。因此,再現(xiàn)引擎12作出對(duì)被再現(xiàn)到GPU6上的瓦片緩沖器的圖形數(shù)據(jù)的大多數(shù)讀取和寫入調(diào)用。此模式,即延遲再現(xiàn),使用少量的電力且不使用系統(tǒng)帶寬來執(zhí)行瓦片緩沖器中的讀取-修改-寫入,但包含設(shè)置平鋪回合以及再現(xiàn)再現(xiàn)單元的每一瓦片的額外開銷成本。
      [0027]常規(guī)上,膝上型或桌上型計(jì)算機(jī)或其中電力和帶寬使用不受關(guān)注的另一類型的壁插式圖形裝置內(nèi)的GPU將可能被設(shè)計(jì)成根據(jù)即時(shí)再現(xiàn)模式而操作。相比而言,移動(dòng)無(wú)線電話或其中電力和帶寬較珍貴的其它移動(dòng)裝置內(nèi)的GPU將可能被設(shè)計(jì)成根據(jù)延遲再現(xiàn)模式而操作。然而,最有效的再現(xiàn)模式可基于在再現(xiàn)某一圖形數(shù)據(jù)時(shí)GPU的性能而變化。
      [0028]根據(jù)本發(fā)明中的技術(shù),圖形驅(qū)動(dòng)器10可自動(dòng)地選擇再現(xiàn)模式以供GPU6用來再現(xiàn)圖形數(shù)據(jù)以在顯示器18上呈現(xiàn)給用戶。更具體來說,圖形驅(qū)動(dòng)器10可評(píng)估與再現(xiàn)圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量,且基于所述所評(píng)估的度量為當(dāng)前再現(xiàn)單元自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式。所述度量可包含CPU4和GPU6在再現(xiàn)前一或當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)時(shí)的性能度量、電力度量,或其它度量。所述選定的再現(xiàn)模式可為基于所評(píng)估的度量的經(jīng)預(yù)測(cè)使用較少的系統(tǒng)帶寬和/或較少的電力來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的所述再現(xiàn)模式中的一者。在一些情況下,所述選定的再現(xiàn)模式還可為基于所評(píng)估的度量經(jīng)預(yù)測(cè)允許CPU4和/或GPU6中的較高頂點(diǎn)處理量、減少圖形驅(qū)動(dòng)器10的開銷,或另外改善性能和電力消耗的再現(xiàn)模式。
      [0029]圖形驅(qū)動(dòng)器10可隨后配置GPU6以根據(jù)選定的再現(xiàn)模式而操作。在一些情況下,圖形驅(qū)動(dòng)器10還可接收超馳自動(dòng)地選擇的再現(xiàn)模式的手動(dòng)地選擇的再現(xiàn)模式。舉例來說,圖形驅(qū)動(dòng)器10可經(jīng)由在CPU4上執(zhí)行的圖形API從開發(fā)者或其它用戶接收手動(dòng)地選擇的再現(xiàn)模式。當(dāng)接收到手動(dòng)地選擇的再現(xiàn)模式時(shí),圖形驅(qū)動(dòng)器10可配置GPU6根據(jù)手動(dòng)地選擇的再現(xiàn)模式而操作。
      [0030]本發(fā)明的技術(shù)(包含收集和評(píng)估度量、自動(dòng)地選擇再現(xiàn)模式以及配置GPU6)可在每一再現(xiàn)邊界處執(zhí)行。再現(xiàn)邊界可包括再現(xiàn)單元之間的轉(zhuǎn)變周期,例如在GPU6結(jié)束再現(xiàn)前一再現(xiàn)單元且開始再現(xiàn)當(dāng)前再現(xiàn)單元時(shí)。一旦GPU6結(jié)束再現(xiàn)前一再現(xiàn)單元,GPU6便從接收前一再現(xiàn)單元的數(shù)據(jù)切換到接收待再現(xiàn)的當(dāng)前再現(xiàn)單元的數(shù)據(jù)。那時(shí),根據(jù)技術(shù),圖形驅(qū)動(dòng)器10可基于所評(píng)估的度量為當(dāng)前再現(xiàn)單元自動(dòng)地選擇再現(xiàn)模式。如果為當(dāng)前再現(xiàn)單元選擇的再現(xiàn)模式不同于用于前一再現(xiàn)單元的再現(xiàn)單元,那么圖形驅(qū)動(dòng)器10還可重新配置GPU6以根據(jù)新選擇的再現(xiàn)模式而操作。CPU4可經(jīng)由收發(fā)器模塊14下載一個(gè)以上圖形應(yīng)用程序。另外,CPU4可經(jīng)由收發(fā)器模塊14根據(jù)圖形應(yīng)用程序而下載將由CPU4和/或GPU6處理的圖形數(shù)據(jù)。收發(fā)器模塊14可包含用以允許圖形裝置2與另一裝置或網(wǎng)絡(luò)之間的無(wú)線或有線通信的電路。收發(fā)器模塊14可包含調(diào)制器、解調(diào)器、放大器以及用于有線或無(wú)線通信的其它此類電路。
      [0031]CPU4可將用于圖形應(yīng)用程序中的每一者的應(yīng)用程序指令存儲(chǔ)在裝置存儲(chǔ)器8內(nèi)。另外,裝置存儲(chǔ)器8可根據(jù)圖形應(yīng)用程序存儲(chǔ)將由CPU4和/或GPU6處理的圖形數(shù)據(jù),且還可存儲(chǔ)從CPU4和/或GPU6接收的經(jīng)處理圖形數(shù)據(jù)。舉例來說,裝置存儲(chǔ)器8可將當(dāng)前再現(xiàn)單元的所再現(xiàn)的圖形數(shù)據(jù)存儲(chǔ)在幀緩沖器中。作為另一實(shí)例,裝置存儲(chǔ)器8可存儲(chǔ)與幀相關(guān)聯(lián)的一個(gè)或一個(gè)以上再現(xiàn)目標(biāo),所述再現(xiàn)目標(biāo)各自保持用于幀的某一類型的圖形數(shù)據(jù),例如紋理數(shù)據(jù)、色彩數(shù)據(jù)和深度數(shù)據(jù)。在一些情況下,裝置存儲(chǔ)器8還可包含桌上型計(jì)算機(jī)或顯示器專用幀緩沖器,可將幀的所再現(xiàn)的圖形數(shù)據(jù)復(fù)制到所述緩沖器中以供在顯示器18上呈現(xiàn)。
      [0032]裝置存儲(chǔ)器8可包括一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)媒體。裝置存儲(chǔ)器8的實(shí)例包含(但不限于)隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM) ,CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置,或其它磁性存儲(chǔ)裝置、快閃存儲(chǔ)器,或可用于攜載或存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要的程序代碼且可由計(jì)算機(jī)或處理器存取的任何其它媒體。
      [0033]顯示器18包括圖形裝置2的輸出裝置。作為一實(shí)例,顯示器8可包括液晶顯示器(LCD)、陰極射線管(CRT)顯示器、等離子顯示器,或另一類型的顯示裝置。在一些情況下,圖形裝置2可包含揚(yáng)聲器或其它類型的視頻和音頻輸出裝置。GPU6可提供經(jīng)處理圖形數(shù)據(jù)以供呈現(xiàn)給顯示器18。舉例來說,GPU6可將幀的所再現(xiàn)的圖形數(shù)據(jù)從幀緩沖器復(fù)制到裝置存儲(chǔ)器8內(nèi)的桌上型計(jì)算機(jī)或顯示器專用幀緩沖器,以經(jīng)由顯示器18向用戶呈現(xiàn)幀。
      [0034]用戶輸入裝置16包括用于圖形裝置2的一個(gè)或一個(gè)以上用戶輸入裝置。舉例來說,用戶輸入裝置16可包含跟蹤球、鼠標(biāo)、鍵盤、麥克風(fēng)和/或其它類型的輸入裝置。在一些實(shí)例中,用戶輸入裝置16可包括觸摸屏且可被并入作為顯示器18的一部分。用戶可經(jīng)由用戶輸入裝置16選擇將由CPU4執(zhí)行的一個(gè)或一個(gè)以上圖形應(yīng)用程序。在所說明的實(shí)例中,顯示器18和用戶輸入裝置16包含于圖形裝置2中。在其它實(shí)例中,顯示器18和/或用戶輸入裝置16可在圖形裝置2的外部。
      [0035]圖2是更詳細(xì)地說明由圖形驅(qū)動(dòng)器10用來自動(dòng)地選擇再現(xiàn)模式以供GPU6使用的圖形裝置2的功能塊的方框圖。更具體來說,圖2說明在圖形驅(qū)動(dòng)器10執(zhí)行再現(xiàn)模式選擇過程期間在CPU4、GPU6與裝置存儲(chǔ)器8之間的交互。
      [0036]在圖2的所說明的實(shí)例中,CPU4執(zhí)行圖形應(yīng)用程序20、圖形API22和圖形驅(qū)動(dòng)器
      10。圖形應(yīng)用程序20可包含(例如)網(wǎng)絡(luò)瀏覽器、電子郵件應(yīng)用程序、電子數(shù)據(jù)表、視頻游戲、計(jì)算機(jī)輔助設(shè)計(jì)(CAD)應(yīng)用程序、數(shù)碼相機(jī)應(yīng)用程序、視頻會(huì)議應(yīng)用程序、模擬與視覺化工具、視頻串流應(yīng)用程序,或產(chǎn)生視覺輸出的其它應(yīng)用程序。[0037]CPU4可通過調(diào)用應(yīng)用程序指令來執(zhí)行圖形應(yīng)用程序20,所述應(yīng)用程序指令使用CPU4和/或GPU6來產(chǎn)生圖像。應(yīng)用程序指令可存儲(chǔ)在裝置存儲(chǔ)器8中。在一些情況下,可從圖形API22進(jìn)行的圖形API調(diào)用中產(chǎn)生應(yīng)用程序指令,所述圖形API調(diào)用例如為對(duì)繪制與圖像相關(guān)聯(lián)的圖元或三角形的調(diào)用。圖形API22可包括開放式圖形庫(kù)(OpenGL?)、用于嵌入式系統(tǒng)的OpenGL? ( OpcnGLiiES),或OpenVG (向量圖形)API中的一者。圖形驅(qū)動(dòng)器10可將來自圖形API22的應(yīng)用程序指令或API調(diào)用轉(zhuǎn)譯為將由CPU4和/或GPU6根據(jù)圖形應(yīng)用程序20執(zhí)行的命令。
      [0038]在圖2的所說明的實(shí)例中,GPU6包含再現(xiàn)引擎12、瓦片緩沖器30和GPU性能計(jì)數(shù)器32。再現(xiàn)引擎12可包含用于處理圖形數(shù)據(jù)以進(jìn)行顯示的一個(gè)或一個(gè)以上處理單元。舉例來說,再現(xiàn)引擎12可包括頂點(diǎn)著色器、三角形光柵化器、片段著色器和/或像素混合器。GPU性能計(jì)數(shù)器32可包括記錄與GPU6相關(guān)聯(lián)的處理信息的硬件計(jì)數(shù)器,所述處理信息包含由GPU6在再現(xiàn)期間使用的系統(tǒng)帶寬的量。
      [0039]GPU6可根據(jù)所述圖形應(yīng)用程序執(zhí)行由CPU4上的圖形驅(qū)動(dòng)器10發(fā)布的命令,以將圖形數(shù)據(jù)再現(xiàn)為圖像以供在顯示器上呈現(xiàn)。舉例來說,CPU6的再現(xiàn)引擎12可從裝置存儲(chǔ)器8接收?qǐng)D形數(shù)據(jù),且執(zhí)行頂點(diǎn)著色、三角形光柵化、片段著色和像素混合中的一者或一者以上。GPU6可隨后最終將所再現(xiàn)的圖形數(shù)據(jù)存儲(chǔ)在裝置存儲(chǔ)器8中的幀緩沖器28中??捎稍佻F(xiàn)引擎12基于每個(gè)再現(xiàn)單元來再現(xiàn)圖形數(shù)據(jù)。舉例來說,再現(xiàn)單元可包含一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。
      [0040]在一些情況下,可針對(duì)一幀界定一個(gè)或一個(gè)以上再現(xiàn)目標(biāo)26。再現(xiàn)目標(biāo)26包括存儲(chǔ)于裝置存儲(chǔ)器8中的若干幀緩沖器,其各自保持幀的某一類型的圖形數(shù)據(jù),例如紋理數(shù)據(jù)、色彩數(shù)據(jù)和深度數(shù)據(jù)。與給定幀相關(guān)聯(lián)的再現(xiàn)目標(biāo)26中的每一者內(nèi)的圖形數(shù)據(jù)可由再現(xiàn)引擎12單獨(dú)地再現(xiàn),且隨后在裝置存儲(chǔ)器8中的幀緩沖器28中進(jìn)行組合。在一些情況下,再現(xiàn)目標(biāo)26可包含保持幀的同一類型的數(shù)據(jù)(例如,色彩數(shù)據(jù))的多個(gè)再現(xiàn)目標(biāo)。再現(xiàn)引擎12可同時(shí)再現(xiàn)多個(gè)再現(xiàn)目標(biāo)中的圖形數(shù)據(jù)。可針對(duì)圖形數(shù)據(jù)的每一幀來界定不同數(shù)目的再現(xiàn)目標(biāo)26。
      [0041]GPU6的再現(xiàn)引擎12可根據(jù)即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式而操作來再現(xiàn)圖形數(shù)據(jù)。當(dāng)根據(jù)即時(shí)再現(xiàn)模式操作時(shí),GPU6內(nèi)的再現(xiàn)引擎12直接向裝置存儲(chǔ)器8中的幀緩沖器28再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)。因此,再現(xiàn)引擎12作出對(duì)被再現(xiàn)到位于GPU6外部的裝置存儲(chǔ)器8的圖形數(shù)據(jù)的所有讀取和寫入調(diào)用。
      [0042]當(dāng)根據(jù)延遲再現(xiàn)模式操作時(shí),GPU6內(nèi)的再現(xiàn)引擎12首先執(zhí)行平鋪回合以將再現(xiàn)單元?jiǎng)澐譃槎鄠€(gè)瓦片。針對(duì)所述多個(gè)瓦片中的每一者,再現(xiàn)引擎12隨后向在本地位于GPU6上的瓦片緩沖器30再現(xiàn)瓦片的圖形數(shù)據(jù),且在完成時(shí)將所再現(xiàn)的圖形數(shù)據(jù)從瓦片緩沖器30讀取到裝置存儲(chǔ)器8中的幀緩沖器28。因此,再現(xiàn)引擎12作出對(duì)被再現(xiàn)到GPU6上的瓦片緩沖器30的圖形數(shù)據(jù)的大多數(shù)讀取和寫入調(diào)用。在其中針對(duì)一幀界定一個(gè)或一個(gè)以上再現(xiàn)目標(biāo)26的情況下,再現(xiàn)引擎12必須針對(duì)再現(xiàn)目標(biāo)26中的每一者執(zhí)行平鋪回合,且隨后再現(xiàn)與所述幀相關(guān)聯(lián)的再現(xiàn)目標(biāo)26中的每一者的每一瓦片。
      [0043]瓦片緩沖器30是與GPU6 —起位于芯片上的少量的極高帶寬存儲(chǔ)器。然而,瓦片緩沖器30的大小太小而無(wú)法保持整個(gè)再現(xiàn)單元的圖形數(shù)據(jù),因此再現(xiàn)引擎12必須執(zhí)行多個(gè)再現(xiàn)回合來再現(xiàn)整個(gè)再現(xiàn)單元。舉例來說,再現(xiàn)引擎12可針對(duì)一幀的每一瓦片執(zhí)行一個(gè)再現(xiàn)回合,或可針對(duì)與一幀相關(guān)聯(lián)的再現(xiàn)目標(biāo)26中的每一者的每一瓦片執(zhí)行一個(gè)再現(xiàn)回合。在一些情況下,再現(xiàn)引擎12還可執(zhí)行分格以確定再現(xiàn)單元的哪些圖元在瓦片中的每一者內(nèi)可見。如果不執(zhí)行分格,那么GPU6的再現(xiàn)引擎12可使用光柵剪刀針對(duì)正再現(xiàn)的每一瓦片而繪制包含于再現(xiàn)單元中的所有圖元或三角形。通過執(zhí)行分格,再現(xiàn)引擎12可僅繪制再現(xiàn)單元中在正再現(xiàn)的給定瓦片內(nèi)是可見的那些圖元。
      [0044]當(dāng)圖形數(shù)據(jù)表示具有需要許多讀取-修改-寫入功能的像素混合和深度測(cè)試的復(fù)雜圖形場(chǎng)景時(shí),延遲再現(xiàn)模式可使用較少的電力和系統(tǒng)帶寬來再現(xiàn)圖形數(shù)據(jù)。然而,延遲再現(xiàn)模式確實(shí)包含設(shè)置平鋪回合以及再現(xiàn)再現(xiàn)單元的每一瓦片的圖形數(shù)據(jù)的額外開銷成本。當(dāng)設(shè)置平鋪回合以及再現(xiàn)每一再現(xiàn)單元的多個(gè)瓦片的開銷成本不超馳延遲再現(xiàn)模式的帶寬減小時(shí),延遲再現(xiàn)模式可為最有效的再現(xiàn)模式。
      [0045]相比而言,當(dāng)圖形數(shù)據(jù)表示簡(jiǎn)單的圖形場(chǎng)景時(shí)(其中延遲再現(xiàn)模式不提供帶寬減小,但卻充當(dāng)處理資源的汲取者),即時(shí)再現(xiàn)模式可使用較少的電力和系統(tǒng)帶寬來再現(xiàn)圖形數(shù)據(jù)。當(dāng)設(shè)置平鋪回合以及再現(xiàn)每一再現(xiàn)單元的多個(gè)瓦片的開銷成本超馳延遲再現(xiàn)模式的任何帶寬減小時(shí),即時(shí)再現(xiàn)模式可為最有效的模式。
      [0046]根據(jù)本發(fā)明的技術(shù),圖形驅(qū)動(dòng)器10可基于哪一模式經(jīng)預(yù)測(cè)使用最少量的系統(tǒng)帶寬和/或電力來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)來自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式以供GPU6使用。一股來說,圖形驅(qū)動(dòng)器10可:評(píng)估與再現(xiàn)圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量;基于所述所評(píng)估的度量而選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式;以及配置GPU6以根據(jù)所述選定的再現(xiàn)模式而操作。在下文更詳細(xì)地描述自動(dòng)再現(xiàn)模式選擇過程。
      [0047]在GPU6從前一再現(xiàn)單元切換到當(dāng)前再現(xiàn)單元時(shí),圖形驅(qū)動(dòng)器10可在圖形數(shù)據(jù)中的再現(xiàn)邊界處為當(dāng)前再現(xiàn)單元選擇再現(xiàn)模式。如上文所描述,再現(xiàn)單元可包含一組幀、一中貞、一巾貞的一部分、與一巾貞相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一巾貞相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。再現(xiàn)邊界可包括再現(xiàn)單元之間的轉(zhuǎn)變周期,例如在GPU6結(jié)束再現(xiàn)前一再現(xiàn)單元且開始再現(xiàn)當(dāng)前再現(xiàn)單元時(shí)。一旦GPU6結(jié)束再現(xiàn)前一再現(xiàn)單元,GPU6便從接收前一再現(xiàn)單元的數(shù)據(jù)切換到接收待再現(xiàn)的當(dāng)前再現(xiàn)單元的數(shù)據(jù)。那時(shí),圖形驅(qū)動(dòng)器10可為當(dāng)前再現(xiàn)單元自動(dòng)地選擇再現(xiàn)模式。
      [0048]以此方式,在圖形數(shù)據(jù)改變時(shí),且在CPU4和/或GPU6在再現(xiàn)圖形數(shù)據(jù)時(shí)的性能改變時(shí),圖形驅(qū)動(dòng)器10可針對(duì)當(dāng)前情形切換由GPU6使用的再現(xiàn)模式。舉例來說,如果為當(dāng)前再現(xiàn)單元選擇的再現(xiàn)模式不同于用于前一再現(xiàn)單元的再現(xiàn)單元,那么圖形驅(qū)動(dòng)器10可重新配置GPU6以根據(jù)新選擇的再現(xiàn)模式而操作。根據(jù)所述技術(shù),圖形驅(qū)動(dòng)器10可針對(duì)與一幀相關(guān)聯(lián)的單一或多個(gè)再現(xiàn)目標(biāo)26中的每一者、針對(duì)圖形數(shù)據(jù)的每一幀,或針對(duì)圖形數(shù)據(jù)的每一預(yù)定義組的幀,來切換再現(xiàn)模式。
      [0049]在給定再現(xiàn)邊界處,圖形驅(qū)動(dòng)器10可收集與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。所述度量可與CPU4和/或GPU6在再現(xiàn)前一再現(xiàn)單元和當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)時(shí)的性能相關(guān)聯(lián)。在圖形數(shù)據(jù)的處理期間,GPU6可在CPU4后面若干幀。因此,圖形驅(qū)動(dòng)器10可從GPU6收集與再現(xiàn)前一再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量,且從CPU4收集與再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。
      [0050]所述度量可包含再現(xiàn)單元中的頂點(diǎn)的數(shù)目、再現(xiàn)單元中的片段的數(shù)目、再現(xiàn)單元中的片段的位置、在再現(xiàn)期間使用的GPU帶寬的量、在再現(xiàn)期間的GPU6的寄存器上的負(fù)載量、在再現(xiàn)期間的CPU4的寄存器上的負(fù)載量、針對(duì)一幀界定的再現(xiàn)目標(biāo)26的數(shù)目、針對(duì)一幀界定的多個(gè)再現(xiàn)目標(biāo)(MRT)的數(shù)目、再現(xiàn)目標(biāo)26的尺寸(例如,高度、寬度、每像素的位)、是否針對(duì)再現(xiàn)單元啟用深度測(cè)試、是否針對(duì)再現(xiàn)單元啟用混合、是否針對(duì)單元啟用模板測(cè)試、在GPU6上執(zhí)行的應(yīng)用程序的類型、對(duì)繪制再現(xiàn)單元的圖元的圖形API調(diào)用的數(shù)目,以及來自GPU性能計(jì)數(shù)器32的額外信息。另外,所述度量還可包含是否針對(duì)再現(xiàn)單元發(fā)生場(chǎng)景過度繪制、是否在再現(xiàn)期間在再現(xiàn)目標(biāo)26中發(fā)生中間再現(xiàn)更新、是否使用變換反饋、是否從幀緩沖器28讀取再現(xiàn)單元中的片段、用于再現(xiàn)單元的狀態(tài)更新的數(shù)目,以及可指示中間幀解析的其它度量。
      [0051]一股來說,圖形驅(qū)動(dòng)器10收集度量是相對(duì)廉價(jià)的,甚至基于每個(gè)幀或每個(gè)再現(xiàn)目標(biāo)也是如此。然而,可較不頻繁地收集來自GPU性能計(jì)數(shù)器32的信息,因?yàn)樵谝恍┯布?,可能需要GPU6的性能暫停以讀取GPU性能計(jì)數(shù)器32。圖形驅(qū)動(dòng)器10可隨后將所收集的度量存儲(chǔ)在度量緩沖器24中。參看圖3和5更詳細(xì)地描述收集度量的過程。
      [0052]圖形驅(qū)動(dòng)器10接下來評(píng)估所述度量以預(yù)測(cè)即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的哪一者將使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。圖形驅(qū)動(dòng)器10評(píng)估所述度量中的至少兩者。通過評(píng)估一個(gè)以上度量,圖形驅(qū)動(dòng)器10可獲得與再現(xiàn)當(dāng)前再現(xiàn)單元相關(guān)聯(lián)的性能和電力約束的透徹理解,以便作出有效的再現(xiàn)模式選擇。
      [0053]舉例來說,圖形驅(qū)動(dòng)器10可至少評(píng)估GPU帶寬以及針對(duì)一幀界定的再現(xiàn)目標(biāo)的數(shù)目的度量。如果圖形驅(qū)動(dòng)器10僅評(píng)估GPU帶寬,那么其將無(wú)法考慮到在延遲再現(xiàn)模式中設(shè)置平鋪回合以及再現(xiàn)再現(xiàn)單元的每一瓦片所需的處理資源。通過評(píng)估GPU帶寬以及再現(xiàn)目標(biāo)的數(shù)目?jī)烧?,圖形驅(qū)動(dòng)器10可將帶寬成本與用以再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的開銷成本進(jìn)行比較,以預(yù)測(cè)最有效的再現(xiàn)模式以供GPU6使用。
      [0054]圖形驅(qū)動(dòng)器10可將加權(quán)方案應(yīng)用于至少兩個(gè)度量。舉例來說,圖形驅(qū)動(dòng)器10可執(zhí)行將某些量的權(quán)重指派給所述度量中的兩者或兩者以上的算法。所述加權(quán)方案可將相等量的權(quán)重應(yīng)用于所述度量中的兩者或兩者以上,或可將不同量的權(quán)重應(yīng)用于所述度量中的每一者。在一些情況下,可將加權(quán)方案算法預(yù)編程到圖形驅(qū)動(dòng)器10中。在其它情況下,可由開發(fā)者經(jīng)由圖形API22來設(shè)定加權(quán)方案算法。以此方式,加權(quán)方案算法可基于待再現(xiàn)的圖形數(shù)據(jù)的類型、系統(tǒng)要求以及CPU4和GPU6的性能或其它考慮因素而隨時(shí)間變化。參看圖3和6更詳細(xì)地描述評(píng)估兩個(gè)或兩個(gè)以上度量的過程。
      [0055]圖形驅(qū)動(dòng)器10隨后基于所評(píng)估的度量自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式。更具體來說,圖形驅(qū)動(dòng)器10可選擇經(jīng)預(yù)測(cè)使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)模式。在一些情況下,圖形驅(qū)動(dòng)器10可基于所評(píng)估的度量選擇還經(jīng)預(yù)測(cè)允許CPU4和/或GPU6中的較高頂點(diǎn)處理量、減少圖形驅(qū)動(dòng)器10的開銷,或另外改善性能和電力消耗的再現(xiàn)模式。
      [0056]在一些情況下,圖形驅(qū)動(dòng)器10還可從開發(fā)者或其它用戶接收手動(dòng)地選擇的再現(xiàn)模式。舉例來說,圖形驅(qū)動(dòng)器10可經(jīng)由在CPU4上執(zhí)行的圖形API22來接收手動(dòng)地選擇的再現(xiàn)模式。在一些情況下,手動(dòng)選擇可包括對(duì)圖形驅(qū)動(dòng)器10的關(guān)于再現(xiàn)模式中的優(yōu)選一者的指示或暗示。由圖形驅(qū)動(dòng)器10接收的手動(dòng)地選擇的再現(xiàn)模式可超馳自動(dòng)地選擇的再現(xiàn)模式。以此方式,開發(fā)者可能夠控制由GPU6使用的再現(xiàn)模式,而不管哪一再現(xiàn)模式經(jīng)預(yù)測(cè)在再現(xiàn)期間使用較少的電力和/或系統(tǒng)帶寬。
      [0057]不管再現(xiàn)模式是基于所評(píng)估的度量被自動(dòng)地選擇還是由用戶手動(dòng)地選擇,圖形驅(qū)動(dòng)器10均配置GPU6以根據(jù)選定的再現(xiàn)模式來操作以再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。配置GPU6可包括編程GPU6的寄存器以將從再現(xiàn)引擎12輸出的所再現(xiàn)的圖形數(shù)據(jù)直接發(fā)送到幀緩沖器28 (在即時(shí)再現(xiàn)模式的情況下)或發(fā)送到瓦片緩沖器30 (在延遲再現(xiàn)模式的情況下)。舉例來說,當(dāng)選擇即時(shí)再現(xiàn)模式時(shí),圖形驅(qū)動(dòng)器10可配置GPU6的再現(xiàn)引擎12將當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)直接再現(xiàn)到裝置存儲(chǔ)器8中的幀緩沖器28。相比而言,當(dāng)選擇延遲再現(xiàn)模式時(shí),圖形驅(qū)動(dòng)器10可配置GPU6的再現(xiàn)引擎12以執(zhí)行將當(dāng)前再現(xiàn)單元?jiǎng)澐譃槎鄠€(gè)瓦片的平鋪回合、將多個(gè)瓦片中的每一者的圖形數(shù)據(jù)再現(xiàn)到瓦片緩沖器30,且將所再現(xiàn)的瓦片中的每一者從瓦片緩沖器讀取到幀緩沖器28。
      [0058]圖形驅(qū)動(dòng)器10可隨后將當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)提供給GPU6的再現(xiàn)引擎12以根據(jù)選定的再現(xiàn)模式進(jìn)行再現(xiàn)。當(dāng)GPU6到達(dá)圖形數(shù)據(jù)中的再現(xiàn)邊界時(shí),GPU6將切換到下一再現(xiàn)單元。如上文所描述,再現(xiàn)邊界可包括再現(xiàn)單元之間的轉(zhuǎn)變周期,例如一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。當(dāng)GPU6切換到下一再現(xiàn)單元時(shí),圖形驅(qū)動(dòng)器10再次執(zhí)行上文所描述的過程以為現(xiàn)在的當(dāng)前再現(xiàn)單元自動(dòng)地選擇再現(xiàn)模式。因此,可將不同的再現(xiàn)模式用于連續(xù)的再現(xiàn)單元。圖3是說明經(jīng)配置以自動(dòng)地選擇再現(xiàn)模式以供GPU6使用的圖形驅(qū)動(dòng)器10的示范性功能塊的方框圖。如上文所描述,圖形驅(qū)動(dòng)器10可將用于圖形應(yīng)用程序的應(yīng)用程序指令或API調(diào)用轉(zhuǎn)譯為將由CPU4和/或GPU6執(zhí)行的命令。舉例來說,GPU6可響應(yīng)于來自圖形應(yīng)用程序的命令而再現(xiàn)圖形數(shù)據(jù)以準(zhǔn)備用于顯示的圖像。為了在再現(xiàn)過程期間節(jié)省電力和系統(tǒng)帶寬,圖形驅(qū)動(dòng)器10可基于所評(píng)估的度量而自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式以供GPU6使用。圖形驅(qū)動(dòng)器10可首先將度量收集并存儲(chǔ)在度量緩沖器24中,且隨后評(píng)估所述度量以便選擇經(jīng)預(yù)測(cè)使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)圖形數(shù)據(jù)的再現(xiàn)模式。
      [0059]在圖3的所說明的實(shí)例中,當(dāng)由CPU4執(zhí)行時(shí),圖形驅(qū)動(dòng)器10包含度量收集單元40、度量評(píng)估單元42以及再現(xiàn)模式選擇單元44。如上文所描述,度量緩沖器24可包括CPU4內(nèi)的局部存儲(chǔ)器緩沖器。在其它實(shí)例中,度量緩沖器24可包括位于CPU4外部的裝置存儲(chǔ)器8內(nèi)的存儲(chǔ)器緩沖器。
      [0060]在所說明的實(shí)例中,度量緩沖器24包含GPU帶寬46、再現(xiàn)目標(biāo)的數(shù)目48、再現(xiàn)目標(biāo)的尺寸49、GPU負(fù)載50、CPU負(fù)載52、頂點(diǎn)/片段的數(shù)目54、片段的位置54、深度測(cè)試/混合啟用56、應(yīng)用程序的類型57,以及API調(diào)用的數(shù)目58。在一些情況下,度量緩沖器24可包含與再現(xiàn)圖形數(shù)據(jù)相關(guān)聯(lián)的更多或更少的度量。舉例來說,度量緩沖器24可包含從圖2中的GPU6的GPU性能計(jì)數(shù)器32收集的額外信息。另外,度量緩沖器24還可包含關(guān)于以下各者的度量:是否針對(duì)再現(xiàn)單元發(fā)生場(chǎng)景過度繪制、是否在再現(xiàn)期間在再現(xiàn)目標(biāo)26中發(fā)生中間再現(xiàn)更新、是否使用變換反饋、是否從幀緩沖器28讀取再現(xiàn)單元中的片段、用于再現(xiàn)單元的狀態(tài)更新的數(shù)目,以及可指示中間幀解析的其它度量。度量緩沖器24應(yīng)包含至少兩個(gè)度量,例如GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48。
      [0061]圖形驅(qū)動(dòng)器10可在圖形數(shù)據(jù)內(nèi)的每一再現(xiàn)邊界處收集并評(píng)估所述度量以自動(dòng)地選擇再現(xiàn)模式以供GPU6使用。如上文所描述,再現(xiàn)邊界可包括再現(xiàn)單元之間的轉(zhuǎn)變周期,例如在GPU6結(jié)束再現(xiàn)前一再現(xiàn)單元且開始再現(xiàn)當(dāng)前再現(xiàn)單元時(shí)。再現(xiàn)單元可包含一組幀、一中貞、一巾貞的一部分、與一巾貞相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一巾貞相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。在給定的再現(xiàn)邊界處,在CPU4上運(yùn)行的圖形驅(qū)動(dòng)器10執(zhí)行度量收集單元40以收集與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。舉例來說,度量收集單元40可收集與再現(xiàn)前一再現(xiàn)單元和/或當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。在圖形數(shù)據(jù)的處理期間,GPU6可在CPU4后面若干幀。因此,度量收集單元40可從CPU4收集與再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。同時(shí),度量收集單元40可從GPU6收集與再現(xiàn)前一再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。
      [0062]作為一實(shí)例,度量收集單元40可從GPU6的GPU性能計(jì)數(shù)器32收集在再現(xiàn)前一再現(xiàn)單元的圖形數(shù)據(jù)期間使用的GPU帶寬46的量。在一些情況下,從GPU性能計(jì)數(shù)器32收集信息可能需要GPU6的性能暫停。頻繁地暫停GPU6的性能可導(dǎo)致再現(xiàn)圖形數(shù)據(jù)的性能成本上的不合意的增加。因此,度量收集單元40可不在每個(gè)再現(xiàn)邊界處從GPU性能計(jì)數(shù)器32收集信息,尤其在再現(xiàn)邊界出現(xiàn)在每一幀之間或在與一幀相關(guān)聯(lián)的每一再現(xiàn)目標(biāo)之間的情況下。在其它情況下,可基于從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集的前一或當(dāng)前再現(xiàn)單元的頂點(diǎn)/片段54的數(shù)目來確定GPU帶寬的量。由GPU6用來再現(xiàn)圖形數(shù)據(jù)的大量系統(tǒng)帶寬可指示GPU6正在即時(shí)再現(xiàn)模式中對(duì)裝置存儲(chǔ)器8作出大量的讀取和/或?qū)懭胝?qǐng)求。
      [0063]度量收集單元40還可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集針對(duì)一幀而界定的再現(xiàn)目標(biāo)的數(shù)目48。如上文所描述,再現(xiàn)目標(biāo)26包括存儲(chǔ)于裝置存儲(chǔ)器8中的若干幀緩沖器,其各自保持相關(guān)聯(lián)的幀的某一類型的圖形數(shù)據(jù),例如紋理數(shù)據(jù)、色彩數(shù)據(jù)和深度數(shù)據(jù)。為了再現(xiàn)幀,GPU6單獨(dú)地再現(xiàn)與所述幀相關(guān)聯(lián)的再現(xiàn)目標(biāo)26中的每一者內(nèi)的圖形數(shù)據(jù),且隨后將所再現(xiàn)的圖形數(shù)據(jù)在幀緩沖器28中進(jìn)行組合。針對(duì)給定幀而界定的再現(xiàn)目標(biāo)的數(shù)目越大,就需要越大數(shù)目的再現(xiàn)回合來完全再現(xiàn)所述幀以進(jìn)行顯示。在一些情況下,再現(xiàn)目標(biāo)的數(shù)目48可包含再現(xiàn)目標(biāo)26中所包含的多個(gè)再現(xiàn)目標(biāo)的數(shù)目。如上文所描述,多個(gè)再現(xiàn)目標(biāo)包括保持幀的同一類型的數(shù)據(jù)(例如,色彩數(shù)據(jù))且可同時(shí)再現(xiàn)的幀緩沖器。
      [0064]另外,度量收集單元40可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集針對(duì)一幀而界定的再現(xiàn)目標(biāo)的尺寸49。所述尺寸可包括針對(duì)給定幀而存儲(chǔ)在裝置存儲(chǔ)器8中的再現(xiàn)目標(biāo)26中的每一者的高度和寬度。所述尺寸還可包含再現(xiàn)目標(biāo)26中的每一者的每個(gè)像素值的深度或位。針對(duì)給定幀而界定的大再現(xiàn)目標(biāo)可指示所述幀包含可能需要許多讀取-修改-寫入操作的用于再現(xiàn)的復(fù)雜圖形場(chǎng)景。
      [0065]作為另一實(shí)例,度量收集單元40可收集在前一再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)期間GPU6的寄存器上的GPU負(fù)載50的量。度量收集單元40還可收集在前一或當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)期間CPU4的寄存器上的CPU負(fù)載52的量。GPU6和CPU4的負(fù)載量可指示在圖形數(shù)據(jù)的再現(xiàn)期間可能發(fā)生任何性能瓶頸的地方。
      [0066]度量收集單元40還可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集前一或當(dāng)前再現(xiàn)單元的頂點(diǎn)/片段的數(shù)目54。如上文所述,包含于給定幀中的頂點(diǎn)和/或片段的數(shù)目可用于確定將需要用來再現(xiàn)幀的圖形數(shù)據(jù)的GPU帶寬的量。另外,度量收集單元40可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集前一或當(dāng)前再現(xiàn)單元中的片段的位置55。片段的位置55可指示是否大量片段散布在簡(jiǎn)單的圖形場(chǎng)景中的再現(xiàn)單元上,或群集在再現(xiàn)單元的一個(gè)區(qū)域中作為復(fù)雜的圖形場(chǎng)景。
      [0067]在進(jìn)一步的實(shí)例中,度量收集單元40從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集前一或當(dāng)前再現(xiàn)單元是否被啟用深度測(cè)試/混合56。當(dāng)針對(duì)給定再現(xiàn)單元啟用并執(zhí)行時(shí),深度測(cè)試和像素混合的圖形操作需要許多讀取-修改-寫入操作。在一些情況下,啟用了深度測(cè)試/混合56還可指示是否啟用了模板測(cè)試。
      [0068]度量收集40還收集在CPU4和/或GPU6上針對(duì)前一或當(dāng)前再現(xiàn)單元執(zhí)行的應(yīng)用程序的類型57。在CPU4和/或GPU6上執(zhí)行的應(yīng)用程序的類型57,即圖形應(yīng)用程序20,可指示針對(duì)再現(xiàn)產(chǎn)生的圖形場(chǎng)景的一股復(fù)雜度水平。另外,度量收集單元40可從在CPU4上執(zhí)行的圖形API22收集針對(duì)前一或當(dāng)前再現(xiàn)單元的API調(diào)用的數(shù)目58,例如對(duì)以圖形數(shù)據(jù)繪制圖元或三角形的調(diào)用。當(dāng)給定的再現(xiàn)單元包含大量API調(diào)用時(shí),可更有可能將在延遲再現(xiàn)模式中針對(duì)多個(gè)瓦片重新繪制大量圖元。
      [0069]一旦度量被收集且存儲(chǔ)在度量緩沖器24中,圖形驅(qū)動(dòng)器10便執(zhí)行度量評(píng)估單元42以評(píng)估所述度量中的至少兩者以預(yù)測(cè)即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的哪一者將使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。度量評(píng)估單元42可將加權(quán)方案應(yīng)用于存儲(chǔ)在度量緩沖器24中的所收集的度量。舉例來說,度量評(píng)估單元42可執(zhí)行將某些量的權(quán)重指派給所述度量中的兩者或兩者以上的算法。所述加權(quán)方案可將相等量的權(quán)重應(yīng)用于所述度量中的兩者或兩者以上,或可將不同量的權(quán)重應(yīng)用于所述度量中的每一者。在一些情況下,可將加權(quán)方案算法預(yù)編程到圖形驅(qū)動(dòng)器10中。在其它情況下,可由開發(fā)者經(jīng)由圖形API22來設(shè)定加權(quán)方案算法。以此方式,加權(quán)方案算法可基于待再現(xiàn)的圖形數(shù)據(jù)的類型、系統(tǒng)要求以及CPU4和GPU6的性能或其它考慮因素而隨時(shí)間變化。
      [0070]作為一個(gè)特定實(shí)例,度量評(píng)估單元42可將最大的權(quán)重應(yīng)用于GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48的度量。在一些情況下,度量評(píng)估單元42可將相等量的權(quán)重應(yīng)用于GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48。在其它情況下,度量評(píng)估單元42可將略微更大的權(quán)重應(yīng)用于GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48中的一者。
      [0071]當(dāng)GPU帶寬46在再現(xiàn)期間較高時(shí),其可指示GPU6的再現(xiàn)引擎12正對(duì)GPU6外部的裝置存儲(chǔ)器8執(zhí)行大量的讀取和/或?qū)懭胝?qǐng)求。當(dāng)再現(xiàn)引擎12正在即時(shí)再現(xiàn)模式中執(zhí)行需要對(duì)裝置存儲(chǔ)器8的大量讀取-修改-寫入操作的色彩混合或深度測(cè)試操作時(shí),此可發(fā)生。因此,當(dāng)GPU帶寬46的量較高時(shí),切換到延遲再現(xiàn)模式可更有效,從而減少系統(tǒng)帶寬使用。在延遲再現(xiàn)模式中,GPU6可使用很少的電力且不使用系統(tǒng)帶寬來執(zhí)行對(duì)在本地位于GPU6上的瓦片緩沖器30的讀取和/或?qū)懭胝?qǐng)求。以此方式,延遲再現(xiàn)模式將可能減少GPU6在當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)期間所使用的系統(tǒng)帶寬的量。
      [0072]然而,度量評(píng)估不應(yīng)僅依賴于一個(gè)度量。舉例來說,僅依賴于GPU帶寬46會(huì)無(wú)法考慮到設(shè)置平鋪回合以將再現(xiàn)單元?jiǎng)澐譃槿舾赏咂译S后單獨(dú)地再現(xiàn)每一瓦片所需的處理資源。替代地,度量評(píng)估單元42可針對(duì)再現(xiàn)當(dāng)前再現(xiàn)單元中的圖形數(shù)據(jù)將帶寬成本與開銷成本進(jìn)行比較以預(yù)測(cè)最有效的再現(xiàn)模式來供GPU6使用。
      [0073]為了確定開銷成本,性能評(píng)估單元42可評(píng)估針對(duì)當(dāng)前再現(xiàn)單元而界定的再現(xiàn)目標(biāo)的數(shù)目48。如上文所描述,為了再現(xiàn)幀,GPU6單獨(dú)地再現(xiàn)與所述幀相關(guān)聯(lián)的再現(xiàn)目標(biāo)中的每一者內(nèi)的圖形數(shù)據(jù),且隨后將所再現(xiàn)的圖形數(shù)據(jù)在幀緩沖器28中進(jìn)行組合。當(dāng)針對(duì)給定幀而界定的再現(xiàn)目標(biāo)的數(shù)目48較高時(shí),需要更大數(shù)目的再現(xiàn)回合來完全再現(xiàn)所述幀以進(jìn)行顯示。因此,當(dāng)再現(xiàn)目標(biāo)的數(shù)目48較高時(shí),切換到即時(shí)再現(xiàn)模式可更有效,從而通過消除針對(duì)每一再現(xiàn)目標(biāo)設(shè)置平鋪回合且再現(xiàn)與所述幀相關(guān)聯(lián)的每一再現(xiàn)目標(biāo)的每一瓦片的需要來減少開銷成本。
      [0074]在即時(shí)再現(xiàn)模式中,GPU6可將與所述幀相關(guān)聯(lián)的每一再現(xiàn)目標(biāo)中的圖形數(shù)據(jù)直接再現(xiàn)到幀緩沖器28,而不需要針對(duì)每一再現(xiàn)目標(biāo)執(zhí)行單獨(dú)的平鋪回合和瓦片再現(xiàn)。以此方式,使用即時(shí)再現(xiàn)模式將可能減少CPU4和/或GPU6在當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)期間所使用的處理資源的量。
      [0075]因此,當(dāng)GPU帶寬46較高且再現(xiàn)目標(biāo)的數(shù)目48較低時(shí),度量評(píng)估單元42可預(yù)測(cè)延遲再現(xiàn)模式對(duì)于當(dāng)前再現(xiàn)單元是最有效的。如上文描述,當(dāng)圖形數(shù)據(jù)表示具有需要許多讀取-修改-寫入功能的像素混合和深度測(cè)試的復(fù)雜圖形場(chǎng)景時(shí),延遲再現(xiàn)模式可使用較少的電力和系統(tǒng)帶寬來再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)。當(dāng)GPU帶寬46較高但再現(xiàn)目標(biāo)的數(shù)目48較低時(shí),設(shè)置平鋪回合以及再現(xiàn)每一再現(xiàn)目標(biāo)的多個(gè)瓦片的開銷成本不會(huì)超馳延遲再現(xiàn)模式的帶寬減小。
      [0076]另一方面,當(dāng)GPU帶寬46較低且再現(xiàn)目標(biāo)的數(shù)目48較高時(shí),度量評(píng)估單元42可預(yù)測(cè)即時(shí)再現(xiàn)模式對(duì)于當(dāng)前再現(xiàn)單元是最有效的。如上文所描述,當(dāng)圖形數(shù)據(jù)表示簡(jiǎn)單的圖形場(chǎng)景時(shí)(其中延遲再現(xiàn)模式不提供帶寬減小,但卻充當(dāng)處理資源的汲取者),即時(shí)再現(xiàn)模式可使用較少的電力和系統(tǒng)帶寬來再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)。當(dāng)GPU帶寬46較低但再現(xiàn)目標(biāo)的數(shù)目48較高時(shí),設(shè)置平鋪回合以及再現(xiàn)每一再現(xiàn)目標(biāo)的多個(gè)瓦片的開銷成本會(huì)超馳延遲再現(xiàn)模式的任何帶寬減小。
      [0077]在一些情況下,基于GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48,可能不立即看得出哪一再現(xiàn)模式將在再現(xiàn)期間使用較少的電力和/或系統(tǒng)帶寬。舉例來說,當(dāng)GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48兩者都低或高時(shí),延遲再現(xiàn)模式下的設(shè)置平鋪回合以及瓦片再現(xiàn)的開銷成本是否將超馳延遲再現(xiàn)模式的帶寬減小可能不明顯。在那些情況下,度量評(píng)估單元42可看向下一經(jīng)加權(quán)度量以預(yù)測(cè)對(duì)于當(dāng)前再現(xiàn)單元最有效的再現(xiàn)模式。
      [0078]度量評(píng)估單元42可隨后評(píng)估(例如)GPU負(fù)載50和CPU負(fù)載52以確定在再現(xiàn)期間可能發(fā)生任何瓶頸的地方。當(dāng)CPU負(fù)載52較高時(shí),其可指示歸因于具有延遲再現(xiàn)模式的圖形驅(qū)動(dòng)器10中的額外開銷成本而引起的CPU4中的瓶頸。在此情況下,使用即時(shí)再現(xiàn)模式可更有效,且將更多的處理負(fù)擔(dān)轉(zhuǎn)移到GPU6上。在其它實(shí)例中,性能評(píng)估單元42可評(píng)估API調(diào)用的數(shù)目58以確定再現(xiàn)單元的圖元或三角形繪制的數(shù)目。當(dāng)API調(diào)用的數(shù)目58較高時(shí),例如多于每再現(xiàn)單元2,000個(gè)調(diào)用,使用即時(shí)再現(xiàn)模式可更有效,因?yàn)楸仨氈匦吕L制再現(xiàn)單元的每一瓦片的大量圖元的開銷成本可超馳延遲再現(xiàn)模式的帶寬減小。
      [0079]—旦評(píng)估了度量,圖形驅(qū)動(dòng)器10便執(zhí)行再現(xiàn)模式選擇單元44以基于所評(píng)估的度量來選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式。更具體來說,再現(xiàn)模式選擇單元44可選擇由度量評(píng)估單元42預(yù)測(cè)以使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)模式。再現(xiàn)模式選擇單元44可隨后配置GPU6來根據(jù)選定的再現(xiàn)模式而操作,以再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。配置GPU6可包括編程GPU6的寄存器以將從再現(xiàn)引擎12輸出的所再現(xiàn)的圖形數(shù)據(jù)直接發(fā)送到幀緩沖器28(在即時(shí)再現(xiàn)模式的情況下)或發(fā)送到瓦片緩沖器30 (在延遲再現(xiàn)模式的情況下)。
      [0080]在一些情況下,圖形驅(qū)動(dòng)器10的再現(xiàn)模式選擇單元還可經(jīng)由圖形API22從開發(fā)者或其它用戶接收手動(dòng)地選擇或指示的再現(xiàn)模式。手動(dòng)地選擇的再現(xiàn)模式可超馳自動(dòng)地選擇的再現(xiàn)模式。當(dāng)接收到手動(dòng)地選擇的再現(xiàn)模式時(shí),再現(xiàn)模式選擇單元44可配置GPU6根據(jù)手動(dòng)地選擇的再現(xiàn)模式而操作。以此方式,開發(fā)者可能夠控制由GPU6使用的再現(xiàn)模式,而不管哪一再現(xiàn)模式經(jīng)預(yù)測(cè)在再現(xiàn)期間使用較少的電力和/或系統(tǒng)帶寬。
      [0081]圖4是說明自動(dòng)地選擇再現(xiàn)模式以供GPU6使用的圖形驅(qū)動(dòng)器10的實(shí)例操作的流程圖。將參考來自圖2的圖形驅(qū)動(dòng)器2來描述所說明的流程圖。在圖形應(yīng)用程序20在CPU4上的執(zhí)行期間,圖形驅(qū)動(dòng)器10可命令GPU6再現(xiàn)圖形數(shù)據(jù)以產(chǎn)生圖像以進(jìn)行顯示。圖形驅(qū)動(dòng)器10還可基于哪一模式經(jīng)預(yù)測(cè)使用最少量的電力和/或系統(tǒng)帶寬來再現(xiàn)圖形數(shù)據(jù)而自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式以供GPU6使用。
      [0082]圖形數(shù)據(jù)可包括多個(gè)再現(xiàn)單元。圖形數(shù)據(jù)的再現(xiàn)單元可包含一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或單一再現(xiàn)目標(biāo)的一部分。在GPU6從前一再現(xiàn)單元切換到當(dāng)前再現(xiàn)單元時(shí),圖形驅(qū)動(dòng)器10可在再現(xiàn)邊界處為當(dāng)前再現(xiàn)單元選擇再現(xiàn)模式。
      [0083]在給定再現(xiàn)邊界處,在CPU4上運(yùn)行的圖形驅(qū)動(dòng)器10收集與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量(60)。通常,圖形驅(qū)動(dòng)器10從GPU6收集與再現(xiàn)前一再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量,且從CPU4收集與再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。圖形驅(qū)動(dòng)器10可隨后將所收集的度量存儲(chǔ)在度量緩沖器24中。在圖5中更詳細(xì)地描述收集度量的示范性操作。
      [0084]圖形驅(qū)動(dòng)器10接下來使用加權(quán)方案來評(píng)估所述度量中的至少兩者(62)。以此方式,圖形驅(qū)動(dòng)器10可預(yù)測(cè)即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的哪一者將使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。舉例來說,圖形驅(qū)動(dòng)器10可將加權(quán)方案應(yīng)用于至少GPU帶寬以及針對(duì)一幀界定的再現(xiàn)目標(biāo)的數(shù)目的度量。圖形驅(qū)動(dòng)器10可隨后針對(duì)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)來評(píng)估與設(shè)置延遲再現(xiàn)模式相關(guān)聯(lián)的開銷成本是否超馳延遲再現(xiàn)模式的帶寬減小。在圖6中更詳細(xì)地描述評(píng)估度量的示范性操作。
      [0085]一旦評(píng)估了度量,圖形驅(qū)動(dòng)器10便基于所述評(píng)估自動(dòng)地選擇即時(shí)再現(xiàn)模式或延遲再現(xiàn)模式(64)。更具體來說,再現(xiàn)模式選擇單元44可選擇經(jīng)預(yù)測(cè)使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的再現(xiàn)模式。
      [0086]在一些情況下,圖形驅(qū)動(dòng)器10還可經(jīng)由圖形API22從開發(fā)者或其它用戶接收手動(dòng)地選擇的再現(xiàn)模式(66的“是”分支)。由圖形驅(qū)動(dòng)器10接收的手動(dòng)地選擇的再現(xiàn)模式可超馳自動(dòng)地選擇的再現(xiàn)模式(68)。以此方式,開發(fā)者可能夠控制由GPU6使用的再現(xiàn)模式,而不管哪一再現(xiàn)模式經(jīng)預(yù)測(cè)在再現(xiàn)期間使用較少的電力和/或系統(tǒng)帶寬。
      [0087]不管再現(xiàn)模式是基于所評(píng)估的度量被自動(dòng)地選擇(66的“否”分支)還是由用戶手動(dòng)地選擇出6、68的“是”分支),圖形驅(qū)動(dòng)器10均配置GPU6以根據(jù)選定的再現(xiàn)模式來操作以再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)(70)。配置GPU6可包括編程GPU6的寄存器以將從再現(xiàn)引擎12輸出的所再現(xiàn)的圖形數(shù)據(jù)直接發(fā)送到幀緩沖器28(在即時(shí)再現(xiàn)模式的情況下)或發(fā)送到瓦片緩沖器30 (在延遲再現(xiàn)模式的情況下)。
      [0088]圖形驅(qū)動(dòng)器10可隨后將當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)提供給GPU6的經(jīng)配置以根據(jù)選定的再現(xiàn)模式而操作的再現(xiàn)引擎12(72)。直到GPU6到達(dá)圖形數(shù)據(jù)中的再現(xiàn)邊界(74的“否”分支),圖形驅(qū)動(dòng)器10才將繼續(xù)將當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)提供給GPU6的再現(xiàn)引擎12(72)。一旦GPU6到達(dá)再現(xiàn)邊界且從當(dāng)前再現(xiàn)單元切換到后續(xù)再現(xiàn)單元(74的“是”分支),圖形驅(qū)動(dòng)器10便也切換到后續(xù)再現(xiàn)單元(76)。圖形驅(qū)動(dòng)器10隨后針對(duì)后續(xù)再現(xiàn)單元執(zhí)行上文所描述的自動(dòng)再現(xiàn)模式選擇過程。
      [0089]圖5是說明收集與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量的圖形驅(qū)動(dòng)器10的實(shí)例操作的流程圖(來自圖4的步驟60)。將參考來自圖3的圖形驅(qū)動(dòng)器10的度量收集單元40來描述所說明的流程圖。在給定的再現(xiàn)邊界處,圖形驅(qū)動(dòng)器10執(zhí)行度量收集單元40以收集與再現(xiàn)前一再現(xiàn)單元和/或當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。舉例來說,度量收集單元40可從CPU4收集與再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量,且從GPU6收集與再現(xiàn)前一再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。
      [0090]度量收集單元40可從GPU6的GPU性能計(jì)數(shù)器32收集在再現(xiàn)前一再現(xiàn)單元期間使用的GPU帶寬46的量(80)。在一些情況下,度量收集單元40可不在每個(gè)再現(xiàn)邊界處從GPU性能計(jì)數(shù)器32收集信息??呻S后基于從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集的前一或當(dāng)前再現(xiàn)單元的頂點(diǎn)/片段54的數(shù)目來確定GPU帶寬的量(下文的步驟88)。由GPU6用來再現(xiàn)圖形數(shù)據(jù)的大量帶寬可指示GPU6正對(duì)裝置存儲(chǔ)器8作出大量的讀取和/或?qū)懭胝?qǐng)求。
      [0091]度量收集單元40還可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集針對(duì)與當(dāng)前再現(xiàn)單元相關(guān)聯(lián)的一幀而界定的再現(xiàn)目標(biāo)的數(shù)目48 (82)。針對(duì)給定幀而界定的再現(xiàn)目標(biāo)的數(shù)目越大,就需要越大數(shù)目的再現(xiàn)回合來完全再現(xiàn)所述幀以進(jìn)行顯示。度量收集單元40可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集針對(duì)與當(dāng)前再現(xiàn)單元相關(guān)聯(lián)的一幀而界定的再現(xiàn)目標(biāo)的尺寸49 (83)。所述尺寸可包括針對(duì)給定幀而存儲(chǔ)在裝置存儲(chǔ)器8中的再現(xiàn)目標(biāo)26中的每一者的高度、寬度和每像素的位。針對(duì)給定幀而界定的大再現(xiàn)目標(biāo)可指示所述幀包含可需要許多讀取-修改-寫入操作的用于再現(xiàn)的復(fù)雜圖形場(chǎng)景。
      [0092]度量收集單元40可收集在前一再現(xiàn)單元的再現(xiàn)期間在GPU6的寄存器上的GPU負(fù)載50的量(84)。度量收集單元40還可收集在前一再現(xiàn)單元的再現(xiàn)期間在CPU4的寄存器上的CPU負(fù)載52的量(86)。GPU6和CPU4的負(fù)載量可指示在圖形數(shù)據(jù)的再現(xiàn)期間可能發(fā)生任何性能瓶頸的地方。
      [0093]度量收集單元40可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集當(dāng)前再現(xiàn)單元的頂點(diǎn)/片段的數(shù)目54(88)。如上文所述,包含于給定再現(xiàn)單元的圖形數(shù)據(jù)中的頂點(diǎn)和/或片段的數(shù)目可用于確定將需要用來再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)的GPU帶寬的量。度量收集單元40還可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集當(dāng)前再現(xiàn)單元中的片段的位置55 (89)。片段的位置可指示是否大量片段散布在簡(jiǎn)單的圖形場(chǎng)景中的再現(xiàn)單元上,或群集在再現(xiàn)單元的一個(gè)區(qū)域中作為復(fù)雜的圖形場(chǎng)景。
      [0094]度量收集單元40可從在CPU4上執(zhí)行的圖形應(yīng)用程序20收集針對(duì)當(dāng)前再現(xiàn)單元是否啟用了深度測(cè)試/混合56(90)。當(dāng)針對(duì)給定再現(xiàn)單元啟用并執(zhí)行時(shí),深度測(cè)試和像素混合的圖形操作需要許多讀取-修改-寫入操作。度量收集40還可收集在CPU4和/或GPU6上針對(duì)當(dāng)前再現(xiàn)單元執(zhí)行的應(yīng)用程序的類型57 (91)。在CPU4和/或GPU6上執(zhí)行的應(yīng)用程序的類型,即圖形應(yīng)用程序20,可指示針對(duì)再現(xiàn)產(chǎn)生的圖形場(chǎng)景的一股復(fù)雜度水平。
      [0095]另外,度量收集單元40可從在CPU4上執(zhí)行的圖形API22收集針對(duì)前一或當(dāng)前再現(xiàn)單元的API調(diào)用的數(shù)目56,例如對(duì)以圖形數(shù)據(jù)繪制圖元或三角形的調(diào)用(92)。當(dāng)給定的再現(xiàn)單元包含大量API調(diào)用時(shí),可更有可能將需要在延遲再現(xiàn)模式中針對(duì)多個(gè)瓦片重新繪制大量圖元。圖形驅(qū)動(dòng)器10的度量收集單元40可隨后將所收集的度量存儲(chǔ)在度量緩沖器24中。
      [0096]圖6是說明使用加權(quán)方案來評(píng)估度量的圖形驅(qū)動(dòng)器10的實(shí)例操作的流程圖(來自圖4的步驟62)。將參考來自圖3的圖形驅(qū)動(dòng)器10的度量評(píng)估單元42來描述所說明的流程圖。一旦度量被收集且存儲(chǔ)在度量緩沖器24中,圖形驅(qū)動(dòng)器10便執(zhí)行度量評(píng)估單元42以評(píng)估所述度量中的至少兩者以預(yù)測(cè)即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的哪一者將使用較少的電力和/或系統(tǒng)帶寬來再現(xiàn)當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      [0097]度量評(píng)估單元42將加權(quán)方案應(yīng)用于存儲(chǔ)在度量緩沖器24中的所收集的度量
      (94)。舉例來說,度量評(píng)估單元42可執(zhí)行將某些量的權(quán)重指派給所述度量中的兩者或兩者以上的算法。在所說明的實(shí)例操作中,度量評(píng)估42將最大的權(quán)重應(yīng)用于GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48的度量(96)。
      [0098]當(dāng)GPU帶寬46較高且再現(xiàn)目標(biāo)的數(shù)目48較低時(shí)(98的“是”分支),度量評(píng)估單元42可預(yù)測(cè)延遲再現(xiàn)模式對(duì)于當(dāng)前再現(xiàn)單元是最有效的(100)。如上文描述,當(dāng)圖形數(shù)據(jù)表示具有需要許多讀取-修改-寫入功能的像素混合和深度測(cè)試的復(fù)雜圖形場(chǎng)景時(shí),延遲再現(xiàn)模式可使用較少的系統(tǒng)帶寬和電力來再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)。當(dāng)GPU帶寬46較高但再現(xiàn)目標(biāo)的數(shù)目48較低時(shí),設(shè)置平鋪回合以及再現(xiàn)每一再現(xiàn)目標(biāo)的多個(gè)瓦片的開銷成本不會(huì)超馳延遲再現(xiàn)模式的帶寬減小。
      [0099]當(dāng)GPU帶寬46較低且再現(xiàn)目標(biāo)的數(shù)目48較高時(shí)(98的“否”分支以及102的“是”分支),度量評(píng)估單元42可預(yù)測(cè)即時(shí)再現(xiàn)模式對(duì)于當(dāng)前再現(xiàn)單元是最有效的(104)。如上文所描述,當(dāng)圖形數(shù)據(jù)表示簡(jiǎn)單的圖形場(chǎng)景時(shí)(其中延遲再現(xiàn)模式不提供帶寬減小,但卻充當(dāng)處理資源的汲取者),即時(shí)再現(xiàn)模式可使用較少的系統(tǒng)帶寬和電力來再現(xiàn)再現(xiàn)單元的圖形數(shù)據(jù)。當(dāng)GPU帶寬46較低但再現(xiàn)目標(biāo)的數(shù)目48較高時(shí),設(shè)置平鋪回合以及再現(xiàn)每一再現(xiàn)目標(biāo)的多個(gè)瓦片的開銷成本會(huì)超馳延遲再現(xiàn)模式的任何帶寬減小。
      [0100]當(dāng)GPU帶寬46較低且再現(xiàn)目標(biāo)的數(shù)目48也較低時(shí),或當(dāng)GPU帶寬46較高且再現(xiàn)目標(biāo)的數(shù)目48也較高時(shí)(98的“否”分支以及102的“否”分支),度量評(píng)估單元42可看向下一經(jīng)加權(quán)度量以預(yù)測(cè)對(duì)于當(dāng)前再現(xiàn)單元最有效的再現(xiàn)模式(106)。舉例來說,當(dāng)GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48兩者都低或高時(shí),延遲再現(xiàn)模式下的設(shè)置平鋪回合以及瓦片再現(xiàn)的開銷成本是否將超馳延遲再現(xiàn)模式的帶寬減小可能不明顯。在此情況下,當(dāng)基于GPU帶寬46和再現(xiàn)目標(biāo)的數(shù)目48不立即看得出哪一再現(xiàn)模式將在再現(xiàn)期間使用較少的系統(tǒng)帶寬和/或電力時(shí),可使用任何額外的經(jīng)加權(quán)度量。
      [0101]圖6的所說明的流程圖僅是使用加權(quán)方案來評(píng)估度量的一個(gè)實(shí)例。在其它實(shí)例中,可將不同量的權(quán)重應(yīng)用于不同度量。舉例來說,兩個(gè)或兩個(gè)以上其它度量可被給予用于預(yù)測(cè)最有效的再現(xiàn)模式的最大權(quán)重,或所有度量可被給予相等權(quán)重。在又其它實(shí)例中,可使用不同的評(píng)估方案來預(yù)測(cè)最有效的再現(xiàn)模式。
      [0102]在一個(gè)或一個(gè)以上實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件實(shí)施,那么所述功能或操作可作為一個(gè)或一個(gè)以上指令或代碼存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀媒體上且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲(chǔ)媒體(其對(duì)應(yīng)于例如數(shù)據(jù)存儲(chǔ)媒體等有形媒體)或通信媒體,通信媒體包含促進(jìn)(例如)根據(jù)通信協(xié)議將計(jì)算機(jī)程序從一處傳遞到另一處的任何媒體。以此方式,計(jì)算機(jī)可讀媒體一股可對(duì)應(yīng)于(I)非暫時(shí)性的有形計(jì)算機(jī)可讀存儲(chǔ)媒體或(2)例如信號(hào)或載波等通信媒體。數(shù)據(jù)存儲(chǔ)媒體可為可由一個(gè)或一個(gè)以上計(jì)算機(jī)或一個(gè)或一個(gè)以上處理器存取以檢索指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)來用于實(shí)施本發(fā)明中所描述的技術(shù)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。
      [0103]舉例來說且非限制,所述計(jì)算機(jī)可讀媒體可包括非暫時(shí)性媒體,例如RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置,快閃存儲(chǔ)器,或可用于攜載或存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼且可由計(jì)算機(jī)存取的任何其它媒體。而且,恰當(dāng)?shù)貙⑷魏芜B接稱作計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無(wú)線電及微波的無(wú)線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無(wú)線電及微波的無(wú)線技術(shù)包含于媒體的定義中。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲(chǔ)媒體和數(shù)據(jù)存儲(chǔ)媒體不包含連接、載波、信號(hào)或其它瞬時(shí)媒體,而是針對(duì)于非瞬時(shí)的、有形存儲(chǔ)媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟磁盤及藍(lán)光光盤,其中磁盤通常磁性地再生數(shù)據(jù),而光盤使用激光光學(xué)地再生數(shù)據(jù)。以上各者的組合也應(yīng)包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
      [0104]指令可由一個(gè)或一個(gè)以上處理器執(zhí)行,例如,一個(gè)或一個(gè)以上DSP、通用微處理器、ASIC、FPGA或其它等效集成或離散邏輯電路。因此,如本文中所使用的術(shù)語(yǔ)“處理器”可指前述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任一其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于經(jīng)配置以用于編碼及解碼的專用硬件模塊和/或軟件模塊內(nèi),或并入組合式編解碼器中。而且,可將所述技術(shù)完全實(shí)施于一個(gè)或一個(gè)以上電路或邏輯元件中。
      [0105]本發(fā)明的技術(shù)可實(shí)施于廣泛多種裝置或設(shè)備中,包含無(wú)線手持機(jī)、集成電路(IC)或IC組(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元來強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的若干功能性方面,但沒有必要需要通過不同的硬件單元來實(shí)現(xiàn)。而是,如上文所描述,各種單元可聯(lián)合合適的軟件和/或固件而組合于編解碼器硬件單元中或通過互操作的硬件單元的集合(包含如上文所描述的一個(gè)或一個(gè)以上處理器)來提供。
      [0106]已描述了各種實(shí)例。這些及其它實(shí)例處于所附權(quán)利要求書的范圍內(nèi)。
      【權(quán)利要求】
      1.一種處理圖形數(shù)據(jù)的方法,其包括: 評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量; 基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者;以及 配置圖形處理單元GPU以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      2.根據(jù)權(quán)利要求1所述的方法,其中所述再現(xiàn)單元中的每一者包括以下各者中的一者:一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo)的一部分。
      3.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括收集與再現(xiàn)前一再現(xiàn)單元和當(dāng)前再現(xiàn)單元中的至少一者的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。
      4.根據(jù)權(quán)利要求1所述的方法,其中評(píng)估至少兩個(gè)度量包括評(píng)估以下各者中的兩者或兩者以上:頂點(diǎn)的數(shù)目、片段的數(shù)目、所述片段的位置、GPU帶寬的量、所述GPU上的負(fù)載量、中央處理單元CPU上的負(fù)載量、針對(duì)一幀界定的再現(xiàn)目標(biāo)的數(shù)目、針對(duì)一幀界定的多個(gè)再現(xiàn)目標(biāo)MRT的數(shù)目、深度測(cè)試啟用、混合啟用、模板測(cè)試啟用、再現(xiàn)目標(biāo)的尺寸、在所述GPU上執(zhí)行的應(yīng)用程序的類型、圖形應(yīng)用程序接口 API調(diào)用的數(shù)目,以及GPU硬件性能計(jì)數(shù)器信肩、O
      5.根據(jù)權(quán)利要求1所述的方法,其中自動(dòng)地選擇再現(xiàn)模式包括在前一再現(xiàn)單元與所述當(dāng)前再現(xiàn)單元之間的所述圖形數(shù)據(jù)中的再現(xiàn)邊界處自動(dòng)地選擇用于所述當(dāng)前再現(xiàn)單元的所述再現(xiàn)模式。
      6.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括: 將所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)提供給所述GPU以進(jìn)行再現(xiàn);以及 在到達(dá)所述圖形數(shù)據(jù)中的再現(xiàn)邊界之后,即刻從所述當(dāng)前再現(xiàn)單元切換到后續(xù)再現(xiàn)單元。
      7.根據(jù)權(quán)利要求1所述的方法,其中評(píng)估所述度量中的至少兩者包括將加權(quán)方案應(yīng)用于所述至少兩個(gè)度量。
      8.根據(jù)權(quán)利要求1所述的方法,其中評(píng)估所述度量中的至少兩者包括至少評(píng)估GPU帶寬的量以及針對(duì)一幀而界定的再現(xiàn)目標(biāo)的數(shù)目。
      9.根據(jù)權(quán)利要求1所述的方法,其中評(píng)估所述度量中的至少兩者包括預(yù)測(cè)所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的哪一者將使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)。
      10.根據(jù)權(quán)利要求1所述的方法,其中自動(dòng)地選擇再現(xiàn)模式包括基于所述所評(píng)估的度量而自動(dòng)地選擇經(jīng)預(yù)測(cè)使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)的所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的所述一者。
      11.根據(jù)權(quán)利要求1所述的方法,其中配置GPU包括,當(dāng)所述即時(shí)再現(xiàn)模式被選擇為所述再現(xiàn)模式時(shí),配置所述GPU的再現(xiàn)引擎以將所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)直接再現(xiàn)到幀緩沖器。
      12.根據(jù)權(quán)利要求1所述的方法,其中配置GPU包括,當(dāng)所述延遲再現(xiàn)模式被選擇為所述再現(xiàn)模式時(shí),配置所述GPU的再現(xiàn)引擎以執(zhí)行將所述當(dāng)前再現(xiàn)單元?jiǎng)澐譃槎鄠€(gè)瓦片的平鋪回合、將所述多個(gè)瓦片中的每一者的圖形數(shù)據(jù)再現(xiàn)到瓦片緩沖器,且將所述所再現(xiàn)的瓦片中的每一者從所述瓦片緩沖器讀取到幀緩沖器。
      13.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括接收超馳所述自動(dòng)地選擇的再現(xiàn)模式的手動(dòng)地選擇的再現(xiàn)模式,其中配置GPU包括配置所述GPU以根據(jù)所述手動(dòng)地選擇的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      14.根據(jù)權(quán)利要求13所述的方法,其中接收手動(dòng)地選擇的再現(xiàn)模式包括執(zhí)行圖形應(yīng)用程序編程接口 API以從用戶接收所述手動(dòng)地選擇的再現(xiàn)模式。
      15.一種用于處理圖形數(shù)據(jù)的圖形裝置,其包括: 存儲(chǔ)器緩沖器,其存儲(chǔ)與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的度量;以及 一個(gè)或一個(gè)以上處理器,其評(píng)估所述度量中的至少兩者、基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者,且配置圖形處理單元GPU以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      16.根據(jù)權(quán)利 要求15所述的圖形裝置,其中所述一個(gè)或一個(gè)以上處理器包括中央處理單元CPU和所述GPU中的一者或一者以上。
      17.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述再現(xiàn)單元中的每一者包括以下各者中的一者:一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo)的一部分。
      18.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器收集與再現(xiàn)前一再現(xiàn)單元和當(dāng)前再現(xiàn)單元中的至少一者的圖形數(shù)據(jù)相關(guān)聯(lián)的度量。
      19.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述度量包括以下各者中的兩者或兩者以上:頂點(diǎn)的數(shù)目、片段的數(shù)目、所述片段的位置、GPU帶寬的量、所述GPU上的負(fù)載量、中央處理單元CPU上的負(fù)載量、針對(duì)一幀界定的再現(xiàn)目標(biāo)的數(shù)目、針對(duì)一幀界定的多個(gè)再現(xiàn)目標(biāo)MRT的數(shù)目、深度測(cè)試啟用、混合啟用、模板測(cè)試啟用、再現(xiàn)目標(biāo)的尺寸、在所述GPU上執(zhí)行的應(yīng)用程序的類型、圖形應(yīng)用程序接口 API調(diào)用的數(shù)目,以及GPU硬件性能計(jì)數(shù)器信息。
      20.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器在所述前一再現(xiàn)單元與所述當(dāng)前再現(xiàn)單元之間的所述圖形數(shù)據(jù)中的再現(xiàn)邊界處自動(dòng)地選擇用于所述當(dāng)前再現(xiàn)單元的所述再現(xiàn)模式。
      21.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器: 將所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)提供給所述GPU以進(jìn)行再現(xiàn);以及 在到達(dá)所述圖形數(shù)據(jù)中的再現(xiàn)邊界之后,即刻從所述當(dāng)前再現(xiàn)單元切換到后續(xù)再現(xiàn)單J Li ο
      22.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器通過將加權(quán)方案應(yīng)用于所述度量中的至少兩者而評(píng)估所述至少兩個(gè)度量。
      23.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器至少評(píng)估GPU帶寬的量以及再現(xiàn)目標(biāo)的數(shù)目。
      24.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器評(píng)估所述度量中的至少兩者以預(yù)測(cè)所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的哪一者將使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)。
      25.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器基于所述所評(píng)估的度量而自動(dòng)地選擇經(jīng)預(yù)測(cè)使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)的所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的所述一者。
      26.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述GPU包含再現(xiàn)引擎,且其中當(dāng)所述即時(shí)再現(xiàn)模式被選擇為所述再現(xiàn)模式時(shí),所述處理器配置所述GPU的所述再現(xiàn)引擎以將所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)直接再現(xiàn)到幀緩沖器。
      27.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述GPU包含再現(xiàn)引擎,且其中當(dāng)所述延遲再現(xiàn)模式被選擇為所述再現(xiàn)模式時(shí),所述處理器配置所述GPU的所述再現(xiàn)引擎以執(zhí)行將所述當(dāng)前再現(xiàn)單元?jiǎng)澐譃槎鄠€(gè)瓦片的平鋪回合、將所述多個(gè)瓦片中的每一者的圖形數(shù)據(jù)再現(xiàn)到瓦片緩沖器,且將所述所再現(xiàn)的瓦片中的每一者從所述瓦片緩沖器讀取到幀緩沖器。
      28.根據(jù)權(quán)利要求15所述的圖形裝置,其中所述處理器接收超馳所述自動(dòng)地選擇的再現(xiàn)模式的手動(dòng)地選擇的再現(xiàn)模式,且配置所述GPU以根據(jù)所述手動(dòng)地選擇的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      29.根據(jù)權(quán)利要求28所述的圖形裝置,其中所述處理器執(zhí)行圖形應(yīng)用程序編程接口API以從用戶接收所述手動(dòng)地選擇的再現(xiàn)模式。
      30.一種用于處理圖形數(shù)據(jù)的圖形裝置,其包括: 用于評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量的裝置; 用于基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者的裝置;以及 用于配置圖形處理單元GPU以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的裝置。
      31.根據(jù)權(quán)利要求30所述的圖形裝置,其中所述再現(xiàn)單元中的每一者包括以下各者中的一者:一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo)的一部分。
      32.根據(jù)權(quán)利要求30所述的圖形裝置,其進(jìn)一步包括用于收集與再現(xiàn)前一再現(xiàn)單元和當(dāng)前再現(xiàn)單元中的至少一者的圖形數(shù)據(jù)相關(guān)聯(lián)的度量的裝置。
      33.根據(jù)權(quán)利要求30所述的圖形裝置,其中所述度量包括以下各者中的兩者或兩者以上:頂點(diǎn)的數(shù)目、片段的數(shù)目、所述片段的位置、GPU帶寬的量、所述GPU上的負(fù)載量、中央處理單元CPU上的負(fù)載量、針對(duì)一幀界定的再現(xiàn)目標(biāo)的數(shù)目、針對(duì)一幀界定的多個(gè)再現(xiàn)目標(biāo)MRT的數(shù)目、深度測(cè)試啟用、混合啟用、模板測(cè)試啟用、再現(xiàn)目標(biāo)的尺寸、在所述GPU上執(zhí)行的應(yīng)用程序的類型、圖形應(yīng)用程序接口 API調(diào)用的數(shù)目,以及GPU硬件性能計(jì)數(shù)器信息。
      34.根據(jù)權(quán)利要求30所述的圖形裝置,其進(jìn)一步包括用于在所述前一再現(xiàn)單元與所述當(dāng)前再現(xiàn)單元之間的所述圖形數(shù)據(jù)中的再現(xiàn)邊界處自動(dòng)地選擇用于所述當(dāng)前再現(xiàn)單元的所述再現(xiàn)模式的裝置。
      35.根據(jù)權(quán)利要求30所述的圖形裝置,其中所述用于評(píng)估所述度量中的至少兩者的裝置包括用于將加權(quán)方案應(yīng)用于所述至少兩個(gè)度量的裝置。
      36.根據(jù)權(quán)利要求30所述的圖形裝置,其中所述用于評(píng)估所述度量中的至少兩者的裝置包括用于預(yù)測(cè)所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的哪一者將使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)的裝置。
      37.根據(jù)權(quán)利要求30所述的圖形裝置,其進(jìn)一步包括用于基于所述所評(píng)估的度量而自動(dòng)地選擇經(jīng)預(yù)測(cè)使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)的所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的所述一者的裝置。
      38.根據(jù)權(quán)利要求30所述的圖形裝置,其進(jìn)一步包括: 用于接收超馳所述自動(dòng)地選擇的再現(xiàn)模式的手動(dòng)地選擇的再現(xiàn)模式的裝置;以及 用于配置所述GPU以根據(jù)所述手動(dòng)地選擇的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)的裝置。
      39.一種包括用于處理圖形數(shù)據(jù)的指令的計(jì)算機(jī)可讀媒體,所述指令在執(zhí)行時(shí)致使一個(gè)或一個(gè)以上可編程處理器執(zhí)行以下操作: 評(píng)估與再現(xiàn)一個(gè)或一個(gè)以上再現(xiàn)單元的圖形數(shù)據(jù)相關(guān)聯(lián)的至少兩個(gè)度量; 基于所述所評(píng)估的度量而將用于當(dāng)前再現(xiàn)單元的再現(xiàn)模式自動(dòng)地選擇為即時(shí)再現(xiàn)模式和延遲再現(xiàn)模式中的一者;以及 配置圖形處理單元GPU以根據(jù)所述選定的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      40.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其中所述再現(xiàn)單元中的每一者包括以下各者中的一者:一組幀、一幀、一幀的一部分、與一幀相關(guān)聯(lián)的多個(gè)再現(xiàn)目標(biāo)、與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo),或與一幀相關(guān)聯(lián)的單一再現(xiàn)目標(biāo)的一部分。
      41.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包括致使所述可編程處理器收集與再現(xiàn)前一再現(xiàn)單元和 當(dāng)前再現(xiàn)中的至少一者的圖形數(shù)據(jù)相關(guān)聯(lián)的度量的指令。
      42.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其中所述指令致使所述可編程處理器評(píng)估以下各者中的兩者或兩者以上:頂點(diǎn)的數(shù)目、片段的數(shù)目、所述片段的位置、GPU帶寬的量、所述GPU上的負(fù)載量、中央處理單元CPU上的負(fù)載量、針對(duì)一幀界定的再現(xiàn)目標(biāo)的數(shù)目、針對(duì)一幀界定的多個(gè)再現(xiàn)目標(biāo)MRT的數(shù)目、深度測(cè)試啟用、混合啟用、模板測(cè)試啟用、再現(xiàn)目標(biāo)的尺寸、在所述GPU上執(zhí)行的應(yīng)用程序的類型、圖形應(yīng)用程序接口 API調(diào)用的數(shù)目,以及GPU硬件性能計(jì)數(shù)器信息。
      43.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其中所述指令致使所述可編程處理器在前一再現(xiàn)單元與所述當(dāng)前再現(xiàn)單元之間的所述圖形數(shù)據(jù)中的再現(xiàn)邊界處自動(dòng)地選擇用于所述當(dāng)前再現(xiàn)單元的所述再現(xiàn)模式。
      44.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其中所述指令致使所述可編程處理器通過將加權(quán)方案應(yīng)用于所述度量中的至少兩者而評(píng)估所述至少兩個(gè)度量。
      45.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其中所述指令致使所述可編程處理器評(píng)估所述度量中的至少兩者以預(yù)測(cè)所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的哪一者將使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)。
      46.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其中所述指令致使所述可編程處理器基于所述所評(píng)估的度量而自動(dòng)地選擇經(jīng)預(yù)測(cè)使用較少的電力和較少的系統(tǒng)帶寬中的至少一者來再現(xiàn)所述當(dāng)前再現(xiàn)單元的所述圖形數(shù)據(jù)的所述即時(shí)再現(xiàn)模式和所述延遲再現(xiàn)模式中的所述一者。
      47.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包括致使所述可編程處理器執(zhí)行以下操作的指令: 接收超馳所述自動(dòng)地選擇的 再現(xiàn)模式的手動(dòng)地選擇的再現(xiàn)模式;以及 配置所述GPU以根據(jù)所述手動(dòng)地選擇的再現(xiàn)模式來再現(xiàn)所述當(dāng)前再現(xiàn)單元的圖形數(shù)據(jù)。
      【文檔編號(hào)】G06F3/06GK103946789SQ201280023062
      【公開日】2014年7月23日 申請(qǐng)日期:2012年5月16日 優(yōu)先權(quán)日:2011年5月16日
      【發(fā)明者】莫里斯·里布爾, 科林·夏普, 杰弗里·萊格爾 申請(qǐng)人:高通股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1