亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

顯示經(jīng)渲染的圖形元素的性能度量的視覺(jué)表示的制作方法

文檔序號(hào):6349335閱讀:214來(lái)源:國(guó)知局
專利名稱:顯示經(jīng)渲染的圖形元素的性能度量的視覺(jué)表示的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖形圖像的顯示。
背景技術(shù)
對(duì)于各種應(yīng)用(例如,視頻游戲、圖形程序、計(jì)算機(jī)輔助設(shè)計(jì)(CAD)應(yīng)用、模擬與可視化工具及成像)來(lái)說(shuō),圖形處理器廣泛用以渲染二維(2D)及三維(3D)圖像。顯示處理器可用以經(jīng)由顯示裝置來(lái)顯示圖形處理器的經(jīng)渲染輸出以呈現(xiàn)給用戶。圖形應(yīng)用程序(例如,3D圖形應(yīng)用程序)可通過(guò)調(diào)用應(yīng)用編程接口(API)調(diào)用或指令來(lái)描述或定義場(chǎng)景的內(nèi)容,所述API調(diào)用又使用基礎(chǔ)圖形硬件(例如,圖形裝置中的一個(gè)或一個(gè)以上處理器)來(lái)產(chǎn)生圖像。圖形硬件可經(jīng)歷經(jīng)由對(duì)這些API的調(diào)用而實(shí)行的一系列狀態(tài)轉(zhuǎn)變。每一 API調(diào)用(例如,繪制調(diào)用或指令)的狀態(tài)或狀態(tài)轉(zhuǎn)變的全集可描述藉以由硬件渲染所述圖像的過(guò)程。在嵌入式經(jīng)硬件加速的圖形應(yīng)用程序的開(kāi)發(fā)過(guò)程中,常難以量化關(guān)于如何由圖形處理單元(GPU)硬件裝置處理個(gè)別圖形元素(例如,網(wǎng)格、多邊形或其它圖形圖元)的許多方面。GPU處理的此些方面(例如,專用于所述元素的時(shí)鐘循環(huán)的數(shù)目、在其渲染過(guò)程中發(fā)生的暫停、所消耗的存儲(chǔ)器帶寬等)構(gòu)成對(duì)于應(yīng)用程序開(kāi)發(fā)人員來(lái)說(shuō)極有價(jià)值的信息。

發(fā)明內(nèi)容
本發(fā)明描述用于提供性能分析應(yīng)用程序的各種技術(shù),所述性能分析應(yīng)用程序可用以顯示經(jīng)渲染的圖形元素的性能度量的視覺(jué)表示。在一些情況下,所述分析應(yīng)用程序可由撰寫(xiě)用于利用特定應(yīng)用編程接口(API)(例如開(kāi)放圖形庫(kù)(OpenGL )、用于嵌入式系統(tǒng)的 OpenGL (OpenGL ES)或OpenVG(向量圖形)API)的平臺(tái)的多媒體應(yīng)用程序的開(kāi)發(fā)人員使用。所述分析應(yīng)用程序可允許應(yīng)用程序開(kāi)發(fā)人員使對(duì)由圖形處理硬件渲染的個(gè)別2D或3D 元件進(jìn)行的處理的較大一組性質(zhì)可視化。從此過(guò)程收集到的信息可幫助所述開(kāi)發(fā)人員較有效地調(diào)諧所開(kāi)發(fā)的應(yīng)用程序的設(shè)計(jì)或性能特性,以便在目標(biāo)硬件平臺(tái)上較有效率地運(yùn)行。在一些例子中,所述分析應(yīng)用程序可使得能夠針對(duì)在圖形場(chǎng)景中渲染的每一個(gè)別圖形元素而從例如移動(dòng)裝置或其它裝置等目標(biāo)裝置捕捉性能測(cè)量結(jié)果的一個(gè)或一個(gè)以上大集合。所述目標(biāo)裝置可為所述圖形應(yīng)用程序意在在其上操作的裝置或裝置類別。所述應(yīng)用程序可允許開(kāi)發(fā)人員基于所接收到的性能數(shù)據(jù)而在開(kāi)發(fā)裝置上以圖形方式可視化性能度量。所述開(kāi)發(fā)裝置可包含收集所述性能數(shù)據(jù)的實(shí)際裝置,或單獨(dú)裝置(例如,充當(dāng)所述實(shí)際裝置的仿真器或模擬器的個(gè)人計(jì)算機(jī))。一種實(shí)例方法包含接收由圖形處理單元提供的性能信息,其中所述性能信息已由所述圖形處理單元結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素而測(cè)量;及基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算的值與所述圖形元素中的至少一者相關(guān)聯(lián)。所述方法進(jìn)一步包含基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中所述圖形識(shí)別符中的一者被指派給所述圖形元素中的每一者;及根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)在渲染所述圖形場(chǎng)景時(shí)顯示所述圖形元素。一種實(shí)例裝置包括顯示裝置及一個(gè)或一個(gè)以上處理器。所述一個(gè)或一個(gè)以上處理器經(jīng)配置以接收由圖形處理單元提供的性能信息,其中所述性能信息已由所述圖形處理單元結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素而測(cè)量;且基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算的值與所述圖形元素中的至少一者相關(guān)聯(lián)。所述一個(gè)或一個(gè)以上處理器經(jīng)進(jìn)一步配置以基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中所述圖形識(shí)別符中的一者被指派給所述圖形元素中的每一者;且根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)在渲染所述圖形場(chǎng)景時(shí)在所述顯示裝置上顯示所述圖形元素。一種實(shí)例計(jì)算機(jī)可讀存儲(chǔ)媒體包括用于致使一個(gè)或一個(gè)以上可編程處理器進(jìn)行以下操作的指令接收由圖形裝置的圖形處理單元提供的性能信息,其中所述性能信息已由所述圖形處理單元結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素而測(cè)量;及基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算的值與所述圖形元素中的至少一者相關(guān)聯(lián)。所述計(jì)算機(jī)可讀存儲(chǔ)媒體進(jìn)一步包括用以進(jìn)行以下操作的指令基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中所述圖形識(shí)別符中的一者被指派給所述圖形元素中的每一者;及根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)在渲染所述圖形場(chǎng)景時(shí)顯示所述圖形元素??梢杂布?、軟件、固件或其任何組合來(lái)實(shí)施本發(fā)明中所描述的所述技術(shù)。如果以軟件來(lái)實(shí)施,那么可在處理器中執(zhí)行所述軟件,所述處理器可指一個(gè)或一個(gè)以上處理器,例如微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、或數(shù)字信號(hào)處理器(DSP),或其它等效集成或離散邏輯電路。包含用以執(zhí)行所述技術(shù)的指令的軟件可最初存儲(chǔ)在計(jì)算機(jī)可讀媒體中且由處理器執(zhí)行。因此,本發(fā)明還涵蓋包含用以致使處理器執(zhí)行如本發(fā)明中所描述的多種技術(shù)中的任一者的指令的計(jì)算機(jī)可讀媒體。在一些情況下,所述計(jì)算機(jī)可讀媒體可形成計(jì)算機(jī)程序產(chǎn)品的部分,所述計(jì)算機(jī)程序產(chǎn)品可銷售給制造商及/或用于裝置中。所述計(jì)算機(jī)程序產(chǎn)品可包括所述計(jì)算機(jī)可讀媒體,且在一些情況下,還可包括封裝材料。在附圖及下文描述中陳述一個(gè)或一個(gè)以上方面的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)點(diǎn)將從所述描述及所述圖式且從所附權(quán)利要求書(shū)顯而易見(jiàn)。


圖1為說(shuō)明圖形裝置的實(shí)例的框圖,所述圖形裝置可將圖形命令連同狀態(tài)及/或性能信息提供給執(zhí)行性能分析應(yīng)用程序的應(yīng)用程序計(jì)算裝置。圖2為說(shuō)明圖形裝置的另一實(shí)例的框圖,所述圖形裝置可直接實(shí)施或執(zhí)行性能分析應(yīng)用程序。圖3為說(shuō)明根據(jù)一個(gè)實(shí)例的圖1中所展示的圖形處理系統(tǒng)的額外細(xì)節(jié)的框圖。
8
圖4為說(shuō)明根據(jù)一個(gè)實(shí)例的可由圖1中所展示的控制處理器、圖形處理器、頂點(diǎn)處理器及顯示處理器執(zhí)行的操作的額外細(xì)節(jié)的流程圖。圖5為說(shuō)明根據(jù)一個(gè)實(shí)例的圖3中所展示的圖形驅(qū)動(dòng)器的額外細(xì)節(jié)的框圖。圖6為可由圖1或圖2中所展示的圖形裝置執(zhí)行的實(shí)例方法的流程圖。圖7為可由例如圖3及圖5中所展示的圖形驅(qū)動(dòng)器等圖形驅(qū)動(dòng)器執(zhí)行的實(shí)例方法的流程圖。圖8為可由例如圖1或圖2中所展示的性能分析應(yīng)用程序等性能分析應(yīng)用程序執(zhí)行的實(shí)例方法的流程圖。圖9為說(shuō)明可由例如圖1或圖2中所展示的性能分析應(yīng)用程序等性能分析應(yīng)用程序顯示的信息的實(shí)例的概念圖。圖10為說(shuō)明可由例如圖1或圖2中所展示的性能分析應(yīng)用程序等性能分析應(yīng)用程序顯示的信息的另一實(shí)例的概念圖。圖11為說(shuō)明包括若干個(gè)別渲染的元素的圖形場(chǎng)景的實(shí)例屏幕圖。圖12為說(shuō)明與圖11的圖形場(chǎng)景相同但個(gè)別渲染元素是根據(jù)所指派的圖形識(shí)別符 (例如,色彩、著色及/或交叉影線識(shí)別符)而顯示的圖形場(chǎng)景的實(shí)例屏幕圖。
具體實(shí)施例方式圖1為說(shuō)明根據(jù)本發(fā)明一個(gè)方面的圖形裝置2的框圖,所述圖形裝置2可將圖形命令30連同狀態(tài)及/或性能信息32提供給執(zhí)行性能分析應(yīng)用程序的應(yīng)用程序計(jì)算裝置 20。圖形裝置2可為獨(dú)立裝置,或可為較大系統(tǒng)的部分。舉例來(lái)說(shuō),圖形裝置2可形成無(wú)線通信裝置(例如,無(wú)線移動(dòng)通信手持機(jī))的部分,或可為數(shù)字相機(jī)、視頻相機(jī)、數(shù)字多媒體播放器、個(gè)人數(shù)字助理(PDA)、視頻游戲控制臺(tái)、其它視頻裝置或?qū)S脵z視站(例如,電視機(jī)) 的部分。圖形裝置2可包含計(jì)算裝置,且還可為個(gè)人計(jì)算機(jī)或膝上型裝置的部分。圖形裝置2還可包括于可用于上文所描述的裝置中的一些或全部中的一個(gè)或一個(gè)以上集成電路、 或芯片/芯片組中。圖1展示正在與圖形裝置2分離且不同的裝置20中執(zhí)行性能分析應(yīng)用程序觀的實(shí)例。在其它情況下,例如在圖2中所展示的實(shí)例中,還可在圖形裝置內(nèi)直接執(zhí)行或?qū)嵤┬阅芊治鰬?yīng)用程序,如參看圖2更詳細(xì)地描述。在一些情況下,圖形裝置2可能夠執(zhí)行或?qū)嵤└鞣N應(yīng)用程序,例如圖形應(yīng)用程序、 視頻應(yīng)用程序、音頻應(yīng)用程序及/或其它多媒體應(yīng)用程序。舉例來(lái)說(shuō),圖形裝置2可用于圖形應(yīng)用程序、視頻游戲應(yīng)用程序、視頻播放應(yīng)用程序、數(shù)字相機(jī)應(yīng)用程序、即時(shí)消息接發(fā)應(yīng)用程序、視頻電話會(huì)議應(yīng)用程序、移動(dòng)應(yīng)用程序或視頻流式傳輸應(yīng)用程序。圖形裝置2可能夠處理多種不同數(shù)據(jù)類型及格式。舉例來(lái)說(shuō),如下文將更詳細(xì)地描述,圖形裝置2可處理靜態(tài)圖像數(shù)據(jù)、移動(dòng)圖像(視頻)數(shù)據(jù)或其它多媒體數(shù)據(jù)。圖像數(shù)據(jù)可包括計(jì)算機(jī)產(chǎn)生的圖形數(shù)據(jù)。在圖1的實(shí)例中,圖形裝置2包括圖形處理系統(tǒng)4、存儲(chǔ)媒體8 (其包含存儲(chǔ)器)及顯示裝置6。處理器10、12、14及16可包括于圖形處理系統(tǒng)4內(nèi)。處理器10為控制處理器或通用處理器。處理器12為圖形處理器,處理器14為頂點(diǎn)處理器,且處理器16為顯示處理器。 控制處理器10可能夠控制圖形處理單元12、頂點(diǎn)處理器14及/或顯示處理器16。在一個(gè)實(shí)例中,圖形處理系統(tǒng)4可包括其它處理器,包括其它媒體處理器(例如,音頻引擎)。在一些情況下,當(dāng)圖形裝置2不提供頂點(diǎn)處理能力時(shí)(例如,在圖形裝置2不實(shí)施針對(duì)OpenVG 的處理的情況下),圖形處理系統(tǒng)4可不包括頂點(diǎn)處理器14。在圖形裝置2中,圖形處理系統(tǒng)4既耦合到存儲(chǔ)媒體8,也耦合到顯示裝置6。存儲(chǔ)媒體8可包括能夠存儲(chǔ)指令及/或數(shù)據(jù)的任何永久或易失性存儲(chǔ)器。存儲(chǔ)媒體8可包含同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、 嵌入式動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(eDRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或快閃存儲(chǔ)器。顯示裝置6可為能夠?yàn)榱孙@示目的而顯示圖像數(shù)據(jù)的任何裝置,例如LCD (液晶顯示器)、等離子體顯示裝置或其它顯示裝置。頂點(diǎn)處理器14能夠管理頂點(diǎn)信息且處理頂點(diǎn)變換。在一個(gè)實(shí)例中,頂點(diǎn)處理器14 可包含數(shù)字信號(hào)處理器(DSP)。圖形處理單元12可為用以渲染、操縱且顯示計(jì)算機(jī)化圖形的專用圖形渲染裝置。圖形處理單元12可實(shí)施各種復(fù)雜的圖形相關(guān)算法。舉例來(lái)說(shuō),復(fù)雜算法可對(duì)應(yīng)于二維或三維計(jì)算機(jī)化圖形的表示。圖形處理單元12可實(shí)施若干所謂的“圖元”圖形操作(例如,形成點(diǎn)、線及三角形或其它多邊形表面),以在例如顯示裝置6等顯示器上創(chuàng)建復(fù)雜的三維圖像。圖形處理單元12可執(zhí)行存儲(chǔ)于存儲(chǔ)媒體8中的命令。存儲(chǔ)媒體8能夠存儲(chǔ)用于應(yīng)用程序(例如,圖形或視頻應(yīng)用程序)的應(yīng)用程序指令(application instruction) 21, 以及一個(gè)或一個(gè)以上圖形驅(qū)動(dòng)器18。可將應(yīng)用程序指令21從存儲(chǔ)媒體8加載到圖形處理系統(tǒng)4中以供執(zhí)行。舉例來(lái)說(shuō),控制處理器10、圖形處理單元12及顯示處理器16中的一者或一者以上可執(zhí)行指令21。在一個(gè)實(shí)例中,應(yīng)用程序指令21可包含一個(gè)或一個(gè)以上可下載模塊,所述一個(gè)或一個(gè)以上可下載模塊以無(wú)線方式動(dòng)態(tài)地下載到存儲(chǔ)媒體8中。在一個(gè)實(shí)例中,應(yīng)用程序指令21可包含二進(jìn)制指令的調(diào)用流,所述二進(jìn)制指令是從應(yīng)用程序開(kāi)發(fā)人員所創(chuàng)建的應(yīng)用編程接口(API)指令產(chǎn)生或編譯。還可將圖形驅(qū)動(dòng)器18從存儲(chǔ)媒體8加載到圖形處理系統(tǒng)4中以供執(zhí)行。舉例來(lái)說(shuō),控制處理器10、圖形處理單元12及顯示處理器16中的一者或一者以上可執(zhí)行來(lái)自圖形驅(qū)動(dòng)器18的特定指令。在一個(gè)實(shí)例方面中,圖形驅(qū)動(dòng)器18由圖形處理單元12加載并執(zhí)行。將在下文中進(jìn)一步詳細(xì)描述圖形驅(qū)動(dòng)器18。還如圖1中所展示,圖形處理系統(tǒng)4包括一個(gè)或一個(gè)以上緩沖器15??刂铺幚砥?10、圖形處理單元12、頂點(diǎn)處理器14及/或顯示處理器16各自具有對(duì)緩沖器15的存取權(quán), 且可將數(shù)據(jù)存儲(chǔ)于緩沖器15中或從緩沖器15檢索數(shù)據(jù)。緩沖器15可包含高速緩存存儲(chǔ)器,且可能夠存儲(chǔ)數(shù)據(jù)及指令兩者。舉例來(lái)說(shuō),緩沖器15可包括應(yīng)用程序指令21中的一者或一者以上或來(lái)自圖形驅(qū)動(dòng)器18的一個(gè)或一個(gè)以上指令,所述指令已從存儲(chǔ)媒體8加載到圖形處理系統(tǒng)4中。緩沖器15及/或存儲(chǔ)媒體8還可含有在指令執(zhí)行期間使用的圖形數(shù)據(jù)。在特定情況下,應(yīng)用程序指令21可包括用于圖形應(yīng)用程序(例如,3D圖形應(yīng)用程序)的指令。應(yīng)用程序指令21可包含描述或定義包括一個(gè)或一個(gè)以上圖形對(duì)象的圖形場(chǎng)景的內(nèi)容的指令。當(dāng)應(yīng)用程序指令21加載到圖形處理系統(tǒng)4中且由圖形處理系統(tǒng)4執(zhí)行時(shí),圖形處理系統(tǒng)4可經(jīng)歷一系列狀態(tài)轉(zhuǎn)變。在執(zhí)行應(yīng)用程序指令21期間,還可執(zhí)行圖形驅(qū)動(dòng)器18內(nèi)的一個(gè)或一個(gè)以上指令以在顯示裝置6上渲染圖形元素或顯示經(jīng)渲染的圖形元素??稍趫?zhí)行特定繪制命令期間渲染每一個(gè)別元素,此舉致使經(jīng)渲染的元素繪制于顯示器上。指令(例如,繪制調(diào)用)的狀態(tài)的全集可描述圖形處理系統(tǒng)4內(nèi)的繪制調(diào)用(或命令)藉以渲染元素的過(guò)程。然而,已撰寫(xiě)應(yīng)用程序指令21的應(yīng)用程序開(kāi)發(fā)人員為了實(shí)現(xiàn)使用描述或渲染所定義場(chǎng)景中的元素的替代方法進(jìn)行調(diào)試或?qū)嶒?yàn)的目的而互動(dòng)地檢視或修改這些狀態(tài)的能力可常為有限的。另外,不同的硬件平臺(tái)可具有不同的硬件設(shè)計(jì)及對(duì)這些狀態(tài)及/或狀態(tài)轉(zhuǎn)變的實(shí)施。因此,在一個(gè)實(shí)例中,應(yīng)用程序開(kāi)發(fā)人員可使用應(yīng)用程序計(jì)算裝置20(圖1中所展示)來(lái)輔助使用用于描述或渲染場(chǎng)景中的圖像的替代方法來(lái)進(jìn)行調(diào)試及實(shí)驗(yàn)的處理。應(yīng)用程序計(jì)算裝置20耦合到圖形裝置2。舉例來(lái)說(shuō),在一個(gè)實(shí)例中,應(yīng)用程序計(jì)算裝置20經(jīng)由通用串行總線(USB)連接而耦合到圖形裝置2。在其它方面中,可使用其它類型的連接,例如無(wú)線連接或其它形式的有線連接。應(yīng)用程序計(jì)算裝置20包括一個(gè)或一個(gè)以上處理器22、顯示裝置M及存儲(chǔ)媒體 26。根據(jù)一個(gè)方面,處理器22可包括控制處理器、圖形處理器、頂點(diǎn)處理器及顯示處理器中的一者或一者以上。存儲(chǔ)媒體26可包括能夠存儲(chǔ)指令及/或數(shù)據(jù)的任何永久或易失性存儲(chǔ)器。存儲(chǔ)媒體26可包含同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或快閃存儲(chǔ)器。顯示裝置M可為能夠?yàn)榱孙@示目的而顯示圖像數(shù)據(jù)的任何裝置,例如LCD(液晶顯示器)、等離子體顯示裝置或其它顯示裝置。在特定應(yīng)用程序(例如,嵌入式經(jīng)硬件加速圖形應(yīng)用程序)的開(kāi)發(fā)過(guò)程中,常難以或不可能量化如何由圖形裝置2上的圖形處理單元12處理個(gè)別圖形元素(例如,網(wǎng)格、多邊形或其它圖形圖元)的許多方面。圖形處理的此些方面(例如,專用于圖形處理單元12 中的元素的時(shí)鐘循環(huán)的數(shù)目、在其渲染過(guò)程中發(fā)生的暫停、所消耗的存儲(chǔ)器帶寬等)可包含對(duì)于應(yīng)用程序開(kāi)發(fā)人員來(lái)說(shuō)極有價(jià)值的信息,然而其在實(shí)際應(yīng)用程序開(kāi)發(fā)期間通常難以獲得。在未對(duì)圖形處理單元12的詳細(xì)活動(dòng)作出深入洞察的情況下,開(kāi)發(fā)人員可能錯(cuò)失優(yōu)化的機(jī)會(huì)、誤導(dǎo)調(diào)諧努力及/或被迫降級(jí)視覺(jué)質(zhì)量以便滿足性能目標(biāo)及計(jì)劃表。因此,如圖1中所展示,應(yīng)用程序計(jì)算裝置20能夠捕捉并分析從圖形裝置2發(fā)送的圖形命令30連同狀態(tài)及/或性能信息32。在一個(gè)實(shí)例中,圖形驅(qū)動(dòng)器18經(jīng)配置以將圖形命令30及狀態(tài)/性能信息32發(fā)送到應(yīng)用程序計(jì)算裝置20。圖形命令30可包括應(yīng)用程序指令21中的一者或一者以上,且狀態(tài)/性能信息32可在于圖形處理系統(tǒng)4內(nèi)執(zhí)行或?qū)嵤﹫D形命令30期間產(chǎn)生或捕捉。狀態(tài)/性能信息32包括關(guān)于在指令執(zhí)行或?qū)嵤┢陂g的圖形處理系統(tǒng)4的狀態(tài)及性能的信息,且將在下文中更詳細(xì)地描述。狀態(tài)/性能信息32可包括可結(jié)合圖形命令30使用(或以其它方式與圖形命令30相關(guān)聯(lián))的圖形數(shù)據(jù)(例如,圖元及/或經(jīng)柵格化的圖形數(shù)據(jù))。圖形處理系統(tǒng)4可執(zhí)行圖形命令30以在顯示裝置6上顯示圖像,或經(jīng)渲染的圖形元素的場(chǎng)景。應(yīng)用程序計(jì)算裝置20能夠使用圖形命令30連同狀態(tài)/性能信息32來(lái)創(chuàng)建圖形圖像或場(chǎng)景,在一些情況下,所述圖形圖像或場(chǎng)景還可展示于圖形裝置2的顯示裝置6 上。性能分析應(yīng)用程序觀可由應(yīng)用程序計(jì)算裝置20的處理器22執(zhí)行以在接收到圖
11形命令30及狀態(tài)/性能信息32后即刻創(chuàng)建經(jīng)渲染元素的圖形圖像或場(chǎng)景,且在顯示裝置 24上顯示經(jīng)渲染元素。性能分析應(yīng)用程序觀可包含含有若干應(yīng)用程序指令的軟件模塊。 性能分析應(yīng)用程序觀存儲(chǔ)于存儲(chǔ)媒體26中,且可由處理器22加載并執(zhí)行。性能分析應(yīng)用程序觀可預(yù)先加載到存儲(chǔ)媒體沈中,且可經(jīng)定制以與圖形裝置2 —起操作。在一個(gè)實(shí)例中,性能分析應(yīng)用程序觀模擬圖形裝置2的硬件操作,且提供可表示狀態(tài)/性能信息32的一個(gè)或一個(gè)以上方面的圖形信息。不同版本的性能分析應(yīng)用程序觀可存儲(chǔ)于存儲(chǔ)媒體沈中且由處理器22執(zhí)行, 以用于具有不同硬件設(shè)計(jì)的不同圖形裝置。在一些情況下,軟件庫(kù)也可存儲(chǔ)于存儲(chǔ)媒體26 內(nèi),其與性能分析應(yīng)用程序觀結(jié)合使用。在一個(gè)實(shí)例中,性能分析應(yīng)用程序觀可為通用應(yīng)用程序,且特定硬件或圖形裝置模擬功能性可包括于在執(zhí)行期間可與性能分析應(yīng)用程序觀鏈接的每一單獨(dú)庫(kù)內(nèi)。舉例來(lái)說(shuō),第一庫(kù)可提供用于第一特定類型的圖形裝置(例如,包含于第一類型的無(wú)線通信手持機(jī)內(nèi)的圖形裝置)的模擬功能性,而第二不同庫(kù)可提供用于第二不同類型的圖形裝置(其具有與第一圖形裝置不同的硬件架構(gòu))的模擬功能性。這些庫(kù)中的每一者可存儲(chǔ)于存儲(chǔ)媒體26內(nèi),且在執(zhí)行期間可單獨(dú)地與性能分析應(yīng)用程序觀鏈接以模擬第一或第二圖形裝置。因此,性能分析應(yīng)用程序觀(或此應(yīng)用程序在執(zhí)行后的不同版本)能夠在應(yīng)用程序計(jì)算裝置20上模擬各種不同類型的圖形裝置。在一個(gè)實(shí)例中,可在應(yīng)用程序計(jì)算裝置20的顯示裝置M上向應(yīng)用程序開(kāi)發(fā)人員顯示狀態(tài)/性能信息32的視覺(jué)表示。另外,還可顯示圖形命令30的視覺(jué)表示。因?yàn)樵谠S多情況下,圖形命令30可包含二進(jìn)制指令,所以應(yīng)用程序計(jì)算裝置20可使用性能分析應(yīng)用程序31來(lái)在顯示裝置M上產(chǎn)生圖形命令30的視覺(jué)表示。性能分析應(yīng)用程序31存儲(chǔ)于存儲(chǔ)媒體沈內(nèi)且可加載到處理器22中以便顯示圖形命令30的視覺(jué)表示。在一個(gè)實(shí)例中,性能分析應(yīng)用程序31可提供用以將圖形命令30映射到對(duì)應(yīng)的API 指令的功能性,在產(chǎn)生圖形命令30時(shí)可能已預(yù)先編譯所述API指令。應(yīng)用程序開(kāi)發(fā)人員可撰寫(xiě)使用API指令的程序,但這些API指令通常編譯成二進(jìn)制指令(例如,圖形命令30)以用于在圖形裝置2上執(zhí)行。圖形命令30內(nèi)的一個(gè)或一個(gè)以上指令可映射到個(gè)別API指令??山又陲@示裝置M上向應(yīng)用程序開(kāi)發(fā)人員顯示所映射的API指令,以提供實(shí)際正執(zhí)行的圖形命令30的視覺(jué)表示。在一些情況下,性能分析應(yīng)用程序觀可利用映射信息以便執(zhí)行此映射。此映射信息可存儲(chǔ)于(例如)存儲(chǔ)媒體26內(nèi)。在一些情況下,可從圖形裝置2提供映射信息,且在其它情況下,還可在應(yīng)用程序計(jì)算裝置20上預(yù)先編程映射信息。在一個(gè)實(shí)例中,用戶(例如,應(yīng)用程序開(kāi)發(fā)人員)可希望改變所述圖形命令30中的一者或一者以上以確定(例如)此些改變對(duì)性能的效應(yīng)。在此些情況下,如下文將更詳細(xì)地描述,應(yīng)用程序計(jì)算裝置20可任選地將所請(qǐng)求的修改34(例如,對(duì)待執(zhí)行的命令的修改)提供給圖形裝置2。如上文所描述,顯示于顯示裝置M上的圖形圖像或集合或經(jīng)渲染元素也可顯示于圖形裝置2上。因?yàn)樾阅芊治鰬?yīng)用程序觀可使用圖形命令30及狀態(tài)/性能信息32來(lái)創(chuàng)建經(jīng)渲染的圖形元素的場(chǎng)景(正如呈現(xiàn)于圖形裝置2上一樣),所以使用應(yīng)用程序計(jì)算裝置20的應(yīng)用程序開(kāi)發(fā)人員可能夠在執(zhí)行圖形應(yīng)用程序30期間快速地識(shí)別潛在的性能問(wèn)題
12或瓶頸,且甚至原型化修改,以改進(jìn)圖形應(yīng)用程序30的整體性能。舉例來(lái)說(shuō),在于應(yīng)用程序計(jì)算裝置20上執(zhí)行性能分析應(yīng)用程序觀及于顯示裝置 24上顯示圖像期間,應(yīng)用程序開(kāi)發(fā)人員可任選地選擇對(duì)圖形命令30及/或狀態(tài)/性能信息 32作出一個(gè)或一個(gè)以上所請(qǐng)求的修改34。在執(zhí)行圖形命令30或分析狀態(tài)/性能信息32 期間,任何此些所請(qǐng)求的修改34可基于觀察到的性能問(wèn)題或瓶頸??山又鴮⑦@些所請(qǐng)求的修改34從應(yīng)用程序計(jì)算裝置20發(fā)送到圖形裝置2,在所述圖形裝置2處由圖形處理系統(tǒng)4 處理所述所請(qǐng)求的修改。在一個(gè)實(shí)例中,在圖形處理系統(tǒng)4內(nèi)執(zhí)行圖形驅(qū)動(dòng)器18中的一者或一者以上以處理所請(qǐng)求的修改34。在一些情況下,所請(qǐng)求的修改34可包括經(jīng)修改的命令。在一些情況下,所請(qǐng)求的修改可包括經(jīng)修改的狀態(tài)及/或性能信息。在處理所請(qǐng)求的修改34后,(例如)圖形驅(qū)動(dòng)器18中的一者或一者以上即刻將經(jīng)更新的指令及/或信息35發(fā)送回到應(yīng)用程序計(jì)算裝置20。經(jīng)更新的命令/信息35可包括基于由圖形裝置2處理的所請(qǐng)求的修改34的用于執(zhí)行的經(jīng)更新圖形指令。經(jīng)更新的命令/信息35還可包括基于由圖形裝置2處理的所請(qǐng)求的修改34的經(jīng)更新的狀態(tài)及/或性能信息。經(jīng)更新的命令/信息35由性能分析應(yīng)用程序觀處理以更新圖像信息或經(jīng)渲染的圖形元素在顯示裝置M上的顯示,且還可向應(yīng)用程序開(kāi)發(fā)人員提供經(jīng)更新的命令/信息35 的視覺(jué)表示,此舉可包括再次使用性能分析應(yīng)用程序31。應(yīng)用程序開(kāi)發(fā)人員可接著檢視顯示裝置M上的經(jīng)更新的圖像信息,以及經(jīng)更新的命令/信息35的視覺(jué)表示,以確定是否已解決或減輕性能問(wèn)題。應(yīng)用程序開(kāi)發(fā)人員可使用反復(fù)過(guò)程來(lái)調(diào)試圖形命令30或原型化修改以改進(jìn)圖形應(yīng)用程序30的整體性能。因此,性能剖析應(yīng)用程序28可由撰寫(xiě)用于利用特定API (例如,OpenGL 、OpenGL ES或OpenVG API)的嵌入式平臺(tái)的多媒體應(yīng)用程序的內(nèi)容開(kāi)發(fā)人員(例如,視頻游戲開(kāi)發(fā)人員)用作應(yīng)用程序開(kāi)發(fā)工具。使用性能分析應(yīng)用程序觀可允許應(yīng)用程序開(kāi)發(fā)人員測(cè)量并可視化由圖形處理單元12的圖形處理硬件對(duì)個(gè)別2D或3D元素進(jìn)行的處理的性質(zhì)的較大集合。從此過(guò)程收集到的信息可幫助所述開(kāi)發(fā)人員較有效地調(diào)諧所述應(yīng)用程序的設(shè)計(jì)或性能特性,以便在目標(biāo)硬件平臺(tái)(例如,由圖1中的圖形裝置2提供的平臺(tái))上較高效地運(yùn)行。性能分析應(yīng)用程序觀使得能夠針對(duì)每個(gè)別經(jīng)渲染元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)而從圖形裝置2捕捉性能測(cè)量結(jié)果的一個(gè)或一個(gè)以上大集合。性能分析應(yīng)用程序觀可允許開(kāi)發(fā)人員基于從圖形裝置2接收到的性能測(cè)量結(jié)果(例如,狀態(tài)/性能信息32)而在開(kāi)發(fā)裝置(例如,應(yīng)用程序計(jì)算裝置20)上以圖形方式可視化性能度量。在一些情況下,每一繪制命令能夠在執(zhí)行期間渲染一個(gè)或一個(gè)以上圖形圖元、頂點(diǎn)、像素片段或其任何部分/組合。舉例來(lái)說(shuō),當(dāng)圖形處理單元12執(zhí)行包括于應(yīng)用程序指令21內(nèi)的繪制命令時(shí),圖形驅(qū)動(dòng)器18中的一者或一者以上可獲得圖形處理單元12(其涵蓋由圖形處理單元12執(zhí)行的工作)的一個(gè)或一個(gè)以上計(jì)數(shù)器的值,以便執(zhí)行所述繪制命令。這些計(jì)數(shù)器中的一者或一者以上可包含低級(jí)硬件計(jì)數(shù)器,可對(duì)所述低級(jí)硬件計(jì)數(shù)器進(jìn)行取樣,且將其與來(lái)自圖形處理單元12或圖形處理系統(tǒng)4的其它組件的其它計(jì)數(shù)器或測(cè)量結(jié)果聚集,使得性能分析應(yīng)用程序28可計(jì)算高級(jí)性能度量。所述計(jì)數(shù)器值可包括于發(fā)送到應(yīng)用程序計(jì)算裝置20的狀態(tài)/性能信息32內(nèi)。狀態(tài)/性能信息32可進(jìn)一步包括性能分析應(yīng)用程序觀所需的數(shù)據(jù),以在仿真環(huán)境中重新創(chuàng)建圖形命令30,包括功能調(diào)用參數(shù)、渲染狀態(tài)、幾何數(shù)據(jù)、紋理、著色器寸。在本發(fā)明的一個(gè)方面中,性能分析應(yīng)用程序觀在執(zhí)行期間可接收已由圖形處理單元12提供的性能信息(例如,包括于狀態(tài)/性能信息32內(nèi))。已由圖形處理單元12測(cè)量到的所述性能信息與用于渲染圖形場(chǎng)景的個(gè)別圖形元素關(guān)聯(lián)。舉例來(lái)說(shuō),所述圖形元素可為用以渲染圖形場(chǎng)景的繪制命令(例如,包括于應(yīng)用程序指令21內(nèi)的命令)。在一些情況下,所述圖形元素可包含圖形圖元、頂點(diǎn)及/或像素片段。在接收到性能信息后,性能分析應(yīng)用程序觀可即刻基于所述性能信息而計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算的值與所述圖形元素中的至少一者相關(guān)聯(lián)。 舉例來(lái)說(shuō),如下文將進(jìn)一步描述,指定性能度量可包含高級(jí)性能測(cè)量結(jié)果,例如每時(shí)鐘循環(huán)撰寫(xiě)的像素的度量、每頂點(diǎn)發(fā)出的著色器指令的度量及/或每秒執(zhí)行的存儲(chǔ)器寫(xiě)入的次數(shù)的度量(僅舉幾例)。如下文還將進(jìn)一步描述,性能分析應(yīng)用程序觀可基于圖形元素的性能度量的所計(jì)算值而將圖形識(shí)別符(例如,色彩、著色/交叉影線識(shí)別符、其它圖形識(shí)別符)指派給所述圖形元素中的每一者,且可處理所述圖形元素以渲染圖形場(chǎng)景以用于(例如)在顯示裝置24上顯示的目的??蓪⑺鰣D形識(shí)別符中的一者指派給所述圖形元素中的每一者。以此方式,性能分析應(yīng)用程序觀能夠在處理所述圖形元素期間(例如,在執(zhí)行繪制命令期間) 顯示經(jīng)渲染的圖形元素,且根據(jù)指派給所述圖形元素的圖形識(shí)別符而在視覺(jué)上顯示此些元
ο在許多情況下,顯示此信息可輔助應(yīng)用程序開(kāi)發(fā)人員直接地且精確地測(cè)量由圖形處理單元12對(duì)個(gè)別圖形元素(例如,2D或3D對(duì)象)進(jìn)行的處理的性質(zhì)的大集合,且容易地在顯示裝置M上檢視此些測(cè)量結(jié)果的表示。所顯示的信息還可幫助開(kāi)發(fā)人員較有效地調(diào)諧應(yīng)用程序指令21的設(shè)計(jì)或性能特性,以在由圖形裝置2提供的目標(biāo)硬件平臺(tái)上較高效地運(yùn)行。舉例來(lái)說(shuō),開(kāi)發(fā)人員可調(diào)諧應(yīng)用程序的各種方面以確定在檢查到顯示裝置M上的經(jīng)渲染元素的性能度量的經(jīng)更新視覺(jué)表示后,任何改變是否可即刻改進(jìn)所執(zhí)行的應(yīng)用程序的一個(gè)或一個(gè)以上性能特性。開(kāi)發(fā)人員還可利用性能分析應(yīng)用程序觀來(lái)修改所述命令中的一者或一者以上,所述命令包括于從應(yīng)用程序計(jì)算裝置20發(fā)送到圖形裝置2的所請(qǐng)求的修改34內(nèi),如上文所描述。在接收到經(jīng)更新的命令/信息35后,可接著將經(jīng)渲染元素的性能度量的經(jīng)更新顯示提供于顯示裝置M上。圖2為說(shuō)明圖形裝置50的另一實(shí)例的框圖,所述圖形裝置50可直接實(shí)施或執(zhí)行性能分析應(yīng)用程序70。類似于圖1中所展示的圖形裝置2,圖形裝置50包括圖形處理系統(tǒng) 52,所述圖形處理系統(tǒng)52耦合到顯示裝置72及存儲(chǔ)媒體(例如,存儲(chǔ)器)64。圖形裝置50 可類似于圖形裝置2而起作用,且還可包含計(jì)算裝置。圖形處理系統(tǒng)52包括控制處理器54、圖形處理單元56、一個(gè)或一個(gè)以上緩沖器 58、任選頂點(diǎn)處理器60及顯示處理器62。當(dāng)系統(tǒng)52提供頂點(diǎn)處理操作時(shí),圖形處理系統(tǒng) 52包括頂點(diǎn)處理器60。類似于圖1中所展示的存儲(chǔ)媒體8,存儲(chǔ)媒體64包括應(yīng)用程序指令66及圖形驅(qū)動(dòng)器68。然而,不同于存儲(chǔ)媒體8,存儲(chǔ)媒體64包括性能分析應(yīng)用程序70,所述性能分析應(yīng)用程序70可加載到圖形處理系統(tǒng)52中的處理器/單元中的一者或一者以上中,且由所述處理器/單元中的一者或一者以上執(zhí)行。性能分析應(yīng)用程序70可類似于圖1中所展示的性能分析應(yīng)用程序觀而操作。然而,在圖2的實(shí)例中,實(shí)際上在裝置內(nèi)執(zhí)行應(yīng)用程序指令66的同一裝置(即,圖形裝置50) 還執(zhí)行性能分析應(yīng)用程序70。因此,不需要或在圖2的實(shí)例中未展示單獨(dú)的應(yīng)用程序計(jì)算
直ο圖2的圖形裝置50可具有各種操作模式。舉例來(lái)說(shuō),在主模式下,圖形處理系統(tǒng) 52可在主操作模式下執(zhí)行或?qū)嵤?yīng)用程序指令66及/或圖形驅(qū)動(dòng)器68,而不使用性能分析應(yīng)用程序70。然而,在不同模式(例如,測(cè)試、仿真/模擬)模式下,圖形處理系統(tǒng)52可進(jìn)一步執(zhí)行或?qū)嵤┬阅芊治鰬?yīng)用程序70。開(kāi)發(fā)人員可能夠直接在顯示裝置72中檢視性能分析應(yīng)用程序70的結(jié)果及輸出。因此,性能分析應(yīng)用程序70可由撰寫(xiě)用于利用特定API (例如,OpenGL 、OpenGL ES或OpenVG API)的嵌入式平臺(tái)的多媒體應(yīng)用程序的內(nèi)容開(kāi)發(fā)人員(例如,視頻游戲開(kāi)發(fā)人員)用作應(yīng)用程序開(kāi)發(fā)工具。使用性能分析應(yīng)用程序70可允許應(yīng)用程序開(kāi)發(fā)人員直接在顯示裝置72上測(cè)量并可視化由圖形處理單元56的圖形處理硬件對(duì)個(gè)別2D或3D元素進(jìn)行的處理的性質(zhì)的大集合。從此過(guò)程收集到的信息可幫助所述開(kāi)發(fā)人員較有效地調(diào)諧所述應(yīng)用程序的設(shè)計(jì)或性能特性,以便在目標(biāo)硬件平臺(tái)(例如,由圖2中的圖形裝置50提供的平臺(tái))上較高效地運(yùn)行。性能分析應(yīng)用程序70使得能夠針對(duì)每個(gè)別經(jīng)渲染元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)而從圖形裝置50捕捉性能測(cè)量結(jié)果的一個(gè)或一個(gè)以上大集合。性能分析應(yīng)用程序70可允許開(kāi)發(fā)人員基于從圖形處理單元56接收到的性能測(cè)量結(jié)果來(lái)直接在圖形裝置50上以圖形方式可視化性能度量,而不需要另一單獨(dú)的應(yīng)用程序計(jì)算
直ο在一個(gè)方面中,在實(shí)施或執(zhí)行性能分析應(yīng)用程序70期間,傳出的像素片段可直接從性能計(jì)數(shù)器數(shù)據(jù)(例如,由圖形處理單元56提供的性能計(jì)數(shù)器數(shù)據(jù))獲得其值。在一些情況下,由圖形處理系統(tǒng)52實(shí)施(例如,由圖形處理單元56及/或顯示處理器62實(shí)施) 的片段著色器引擎可通過(guò)使特殊寄存器暴露于著色器代碼而能夠存取一個(gè)或一個(gè)以上性能計(jì)數(shù)器。像素片段值可基于特殊寄存器中的數(shù)據(jù),或從特殊寄存器中的數(shù)據(jù)得出。因?yàn)槎鄠€(gè)像素片段可位于同一屏幕坐標(biāo)處,所以圖形處理系統(tǒng)52中的混合硬件可在幀緩沖器上累加或組合那些像素片段。因此,通過(guò)使用混合以基于所述計(jì)數(shù)器(例如,圖形處理單元 56的計(jì)數(shù)器)中的一者或一者以上的值而組合所述像素片段中的多者,可確定指派給所述像素片段的圖形識(shí)別符(例如,色彩、交叉影線/著色圖案)。圖3為說(shuō)明根據(jù)一個(gè)實(shí)例的圖1中所展示的圖形處理系統(tǒng)4、圖形驅(qū)動(dòng)器18及應(yīng)用程序計(jì)算裝置20的特定細(xì)節(jié)的框圖。在圖3中,假定應(yīng)用程序計(jì)算裝置20耦合到圖形裝置2的圖形處理系統(tǒng)4。然而,這僅僅是為了實(shí)現(xiàn)說(shuō)目而展示。在其它情形下,可直接在 (例如,在圖2的實(shí)例中的)裝置內(nèi)實(shí)施性能分析應(yīng)用程序。如圖3中所展示,圖形處理系統(tǒng)4包括還展示于圖1中的四個(gè)可編程處理器控制處理器10、任選頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16??刂铺幚砥?0可控制頂點(diǎn)處理器14、圖形處理單元12或顯示處理器16中的任一者。在許多情況下,這些處理器 10、12、14及16可為系統(tǒng)4內(nèi)的圖形處理管線的部分??刂铺幚砥?0可控制穿經(jīng)所述管線的數(shù)據(jù)或指令執(zhí)行的流程的一個(gè)或一個(gè)以上方面,且還可將圖形圖像的幾何信息提供給頂點(diǎn)處理器14。任選頂點(diǎn)處理器14可管理所述圖形圖像的頂點(diǎn)變換或幾何處理,這可根據(jù)呈圖元幾何形式的多個(gè)頂點(diǎn)來(lái)加以描述或定義。在被利用時(shí),頂點(diǎn)處理器14可將其輸出提供給圖形處理單元12,所述圖形處理單元12 可對(duì)所述圖形圖像執(zhí)行渲染或柵格化操作。圖形處理單元12可將其輸出提供給顯示處理器16,所述顯示處理器16以像素形式準(zhǔn)備圖形圖像以供顯示。圖形處理單元12還可對(duì)像素?cái)?shù)據(jù)執(zhí)行各種操作,例如著色或按比例縮放。通常,可在執(zhí)行圖形命令30期間在此處理管線中處理圖形圖像數(shù)據(jù),所述圖形命令30可為應(yīng)用程序指令21 (圖1)的部分。因此,圖形命令30可由控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上執(zhí)行。應(yīng)用程序開(kāi)發(fā)人員通常可能不太了解或不能控制圖形處理系統(tǒng)4內(nèi)的哪些特定處理器執(zhí)行圖形命令30中的哪些圖形命令。在一些情況下,在執(zhí)行圖形命令30期間,控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上可能具有性能問(wèn)題,或成為處理管線內(nèi)的潛在瓶頸。在這些情況下,圖形處理系統(tǒng)4內(nèi)的整體性能可惡化,且應(yīng)用程序開(kāi)發(fā)人員可希望對(duì)圖形命令30進(jìn)行改變以改進(jìn)性能。然而,開(kāi)發(fā)人員可能未必知曉處理器10、12、14 或16中的哪些處理器可能為具有性能問(wèn)題的處理器。為了輔助解決識(shí)別性能瓶頸及潛在解決方案的難題,如圖3中所展示,圖形裝置2 的圖形驅(qū)動(dòng)器18A可從圖形處理系統(tǒng)4捕捉或收集圖形命令30,且將其路由到應(yīng)用程序計(jì)算裝置20。圖形驅(qū)動(dòng)器18A為圖1中所展示的圖形驅(qū)動(dòng)器18的部分??捎煽刂铺幚砥?0、 頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上加載并執(zhí)行圖形驅(qū)動(dòng)器ISA0另外,圖形驅(qū)動(dòng)器18A還可從控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上收集狀態(tài)及/或性能信息32,且還將此信息32路由到應(yīng)用程序計(jì)算裝置20。在一個(gè)實(shí)例中,當(dāng)圖形命令30包括可能已從OpenGL ES API指令產(chǎn)生或編譯的二進(jìn)制指令時(shí),圖形驅(qū)動(dòng)器18A可包含OpenGL ES驅(qū)動(dòng)器。各種形式的狀態(tài)數(shù)據(jù)可包括于狀態(tài)/性能信息32內(nèi)。舉例來(lái)說(shuō),狀態(tài)數(shù)據(jù)可包括在執(zhí)行圖形命令30期間使用或以其它方式與圖形命令30相關(guān)聯(lián)的圖形數(shù)據(jù)。狀態(tài)數(shù)據(jù)可與頂點(diǎn)陣列有關(guān),例如位置、色彩、坐標(biāo)、大小或權(quán)重?cái)?shù)據(jù)。狀態(tài)數(shù)據(jù)可進(jìn)一步包括紋理狀態(tài)數(shù)據(jù)、點(diǎn)狀態(tài)數(shù)據(jù)、線狀態(tài)數(shù)據(jù)、多邊形狀態(tài)數(shù)據(jù)、揀選狀態(tài)數(shù)據(jù)、α測(cè)試狀態(tài)數(shù)據(jù)、混合狀態(tài)數(shù)據(jù)、深度狀態(tài)數(shù)據(jù)、模版狀態(tài)數(shù)據(jù)或色彩狀態(tài)數(shù)據(jù)。如先前所描述,狀態(tài)數(shù)據(jù)可包括狀態(tài)信息及實(shí)際數(shù)據(jù)兩者。在一些情況下,狀態(tài)數(shù)據(jù)可包含與一個(gè)或一個(gè)以上OpenGL令牌相關(guān)聯(lián)的數(shù)據(jù)。各種形式的性能數(shù)據(jù)還可包括于狀態(tài)/性能信息32內(nèi)。一般來(lái)說(shuō),此性能數(shù)據(jù)可包括來(lái)自控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上的度量或硬件計(jì)數(shù)器數(shù)據(jù)。所述性能數(shù)據(jù)可包括幀率或循環(huán)數(shù)據(jù)。循環(huán)數(shù)據(jù)可包括用于剖析、命令陣列、頂點(diǎn)及索引數(shù)據(jù)或其它操作的循環(huán)的數(shù)據(jù)。在各種方面中,各種形式的狀態(tài)及性能數(shù)據(jù)可包括于由圖形驅(qū)動(dòng)器18Α從圖形處理系統(tǒng)4收集的狀態(tài)/性能信息32 內(nèi)。在一些實(shí)例中,性能數(shù)據(jù)還可包含由圖形處理單元12提供的計(jì)數(shù)器數(shù)據(jù)。
16
如先前所描述,應(yīng)用程序計(jì)算裝置20可根據(jù)所接收到的圖形命令30及狀態(tài)/性能信息32來(lái)顯示圖形圖像的表示。應(yīng)用程序計(jì)算裝置20還可顯示狀態(tài)/性能信息32的視覺(jué)表示。通過(guò)檢視重新創(chuàng)建的圖形圖像及/或狀態(tài)/性能信息32的視覺(jué)表示且與其互動(dòng),應(yīng)用程序開(kāi)發(fā)人員可能夠在執(zhí)行圖形命令30期間快速地識(shí)別并解決圖形裝置2的圖形處理系統(tǒng)4內(nèi)的性能問(wèn)題。舉例來(lái)說(shuō),應(yīng)用程序開(kāi)發(fā)人員可能夠識(shí)別處理器10、12、14及/ 或16中的哪些特定者可能具有性能問(wèn)題。性能分析應(yīng)用程序觀可由應(yīng)用程序開(kāi)發(fā)人員用作應(yīng)用程序開(kāi)發(fā)工具。在一些實(shí)例中,使用性能分析應(yīng)用程序觀可允許應(yīng)用程序開(kāi)發(fā)人員測(cè)量并可視化由圖形處理單元 12的圖形處理硬件對(duì)個(gè)別2D或3D元素進(jìn)行的處理的性質(zhì)的大集合。性能分析應(yīng)用程序觀使得能夠針對(duì)每個(gè)別經(jīng)渲染元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段) 而捕捉圖形處理系統(tǒng)4的性能測(cè)量結(jié)果的一個(gè)或一個(gè)以上大集合。性能分析應(yīng)用程序觀可允許開(kāi)發(fā)人員基于從圖形處理系統(tǒng)4接收到的性能測(cè)量結(jié)果而在開(kāi)發(fā)裝置(例如,應(yīng)用程序計(jì)算裝置20)上以圖形方式可視化性能度量。從此過(guò)程收集到的信息可幫助所述開(kāi)發(fā)人員較有效地調(diào)諧所述應(yīng)用程序的設(shè)計(jì)或性能特性,以便在目標(biāo)硬件平臺(tái)(例如,由圖形處理系統(tǒng)4提供的平臺(tái))上較高效地運(yùn)行。在試圖識(shí)別任何所識(shí)別性能問(wèn)題的變通方案或解決方案時(shí),開(kāi)發(fā)人員可在應(yīng)用程序計(jì)算裝置20上起始一個(gè)或一個(gè)以上所請(qǐng)求的修改34。舉例來(lái)說(shuō),開(kāi)發(fā)人員可與重新創(chuàng)建的圖像或狀態(tài)/性能信息32的表示互動(dòng)以產(chǎn)生所請(qǐng)求的修改34。在一些情況下,如下文更詳細(xì)地描述,開(kāi)發(fā)人員甚至可直接改變狀態(tài)/性能信息32以產(chǎn)生所請(qǐng)求的修改34。在特定情況下,所請(qǐng)求的修改34可包括用以停用圖形命令30中的一者或一者以上在圖形裝置 2的圖形處理系統(tǒng)4中的執(zhí)行的一個(gè)或一個(gè)以上請(qǐng)求,或用以修改圖形命令30中的一者或一者以上的請(qǐng)求。將所請(qǐng)求的修改34從應(yīng)用程序計(jì)算裝置20發(fā)送到圖形驅(qū)動(dòng)器18A,所述圖形驅(qū)動(dòng)器18A在操作期間處置對(duì)圖形裝置2的請(qǐng)求。在許多情況下,所請(qǐng)求的修改34可包括用以在執(zhí)行圖形命令30期間在圖形處理系統(tǒng)4內(nèi)的處理器10、12、14或16中的一者或一者以上內(nèi)修改狀態(tài)信息的請(qǐng)求,所述狀態(tài)信息可包括數(shù)據(jù)。圖形驅(qū)動(dòng)器18A可接著在圖形處理系統(tǒng)4內(nèi)實(shí)施包括于所請(qǐng)求的修改34內(nèi)的改變。這些改變可更改處理器10、12、14及/ 或16之間的用于執(zhí)行圖形命令30的執(zhí)行流程。在特定情況下,可在于圖形處理系統(tǒng)4中的執(zhí)行期間根據(jù)所請(qǐng)求的修改34來(lái)停用圖形命令30中的一者或一者以上。圖形驅(qū)動(dòng)器18A能夠響應(yīng)于對(duì)所請(qǐng)求的修改34的處理而將經(jīng)更新的指令及/或信息35發(fā)送到應(yīng)用程序計(jì)算裝置20。經(jīng)更新的命令/信息35可包括由圖形驅(qū)動(dòng)器18A從圖形處理系統(tǒng)4收集的經(jīng)更新的狀態(tài)信息(包括性能信息)。經(jīng)更新的命令/信息35還可包括經(jīng)更新的圖形指令。應(yīng)用程序計(jì)算裝置20可經(jīng)由執(zhí)行或?qū)嵤┬阅芊治鰬?yīng)用程序觀而使用經(jīng)更新的命令/信息35來(lái)顯示圖形圖像的經(jīng)更新表示,以及經(jīng)更新的命令/信息35的視覺(jué)表示。性能分析應(yīng)用程序觀可基于從圖形驅(qū)動(dòng)器18A接收到的經(jīng)更新的命令/信息35而更新圖形場(chǎng)景的基于經(jīng)渲染元素的性能度量的圖形表示。應(yīng)用程序開(kāi)發(fā)人員可接著能夠評(píng)估先前識(shí)別的性能問(wèn)題是否已被解決或以其它方式處理。舉例來(lái)說(shuō),應(yīng)用程序開(kāi)發(fā)人員可能夠分析經(jīng)更新的圖像以及經(jīng)更新的命令/信息35的視覺(jué)表示,以確定特定紋理、多邊形或其它特征是否已被優(yōu)化,或其它性能參數(shù)是否已被改進(jìn)。以此方式,應(yīng)用程序開(kāi)發(fā)人員可能夠快速地且有效地調(diào)試或分析圖形命令30在應(yīng)用程序計(jì)算裝置20上的環(huán)境內(nèi)的執(zhí)行,所述環(huán)境模擬圖形處理系統(tǒng)4在圖形裝置2上的操作。開(kāi)發(fā)人員可反復(fù)地與應(yīng)用程序計(jì)算裝置20上所顯示的圖像及狀態(tài)/性能信息互動(dòng), 以分析場(chǎng)景或多個(gè)圖像幀中的多個(gè)圖形圖像,從而最大化圖形命令30的執(zhí)行性能。圖4為說(shuō)明根據(jù)一個(gè)方面的可由控制處理器10、圖形處理單元12、頂點(diǎn)處理器14 及顯示處理器16執(zhí)行的操作的額外細(xì)節(jié)的流程圖。圖4還展示幀緩沖存儲(chǔ)裝置100及顯示器6的操作。在一個(gè)實(shí)例中,控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及/或顯示處理器16因圖形命令30中的一者或一者以上的執(zhí)行而執(zhí)行各種操作。如先前所捕述,控制處理器10可控制穿經(jīng)圖形處理管線的數(shù)據(jù)或指令執(zhí)行流程的一個(gè)或一個(gè)以上方面,且還可將幾何信息提供給頂點(diǎn)處理器14。如圖4中所展示,控制處理器10可在90處執(zhí)行幾何存儲(chǔ)。在一些情況下,一個(gè)或一個(gè)以上圖元的幾何信息可由控制處理器10存儲(chǔ)于緩沖器15 (圖1)中。在一些情況下,幾何信息可存儲(chǔ)于存儲(chǔ)媒體8中。頂點(diǎn)處理器14(在用于圖形裝置內(nèi)的情況下)可接著獲得由控制處理器提供及/ 或存儲(chǔ)于緩沖器15中以用于在92處處理的給定圖元的幾何信息。在特定情況下,頂點(diǎn)處理器14可管理所述幾何信息的頂點(diǎn)變換。在特定情況下,頂點(diǎn)處理器14可對(duì)所述幾何信息執(zhí)行點(diǎn)亮操作(lighting operation)。頂點(diǎn)處理器14可將其輸出提供給圖形處理單元12,圖形處理單元12可在94處對(duì)數(shù)據(jù)執(zhí)行渲染或柵格化操作。圖形處理單元12可將其輸出提供給顯示處理器16,顯示處理器16以像素形式準(zhǔn)備一個(gè)或一個(gè)以上圖形圖像以供顯示。在98處,顯示處理器16可對(duì)像素?cái)?shù)據(jù)執(zhí)行各種操作,包括用以處理所述數(shù)據(jù)的各種片段的片段處理。在特定情況下,如此項(xiàng)技術(shù)中已知,這可包括深度測(cè)試、模版測(cè)試、混合或紋理映射中的一者或一者以上。在執(zhí)行紋理映射時(shí),顯示處理器16可在96處并入有紋理存儲(chǔ)及過(guò)濾信息。在一些情況下,圖形處理器16可對(duì)經(jīng)柵格化的數(shù)據(jù)執(zhí)行其它操作,例如著色或按比例縮放操作。顯示處理器16提供輸出像素信息以用于在100處存儲(chǔ)到幀緩沖器中。在一些情況下,所述幀緩沖器可包括于緩沖器15 (圖1)內(nèi)。在其它情況下,所述幀緩沖器可包括于存儲(chǔ)媒體8內(nèi)。所述幀緩沖器將圖像數(shù)據(jù)的一個(gè)或一個(gè)以上幀存儲(chǔ)于(例如)顯示裝置6 上,所述圖像數(shù)據(jù)可接著顯示于顯示裝置6上。如先前所描述,圖形命令30可由控制處理器10、頂點(diǎn)處理器14、圖形處理單元12 及顯示處理器16中的一者或一者以上執(zhí)行。應(yīng)用程序開(kāi)發(fā)人員通常可能不太了解或不能控制圖形處理系統(tǒng)4內(nèi)的哪些特定處理器執(zhí)行圖形命令30中的哪些圖形命令。在特定情況下,在執(zhí)行圖形命令30期間,控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上可能具有性能問(wèn)題,或成為處理管線內(nèi)的潛在瓶頸。對(duì)于應(yīng)用程序開(kāi)發(fā)人員來(lái)說(shuō),可能常難以查明瓶頸的位置,或如何最佳地解決或減輕此瓶頸的效應(yīng)。因此,在一個(gè)實(shí)例中,可將圖形命令30及/或狀態(tài)信息從圖形裝置2 提供給外部計(jì)算裝置(例如,應(yīng)用程序計(jì)算裝置20)。所述狀態(tài)信息可包括來(lái)自控制處理器 10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上的數(shù)據(jù),所述數(shù)據(jù)是關(guān)于在執(zhí)行圖形命令30期間發(fā)生的各種操作(例如,圖4中所展示的操作)。應(yīng)用程序計(jì)算裝置20可創(chuàng)建展示于裝置2上的圖形圖像,以便幫助以高效且有效的方式識(shí)別并解
18決瓶頸。圖5為說(shuō)明根據(jù)一個(gè)實(shí)例的圖3中所展示的圖形驅(qū)動(dòng)器18A的額外細(xì)節(jié)的框圖。 如先前所描述,圖形驅(qū)動(dòng)器18A可包含可在圖形處理系統(tǒng)4內(nèi)(例如)由控制處理器10、頂點(diǎn)處理器14、圖形處理單元12及顯示處理器16中的一者或一者以上執(zhí)行的指令。圖形驅(qū)動(dòng)器18A的執(zhí)行允許圖形處理系統(tǒng)4與應(yīng)用程序計(jì)算裝置20通信。在一個(gè)實(shí)例中,圖形驅(qū)動(dòng)器18A可包含可在圖形處理單元12內(nèi)執(zhí)行的指令,且可允許各種狀態(tài)及性能信息由圖形處理系統(tǒng)4提供給性能分析應(yīng)用程序觀。圖形驅(qū)動(dòng)器18A在執(zhí)行時(shí)可包括各種功能塊,所述功能塊在圖5中展示為以下實(shí)例輸送接口 110、處理器使用模塊112、硬件計(jì)數(shù)器模塊114、可管理其它狀態(tài)及/或性能數(shù)據(jù)的狀態(tài)/性能數(shù)據(jù)模塊116、API蹤跡模塊118及超馳模塊120。圖形驅(qū)動(dòng)器18A使用輸送接口模塊110來(lái)與應(yīng)用程序計(jì)算裝置20的性能分析應(yīng)用程序觀通信。處理器使用模塊112收集并維持控制處理器10、頂點(diǎn)處理器14、圖形處理單元12 及顯示處理器16中的一者或一者以上的處理器使用信息。所述處理器使用信息可包括處理器循環(huán)及/或性能信息。循環(huán)數(shù)據(jù)可包括用于剖析、命令陣列、頂點(diǎn)及索引數(shù)據(jù)或其它操作的循環(huán)的數(shù)據(jù)。處理器使用模塊112可接著經(jīng)由輸送接口模塊110將此處理器使用信息提供給應(yīng)用程序計(jì)算裝置20。在一些情況下,處理器使用模塊112以異步方式在其接收到此信息時(shí)將所述信息提供給裝置20。在其它情況下,處理器使用模塊112可在接收到來(lái)自性能分析應(yīng)用程序觀的請(qǐng)求之即刻提供所述信息。硬件計(jì)數(shù)器模塊114收集并維持在由控制處理器10、圖形處理單元12、頂點(diǎn)處理器14或顯示處理器16中的一者或一者以上執(zhí)行指令期間的各種硬件計(jì)數(shù)器。所述計(jì)數(shù)器可跟蹤關(guān)于圖形處理系統(tǒng)4內(nèi)的指令執(zhí)行的各種狀態(tài)指示符及/或度量。硬件計(jì)數(shù)器模塊 114可異步地或應(yīng)請(qǐng)求而將信息提供給裝置20。明確地說(shuō),硬件計(jì)數(shù)器模塊114可從圖形處理單元12捕捉各種計(jì)數(shù)器值,且將此些值作為與由圖形處理單元12進(jìn)行的對(duì)命令的執(zhí)行相關(guān)聯(lián)的性能信息而提供給性能分析應(yīng)用程序觀。狀態(tài)/性能數(shù)據(jù)模塊116收集并維持圖形處理系統(tǒng)4中的控制處理器10、圖形處理單元12、頂點(diǎn)處理器14及顯示處理器16中的一者或一者以上的其它狀態(tài)及/或性能數(shù)據(jù)。舉例來(lái)說(shuō),在一些情況下,所述狀態(tài)數(shù)據(jù)可包含圖形數(shù)據(jù)。狀態(tài)數(shù)據(jù)可包括與頂點(diǎn)陣列有關(guān)的數(shù)據(jù)(例如,位置、色彩、坐標(biāo)、大小或權(quán)重?cái)?shù)據(jù))。狀態(tài)數(shù)據(jù)可進(jìn)一步包括紋理狀態(tài)數(shù)據(jù)、點(diǎn)狀態(tài)數(shù)據(jù)、線狀態(tài)數(shù)據(jù)、多邊形狀態(tài)數(shù)據(jù)、揀選狀態(tài)數(shù)據(jù)、α測(cè)試狀態(tài)數(shù)據(jù)、混合狀態(tài)數(shù)據(jù)、深度狀態(tài)數(shù)據(jù)、模版狀態(tài)數(shù)據(jù)或色彩狀態(tài)數(shù)據(jù)。性能數(shù)據(jù)可包括各種其它度量或循環(huán)數(shù)據(jù)。狀態(tài)/性能數(shù)據(jù)模塊116可異步地或應(yīng)請(qǐng)求而將信息提供給性能分析應(yīng)用程序 28。API蹤跡模塊118管理圖形指令的流程及/或蹤跡,所述圖形指令由圖形處理系統(tǒng) 4執(zhí)行且經(jīng)由輸送接口模塊110而輸送到性能分析應(yīng)用程序觀。如先前所描述,圖形裝置 2將圖形命令30的復(fù)本提供給裝置20,所述圖形命令30由圖形處理系統(tǒng)4在其處理管線中執(zhí)行。API蹤跡模塊118管理這些圖形命令30的捕捉及輸送。API蹤跡模塊118還可提供結(jié)合性能分析應(yīng)用程序31 (圖1)使用的特定信息,以將圖形命令30映射到圖形命令30 的視覺(jué)表示,例如可能已用以產(chǎn)生圖形命令30的API指令。在一個(gè)實(shí)例中,從圖形裝置2發(fā)送到應(yīng)用程序計(jì)算裝置20的狀態(tài)/性能信息
1932 (例如,圖1)可包括由處理器使用模塊112、硬件計(jì)數(shù)器模塊114及/或狀態(tài)/性能數(shù)據(jù)模塊116提供的數(shù)據(jù)或信息中的任一者。在一個(gè)實(shí)例中,從圖形裝置2發(fā)送到應(yīng)用程序計(jì)算裝置20的圖形命令30 (例如,圖1)可包括由API蹤跡模塊118提供的信息。超馳模塊120允許圖形驅(qū)動(dòng)器18A改變(或超馳)圖形處理系統(tǒng)4內(nèi)的特定指令的執(zhí)行。如先前所描述,性能分析應(yīng)用程序觀可將一個(gè)或一個(gè)以上所請(qǐng)求的修改(例如, 修改34)發(fā)送到圖形裝置2。在特定情況下,所請(qǐng)求的修改34可包括用以停用圖形命令30 中的一者或一者以上在圖形處理系統(tǒng)4中的執(zhí)行的一個(gè)或一個(gè)以上請(qǐng)求,或用以修改圖形命令30中的一者或一者以上的請(qǐng)求。在一些情況下,所請(qǐng)求的修改34可包括用以改變狀態(tài)/性能信息32的請(qǐng)求。超馳模塊120可接受并處理所請(qǐng)求的修改34。舉例來(lái)說(shuō),超馳模塊120可從性能分析應(yīng)用程序觀接收用以修改圖形命令30中的一者或一者以上的任何請(qǐng)求,連同用以修改狀態(tài)/性能信息32的任何請(qǐng)求,且將此些請(qǐng)求發(fā)送到圖形處理系統(tǒng)4。控制處理器10、 圖形處理單元12、頂點(diǎn)處理器14及顯示處理器16中的一者或一者以上可接著處理這些請(qǐng)求,且產(chǎn)生經(jīng)更新的命令/信息35。如先前所描述,超馳模塊120可接著將經(jīng)更新的命令/ 信息35發(fā)送到性能分析應(yīng)用程序觀以供處理。以此方式,圖形驅(qū)動(dòng)器18A在圖形處理系統(tǒng)4與應(yīng)用程序計(jì)算裝置20的性能分析應(yīng)用程序觀之間提供接口。圖形驅(qū)動(dòng)器18A能夠?qū)D形指令及狀態(tài)/性能信息32提供給性能分析應(yīng)用程序觀,且還能夠從性能分析應(yīng)用程序觀接收所請(qǐng)求的修改34。在處理此些所請(qǐng)求的修改34之后,圖形驅(qū)動(dòng)器18A隨后能夠?qū)⒔?jīng)更新的命令/信息35提供回到性能分析應(yīng)用程序28。圖6為根據(jù)本發(fā)明的一個(gè)方面的可由圖1中所展示的應(yīng)用程序計(jì)算裝置20或圖 2中所展示的圖形裝置50執(zhí)行的方法的流程圖。僅出于說(shuō)明的目的,在后續(xù)描述中將假定圖6的方法由性能分析應(yīng)用程序執(zhí)行,例如由應(yīng)用程序計(jì)算裝置20的性能分析應(yīng)用程序觀(圖1)或性能分析應(yīng)用程序70(圖幻執(zhí)行。性能分析應(yīng)用程序可接收由圖形處理單元(例如,圖形裝置2的圖形處理單元12) 提供的性能信息,其中所述性能信息已由圖形處理單元結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素而測(cè)量(130)。舉例來(lái)說(shuō),所述性能信息可為圖1中所展示的提供給應(yīng)用程序計(jì)算裝置20的狀態(tài)/性能信息32的部分。所述性能信息可與包括于圖形命令30內(nèi)的特定繪制命令的執(zhí)行相關(guān)聯(lián)。圖形命令30可包含從API指令產(chǎn)生的二進(jìn)制指令。在一些實(shí)例中,性能信息可包含由圖形處理單元收集的性能計(jì)數(shù)器數(shù)據(jù)。舉例來(lái)說(shuō),所述性能計(jì)數(shù)器數(shù)據(jù)可包括當(dāng)正逐個(gè)繪制命令地執(zhí)行繪制命令時(shí)所揀選或剪輯的圖形圖元的數(shù)目的計(jì)數(shù)器值。還可收集各種其它形式的性能計(jì)數(shù)器數(shù)據(jù)。還可收集各種其它形式的性能計(jì)數(shù)器數(shù)據(jù),包括(但不限于)以下各項(xiàng)每幀、繪制命令、圖元、頂點(diǎn)或片段的硬件時(shí)鐘循環(huán)的數(shù)目;針對(duì)每幀、繪制命令、圖元、頂點(diǎn)或片段,圖形裝置(例如,圖形裝置2) 的一個(gè)或一個(gè)以上子組件內(nèi)的閑置或暫停循環(huán)的數(shù)目;等等。性能分析應(yīng)用程序可接著基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值(132)。每一所計(jì)算的值與所述圖形元素中的至少一者相關(guān)聯(lián)。所述性能分析應(yīng)用程序可計(jì)算任何數(shù)目個(gè)不同性能度量的值。實(shí)例性能度量可包括(例如)每時(shí)鐘循環(huán)撰寫(xiě)的像素的數(shù)目、每頂點(diǎn)發(fā)出的著色器指令的數(shù)目、每秒執(zhí)行的存儲(chǔ)器寫(xiě)入的次數(shù)等。所述性能分析應(yīng)用程序可基于所接收到的性能信息來(lái)計(jì)算這些度量的值。性能分析應(yīng)用程序可基于圖形元素的性能度量的所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素(134),其中所述圖形識(shí)別符中的一者被指派給所述圖形元素中的每一者。 性能分析應(yīng)用程序可接著根據(jù)指派給所述個(gè)別圖形元素的圖形識(shí)別符而在渲染圖形場(chǎng)景時(shí)(例如,在顯示裝置對(duì)上)顯示所述圖形元素(136)。性能信息可包含由圖形處理單元針對(duì)所述圖形元素中的每一者收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值。所述圖形元素中的每一者可包含用于渲染圖形場(chǎng)景的一個(gè)或一個(gè)以上繪制命令、圖形圖元、頂點(diǎn)、像素片段等。在一些例子中,性能剖析應(yīng)用程序還可顯示可選擇性能度量的表示,且接收所述可選擇性能度量中的一者的用戶選擇作為指定性能度量。以此方式,用戶可從可用的可選擇度量列表指定所述性能度量,以便檢視經(jīng)渲染的圖形元素的所要性能數(shù)據(jù)。在一些實(shí)例中,性能分析應(yīng)用程序可基于所述圖形元素的性能度量的所計(jì)算值來(lái)確定所述性能度量的值的范圍。性能剖析應(yīng)用程序可接著基于所述圖形元素的性能度量的所計(jì)算值在所述值范圍內(nèi)的位置來(lái)將圖形識(shí)別符(例如,色彩、著色識(shí)別符、交叉影線識(shí)別符)指派給所述圖形元素。如上文所注明,指派給所述圖形元素的圖形識(shí)別符可包含色彩。在這些情況下,性能分析應(yīng)用程序可根據(jù)指派給所述圖形元素的色彩來(lái)顯示個(gè)別圖形元素,其中所述色彩中的一者被指派給所述圖形元素中的每一者。舉例來(lái)說(shuō),在處理所述圖形元素后,性能分析應(yīng)用程序可即刻將第一色彩指派給第一經(jīng)渲染元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)以供顯示,將第二(不同)色彩指派給第二經(jīng)渲染元素以供顯示,等等。以此方式,性能分析應(yīng)用程序可在每元素基礎(chǔ)上以易于理解的格式顯示性能信息。應(yīng)用程序開(kāi)發(fā)人員可快速地檢視此信息以識(shí)別用于渲染場(chǎng)景的所述圖形元素的性能特性,這可幫助開(kāi)發(fā)人員進(jìn)行應(yīng)用程序開(kāi)發(fā)、調(diào)試、優(yōu)化及/或應(yīng)用程序開(kāi)發(fā)期間的其它功能。指派給所述圖形元素的圖形識(shí)別符可包含其它形式的識(shí)別符,而不是色彩。舉例來(lái)說(shuō),可使用著色及/或交叉影線圖案或識(shí)別符。在一些實(shí)例中,性能分析應(yīng)用程序可根據(jù)指派給所述圖形元素的著色/交叉影線識(shí)別符來(lái)顯示個(gè)別圖形元素,其中所述識(shí)別符中的一者被指派給所述圖形元素中的每一者。舉例來(lái)說(shuō),在處理所述圖形后,性能分析應(yīng)用程序可即刻將第一交叉影線圖案或識(shí)別符指派給第一經(jīng)渲染元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)以供顯示,將第二(不同)交叉影線圖案或識(shí)別符指派給第二經(jīng)渲染元素以供顯示,等等。在一些情況下,圖6中所展示的動(dòng)作可由單個(gè)裝置實(shí)施,例如由圖2中所展示的圖形裝置50實(shí)施。在一些情況下,圖6的動(dòng)作可由一個(gè)或一個(gè)以上物理上不同的裝置來(lái)實(shí)施, 例如圖1中所展示的圖形裝置2及/或應(yīng)用程序計(jì)算裝置20。如圖2的實(shí)例中所展示,在一些替代實(shí)例中,可在圖形裝置內(nèi)(例如,在圖形裝置 50內(nèi))直接執(zhí)行或?qū)嵤┬阅芊治鰬?yīng)用程序。在這些特定實(shí)例中,接收性能信息可包括接收由圖形處理單元針對(duì)所述圖形元素中的每一者收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值, 其中所述圖形元素包含像素片段。將圖形識(shí)別符指派給所述圖形元素可包括通過(guò)使用混合 (例如,圖形處理系統(tǒng)內(nèi)的混合硬件)以基于所述一個(gè)或一個(gè)以上計(jì)數(shù)器的值而組合所述像素片段中的多者來(lái)確定所述圖形識(shí)別符。
另外,對(duì)于圖2中所展示的實(shí)例裝置,圖6的方法可包括由圖形裝置50 (例如,由裝置的圖形驅(qū)動(dòng)器,例如圖3及圖5中所展示的圖形驅(qū)動(dòng)器18A)執(zhí)行的其它動(dòng)作。如將參看圖8進(jìn)一步詳細(xì)地描述,舉例來(lái)說(shuō),在由圖形處理單元處理所述圖形元素中的至少一者之前,所述圖形處理單元可確定所述圖形處理單元的至少一個(gè)計(jì)數(shù)器(例如,經(jīng)揀選/剪輯的圖元的數(shù)目的計(jì)數(shù)器)的至少一第一值。在由所述圖形處理單元處理所述至少一個(gè)圖形元素之后,圖形處理單元可接著確定所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少一第二值。所述圖形處理單元可基于所述圖形處理單元的所述至少一個(gè)器計(jì)數(shù)的至少所述第一值與第二值之間的差來(lái)確定所述至少一個(gè)圖形元素的性能信息。以此方式,所述性能信息包含基于圖形元素的實(shí)際處理的計(jì)數(shù)器值的差值(delta),藉此提供針對(duì)這些元素的處理的性能相關(guān)信息。圖7為可由例如圖3及圖5中所展示的圖形驅(qū)動(dòng)器18A或圖2中所展示的圖形驅(qū)動(dòng)器68中的一者的圖形驅(qū)動(dòng)器執(zhí)行的實(shí)例方法的流程圖。在此實(shí)例中,僅出于說(shuō)明的目的,假定圖形元素包含個(gè)別繪制命令。然而,在其它實(shí)例中,圖形元素可包含其它元素,例如圖形圖元、頂點(diǎn),或像素片段。最初,圖形驅(qū)動(dòng)器可截獲特定繪制命令(150),所述繪制命令可包括于一組指令 (例如,圖1的指令21,圖2的指令66)內(nèi)。圖形驅(qū)動(dòng)器可在所述命令被圖形處理單元執(zhí)行之前截獲所述命令。在截獲所述命令之后,圖形驅(qū)動(dòng)器可檢查以查看任何每元素(例如,每繪制命令、 每圖形圖元、每頂點(diǎn)、每像素片段)性能數(shù)據(jù)收集是否已由性能分析應(yīng)用程序(例如,圖1 的性能分析應(yīng)用程序觀,圖2的性能分析應(yīng)用程序70)啟用(IM)。因此,假定每一繪制命令可渲染一特定元素,性能分析應(yīng)用程序具有動(dòng)態(tài)地啟用或停用此數(shù)據(jù)收集的能力,所述數(shù)據(jù)收集是在每命令基礎(chǔ)上由圖形驅(qū)動(dòng)器進(jìn)行。在不需要每元素性能信息的特定情況下,性能分析應(yīng)用程序可停用數(shù)據(jù)收集功能性。在這些情況下(即,1 的“否”分支),圖形驅(qū)動(dòng)器可驅(qū)動(dòng)由圖形處理單元進(jìn)行的繪制命令的執(zhí)行(152),且接著將用于所述繪制命令的命令數(shù)據(jù)發(fā)射到性能分析應(yīng)用程序(166)。 假定未啟用由圖形驅(qū)動(dòng)器進(jìn)行的此數(shù)據(jù)收集,性能分析應(yīng)用程序可接著仿真(或模擬)所述命令的執(zhí)行,但不可顯示每元素性能度量。在一些任選情況下,圖形驅(qū)動(dòng)器可將圖形處理單元的當(dāng)前計(jì)數(shù)器值提供給所述分析應(yīng)用程序,但此些值可包含對(duì)應(yīng)計(jì)數(shù)器的當(dāng)前總值, 而不是與經(jīng)執(zhí)行以渲染個(gè)別圖形元素的個(gè)別繪制命令相關(guān)聯(lián)的值。然而,如果啟用此每元素?cái)?shù)據(jù)收集(即,154的“是”分支),那么圖形驅(qū)動(dòng)器可在所述圖形命令的執(zhí)行之前對(duì)圖形處理單元(GPU)的所有經(jīng)啟用的計(jì)數(shù)器的當(dāng)前值進(jìn)行取樣(156)。可啟用所述計(jì)數(shù)器中的一者或一者以上以用于數(shù)據(jù)收集。在一些情況下,圖形裝置可啟用或停用所述計(jì)數(shù)器,而在一些例子中,性能分析應(yīng)用程序可基于用戶的一個(gè)或一個(gè)以上選擇而啟用或停用所述計(jì)數(shù)器。舉例來(lái)說(shuō),如果應(yīng)用程序開(kāi)發(fā)人員對(duì)在任何時(shí)間點(diǎn)檢視一個(gè)或一個(gè)以上指定度量的性能度量信息感興趣,那么性能分析應(yīng)用程序可提供用以啟用來(lái)自圖形處理單元的那些計(jì)數(shù)器的數(shù)據(jù)收集的請(qǐng)求,所述計(jì)數(shù)器用于確定或計(jì)算指定的所要度量。然而,所述分析應(yīng)用程序可停用任何其它計(jì)數(shù)器的數(shù)據(jù)收集,以致力于減輕或減小處理開(kāi)銷。接下來(lái),圖形驅(qū)動(dòng)器驅(qū)動(dòng)由圖形處理單元對(duì)繪制命令的執(zhí)行(158),且接著再次對(duì)
22圖形處理單元的所有經(jīng)啟用的計(jì)數(shù)器的值進(jìn)行取樣(160)。在圖7的實(shí)例中,假定對(duì)GPU計(jì)數(shù)器進(jìn)行取樣及執(zhí)行繪制命令為同步操作。在此實(shí)例中,圖形驅(qū)動(dòng)器可查詢含有所述計(jì)數(shù)器值的一個(gè)或一個(gè)以上硬件寄存器(其由圖形處理單元暴露)??山又鴮⒛切┲盗⒓磦骰氐綀D形驅(qū)動(dòng)器。在其它實(shí)例中,特定GPU架構(gòu)可準(zhǔn)許圖形驅(qū)動(dòng)器作出對(duì)GPU計(jì)數(shù)器進(jìn)行取樣的“管線式”請(qǐng)求,且接著在完成所述取樣時(shí),所述圖形驅(qū)動(dòng)器可隨后由圖形處理單元通知或中斷。在這些例子中,計(jì)數(shù)器數(shù)據(jù)的實(shí)際收集或取樣(156、160)可能推遲直到所述繪制命令執(zhí)行之后的某一時(shí)間為止。對(duì)于經(jīng)啟用的每一 GPU計(jì)數(shù)器,將第一經(jīng)取樣值從所述經(jīng)啟用的GPU計(jì)數(shù)器的對(duì)應(yīng)第二經(jīng)取樣值減去(162)。因此,對(duì)于經(jīng)啟用的每一特定GPU計(jì)數(shù)器,圖形驅(qū)動(dòng)器計(jì)算與所述特定GPU計(jì)數(shù)器相關(guān)的差值或差異值以便執(zhí)行單個(gè)繪制命令,所述差值或差異值表示由圖形處理單元執(zhí)行的工作。因此,如果在執(zhí)行所述繪制命令之前特定GPU計(jì)數(shù)器的值為五,且在執(zhí)行所述繪制命令之后所述值變?yōu)榘耍敲创擞?jì)數(shù)器的差值三與所述特定繪制命令的執(zhí)行相關(guān)聯(lián)。圖形驅(qū)動(dòng)器可接著將與所述繪制命令相關(guān)聯(lián)的命令數(shù)據(jù)以及經(jīng)啟用的GPU計(jì)數(shù)器的差值發(fā)射到性能分析應(yīng)用程序(164),使得所述分析應(yīng)用程序可在仿真環(huán)境中重新創(chuàng)建繪制命令,且基于所述繪制命令的執(zhí)行而顯示個(gè)別元素的所計(jì)算的性能度量的圖形表示。所述命令數(shù)據(jù)可包括函數(shù)調(diào)用參數(shù)、渲染狀態(tài)、幾何數(shù)據(jù)、紋理、著色器等。在將數(shù)據(jù)發(fā)射到性能分析應(yīng)用程序之后,圖形驅(qū)動(dòng)器可接著針對(duì)一個(gè)或一個(gè)以上其它繪制命令而重復(fù)圖7中所展示的各種動(dòng)作。在這樣做時(shí),圖形驅(qū)動(dòng)器能夠?qū)顟B(tài)及性能信息連同所述繪制命令提供給性能分析應(yīng)用程序,使得所述分析應(yīng)用程序可在每元素基礎(chǔ)上重新創(chuàng)建繪制命令且顯示所計(jì)算的度量的圖形表示。圖12展示這些圖形表示的一個(gè)實(shí)例。在圖7的實(shí)例中,僅出于說(shuō)明的目的,已假定圖形元素包含個(gè)別繪制命令。然而, 在其它實(shí)例中,圖形元素可包含其它元素,例如圖形圖元、頂點(diǎn)或像素片段。在這些實(shí)例中, 圖形驅(qū)動(dòng)器能夠基于這些圖形元素的處理而收集GPU計(jì)數(shù)器數(shù)據(jù)(包括差值/差異數(shù)據(jù))。 舉例來(lái)說(shuō),在150處,圖形驅(qū)動(dòng)器可截獲像素片段,而不是截獲繪制命令。在156處,圖形驅(qū)動(dòng)器可對(duì)在處理所述像素片段之前的所有經(jīng)啟用的GPU計(jì)數(shù)器進(jìn)行取樣,且在160處,圖形驅(qū)動(dòng)器可對(duì)在處理所述像素片段之后的所有經(jīng)啟用的GPU計(jì)數(shù)器進(jìn)行取樣。圖形驅(qū)動(dòng)器接著能夠?qū)PU計(jì)數(shù)器數(shù)據(jù)作為基于每像素片段的性能信息而發(fā)射到性能分析應(yīng)用程序。圖8為可由例如圖1的性能分析應(yīng)用程序觀或圖2的性能分析應(yīng)用程序70等性能分析應(yīng)用程序執(zhí)行的實(shí)例方法的流程圖。所述性能分析應(yīng)用程序可接收由圖形驅(qū)動(dòng)器提供的數(shù)據(jù),例如如圖7中所展示而發(fā)射的數(shù)據(jù)。所述性能分析應(yīng)用程序可在從所述圖形驅(qū)動(dòng)器接收到傳入發(fā)射數(shù)據(jù)后即刻緩沖此數(shù)據(jù)(170)。所述傳入數(shù)據(jù)可包含針對(duì)圖形元素的數(shù)據(jù)(例如,繪制命令、繪制命令數(shù)據(jù)、圖元數(shù)據(jù)、頂點(diǎn)數(shù)據(jù)、像素片段數(shù)據(jù))及GPU計(jì)數(shù)器數(shù)據(jù),以及狀態(tài)/性能信息(例如,狀態(tài)/性能信息32)。如先前關(guān)于圖7所描述,所述GPU 計(jì)數(shù)器數(shù)據(jù)可包含基于每元素的任何給定GPU計(jì)數(shù)器的差值,所述差值與圖形元素的個(gè)別處理相關(guān)聯(lián)。性能分析應(yīng)用程序可接著檢查以查看其是否已從圖形驅(qū)動(dòng)器接收到動(dòng)畫(huà)的全幀,
23即,是否已到達(dá)一幀的末尾(172)。如果未到達(dá)(即,172的“否”分支),那么所述分析應(yīng)用程序?qū)⒗^續(xù)緩沖傳入數(shù)據(jù),直到其已到達(dá)特定幀的末尾為止。如果已到達(dá)幀的末尾(即, 172的“是”分支),那么對(duì)于每一所接收到的圖形元素及相關(guān)聯(lián)的GPU計(jì)數(shù)器數(shù)據(jù),所述性能分析應(yīng)用程序使用所接收到的GPU計(jì)數(shù)器值來(lái)計(jì)算一個(gè)或一個(gè)以上指定性能度量的值 (174)。性能分析應(yīng)用程序可接著正規(guī)化每一性能度量的與所述命令相關(guān)聯(lián)的所計(jì)算值, 且接著將每一值映射到一組識(shí)別符內(nèi)的圖形識(shí)別符(例如,映射到色彩范圍內(nèi)的色彩,映射到識(shí)別符范圍或群組內(nèi)的著色/交叉影線識(shí)別符)(176)。舉例來(lái)說(shuō),性能分析應(yīng)用程序可計(jì)算跨越所有圖形元素的每一指定性能度量的最小值及最大值,從而形成所捕捉的幀內(nèi)的每一性能度量(例如,每時(shí)鐘循環(huán)撰寫(xiě)的像素、每頂點(diǎn)發(fā)出的著色器指令、每秒執(zhí)行的存儲(chǔ)器寫(xiě)入,僅舉幾例)的范圍。對(duì)于每一性能度量,可接著將數(shù)值范圍映射到圖形識(shí)別符 (例如,色彩、定界符、著色、交叉影線或其它材料性質(zhì))的型譜或群組。性能分析應(yīng)用程序接著使用對(duì)應(yīng)命令的所計(jì)算值在此度量的值的范圍內(nèi)的位置來(lái)將圖形識(shí)別符指派給每一圖形元素。舉例來(lái)說(shuō),性能分析應(yīng)用程序可從圖形驅(qū)動(dòng)器接收三個(gè)不同圖形元素的GPU計(jì)數(shù)器數(shù)據(jù)。性能分析應(yīng)用程序可計(jì)算所述三個(gè)元素中的每一者的特定度量的值。舉例來(lái)說(shuō), 第一圖形元素可基于此元素的GPU計(jì)數(shù)器數(shù)據(jù)而具有所計(jì)算度量值三;第二圖形元素可具有所計(jì)算度量值五;且第三圖形元素可具有所計(jì)算度量值七。因此,此度量的值的范圍跨度可為從三到七。對(duì)于此特定度量,有可能較高值指示一個(gè)或一個(gè)以上潛在的性能問(wèn)題(例如,較高次數(shù)的存儲(chǔ)器寫(xiě)入)。在此特定實(shí)例中,性能分析應(yīng)用程序可針對(duì)這些值創(chuàng)建圖形識(shí)別符的型譜或范圍。舉例來(lái)說(shuō),黃色可與度量值三相關(guān)聯(lián);藍(lán)色可與度量值五相關(guān)聯(lián);且紅色可與度量值七相關(guān)聯(lián)?;谶@些色彩指定,性能分析應(yīng)用程序可接著將黃色指派給第一圖形元素,將藍(lán)色指派給第二圖形元素,且將紅色指派給第三圖形元素。如圖8中所展示,性能分析應(yīng)用程序可基于指派給這些元素的圖形識(shí)別符而修改每一圖形元素的著色或其它材料性質(zhì)以在視覺(jué)上表示待渲染的任何元素(例如,色彩或色調(diào)、著色/交叉影線)(178),且可接著使用裝置仿真器來(lái)處理所述圖形元素(180)。以此方式,通過(guò)處理每一所捕捉的圖形元素(例如,執(zhí)行每一繪制命令、處理每一圖元/頂點(diǎn)/像素片段)而在經(jīng)耦合以用于所述分析應(yīng)用程序的裝置仿真器中重新創(chuàng)建并顯示所捕捉的幀,其中根據(jù)所計(jì)算的性能度量的對(duì)應(yīng)值而適當(dāng)?shù)刈R(shí)別(例如,上色)個(gè)別元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)。因此,繼續(xù)上文的實(shí)例,性能分析應(yīng)用程序可處理第一圖形元素,且使用黃色在視覺(jué)上顯示此元素的渲染。所述分析應(yīng)用程序可處理第二圖形元素,且使用藍(lán)色在視覺(jué)上顯示此元素的渲染。最后,所述分析應(yīng)用程序可處理第三圖形元素,且使用紅色在視覺(jué)上顯示此元素的渲染。在此實(shí)例中,對(duì)于特定度量,有可能較高值指示一個(gè)或一個(gè)以上潛在的性能問(wèn)題 (例如,較高次數(shù)的存儲(chǔ)器寫(xiě)入)。因?yàn)檩^高度量值是與紅色相關(guān)聯(lián),所以應(yīng)用程序開(kāi)發(fā)人員能夠快速地檢視在處理第一、第二及第三圖形元素后即刻渲染的所述元素的視覺(jué)表示。 涂以紅色的所述經(jīng)渲染的元素可具有潛在的性能含義。開(kāi)發(fā)人員可接著(例如,在命令窗內(nèi),如圖9到圖12所展示)選擇這些元素或以其它方式識(shí)別紅色圖形元素,且可接著評(píng)估是否可大體地對(duì)所述命令或?qū)λ龀绦蜻M(jìn)行優(yōu)化。如上文所注明,在不同的實(shí)例中可使用除色彩以外的各種其它形式的圖形識(shí)別符。以此方式,在仿真環(huán)境中,開(kāi)發(fā)人員能夠快速地檢視經(jīng)渲染的元素的圖形顯示,且基于其顯示方式來(lái)識(shí)別可能具有性能含義的特定元素。在一些情況下,開(kāi)發(fā)人員可識(shí)別致使對(duì)這些元素進(jìn)行渲染的對(duì)應(yīng)繪制命令,且調(diào)諧或以其它方式修改應(yīng)用程序以進(jìn)行優(yōu)化。在處理所述圖形元素后,性能分析應(yīng)用程序可即刻針對(duì)多個(gè)不同幀而重復(fù)170、 172、174、176、178及180。在上文的實(shí)例中,性能分析應(yīng)用程序利用不同色彩來(lái)區(qū)分經(jīng)渲染的元素。在其它情況下,可代替色彩或結(jié)合色彩來(lái)使用各種其它形式的圖形識(shí)別符。舉例來(lái)說(shuō),性能分析應(yīng)用程序可基于這些元素的特定度量的所計(jì)算值來(lái)將著色或交叉影線性質(zhì)或識(shí)別符指派給不同圖形元素。一般來(lái)說(shuō),性能分析應(yīng)用程序可將圖形識(shí)別符指派給所處理的各種不同圖形元素。圖9為說(shuō)明可由例如圖1或圖2中所展示的性能分析應(yīng)用程序等性能分析應(yīng)用程序顯示于顯示裝置201上的信息的實(shí)例的概念圖。顯示裝置201能夠基于從圖形裝置(例如,圖1或圖2中所展示的圖形裝置中的一者)發(fā)送的圖形命令及狀態(tài)/性能信息而在窗口 203內(nèi)顯示2D或3D圖形圖像210。所述圖形圖像210可包含已在執(zhí)行所述圖形命令(包括繪制命令)期間渲染的一個(gè)或一個(gè)以上元素。顯示裝置201還可能夠顯示所述指令及狀態(tài)/性能信息的視覺(jué)表示,使得開(kāi)發(fā)人員可改變這些指令及信息來(lái)修改圖形圖像210或包括圖形圖像210的整個(gè)場(chǎng)景。如圖9的實(shí)例中所展示,顯示裝置201可在圖形用戶接口內(nèi)顯示各種類型的信息。在此實(shí)例中,顯示裝置201在所述圖形用戶接口內(nèi)顯示圖形窗口 203。窗口 203包括顯示區(qū)211、圖形命令區(qū) 208及狀態(tài)/性能信息區(qū)214。顯示區(qū)211包括圖形圖像210。在此實(shí)例中,圖形圖像210 包含立方體。在圖9的實(shí)例中,圖形命令區(qū)208包括一個(gè)或一個(gè)以上圖形命令(包括繪制命令) 的視覺(jué)表示,所述一個(gè)或一個(gè)以上圖形命令已由分析應(yīng)用程序接收,且當(dāng)前正被執(zhí)行或已執(zhí)行。此些命令的視覺(jué)表示可包含此些命令的表示。舉例來(lái)說(shuō),當(dāng)所述分析應(yīng)用程序接收二進(jìn)制圖形命令時(shí),顯示裝置201可以另一形式顯示此些二進(jìn)制指令的表示,例如較高級(jí)應(yīng)用編程接口(API)指令(例如,OpenGL指令)。可使用映射信息(例如,與性能分析應(yīng)用程序一起本地存儲(chǔ)或由圖形裝置提供的映射信息)來(lái)將所接收到的二進(jìn)制命令映射成可在圖形命令區(qū)208內(nèi)顯示的另一格式。狀態(tài)/性能信息區(qū)214包括已由性能分析應(yīng)用程序接收的選定狀態(tài)及/或性能信息的視覺(jué)表示。所接收的圖形命令及狀態(tài)/性能信息可用以在顯示區(qū)內(nèi)顯示圖形圖像210。窗口 203還包括一個(gè)或一個(gè)以上選擇器212A到212N。用戶(例如,應(yīng)用程序開(kāi)發(fā)人員)可選擇這些選擇器212A到212N中的任一者。如下文將更詳細(xì)地描述,每一選擇器 212A到212N可與不同的功能(例如,統(tǒng)計(jì)功能及導(dǎo)航功能)相關(guān)聯(lián)。窗口 203進(jìn)一步包括選擇器216A到216N及218A到218N,其中的每一者可由用戶選擇。如下文將參看圖10 更詳細(xì)地描述,每一選擇器216A到216N及218A到218N也可與不同的功能(例如,度量功能、超馳功能及/或紋理功能)相關(guān)聯(lián)。用戶(例如,應(yīng)用程序開(kāi)發(fā)人員)可改變窗口 203內(nèi)所顯示的信息。舉例來(lái)說(shuō),所述用戶可修改圖形命令區(qū)208內(nèi)所顯示的指令中的一者或一者以上,或狀態(tài)/性能信息區(qū) 214內(nèi)的狀態(tài)/性能信息中的任一者??山又鴮⒋翱?203內(nèi)的由用戶起始的任何改變作為所請(qǐng)求的修改(例如,圖1中所展示的所請(qǐng)求的修改34)發(fā)送回到圖形裝置或發(fā)送回圖形裝置內(nèi)。圖形裝置可接著處理這些修改,且提供經(jīng)更新的指令及/或信息,所述經(jīng)更新的指令及/或信息可接著顯示于圖形命令區(qū)208及/或狀態(tài)/性能信息區(qū)214內(nèi)。所述經(jīng)更新的指令及/或信息還可用以在顯示區(qū)211內(nèi)顯示圖形圖像210的經(jīng)修改的版本。在一個(gè)實(shí)例中,可由包括顯示裝置201的裝置來(lái)分析可顯示于區(qū)214內(nèi)的狀態(tài)及 /或性能信息,以在執(zhí)行圖形命令期間識(shí)別潛在瓶頸,所述裝置可為圖形裝置(圖幻或單獨(dú)的應(yīng)用程序計(jì)算裝置(圖1)。最后,用戶(例如,應(yīng)用程序開(kāi)發(fā)人員)可希望在調(diào)試過(guò)程期間檢視呈現(xiàn)于窗口 203中的信息以優(yōu)化所述命令的執(zhí)行。經(jīng)由狀態(tài)及/或性能信息的分析,可在窗口 203中(例如,在一個(gè)或一個(gè)以上子窗口或彈出窗口內(nèi),或在窗口 203的區(qū) 214內(nèi))顯示潛在的瓶頸及可能的變通方案。在一個(gè)實(shí)例中,窗口 203可顯示關(guān)于在從圖形裝置200接收到的圖形指令的調(diào)用流中遭遇的瓶頸的報(bào)告,且還可顯示可能的變通方案。在一些情況下,這些可能的變通方案可作為“若則”情形呈現(xiàn)給用戶。舉例來(lái)說(shuō),渲染調(diào)用流中的未經(jīng)優(yōu)化的三角形列表可呈現(xiàn)為一種可能情形,而經(jīng)由三角帶優(yōu)化框架來(lái)預(yù)處理所述列表可呈現(xiàn)為第二種可能情形。用戶可選擇這些可能的變通方案情形中的任一者作為所請(qǐng)求的修改,且接著將所述所請(qǐng)求的修改發(fā)射回到圖形裝置,在所述圖形裝置處可測(cè)量由修改產(chǎn)生的性能。圖形裝置接著發(fā)送經(jīng)更新的命令/信息,所述經(jīng)更新的命令/信息可呈現(xiàn)于圖形命令區(qū)208及/或狀態(tài)/性能信息區(qū)214內(nèi)。用戶可接著檢視結(jié)果,且比較各種潛在變通方案的結(jié)果以識(shí)別最佳解決方案。用戶可使用此過(guò)程來(lái)快速地識(shí)別可采用的一系列步驟, 以便從其應(yīng)用程序移除瓶頸。用戶可反復(fù)地繼續(xù)在窗口 203內(nèi)作出調(diào)整以實(shí)現(xiàn)實(shí)驗(yàn)或試誤調(diào)試的目的。用戶可實(shí)驗(yàn)各種不同形式或組合的圖形命令及狀態(tài)/性能信息,以識(shí)別顯示區(qū)211內(nèi)所顯示的圖像或場(chǎng)景的改變。用戶可使用由窗口 203的內(nèi)容提供的模擬環(huán)境來(lái)互動(dòng)地檢視并修改圖形命令(其可為調(diào)用流的部分)及由圖形裝置提供的狀態(tài),而無(wú)需重新編譯源代碼及在圖形裝置上重新執(zhí)行經(jīng)編譯的代碼。在一些情況下,用戶可操縱按鈕212A到212N中的一者或一者以上以操縱圖形導(dǎo)航控制器(例如,圖形相機(jī)),從而修改圖形圖像210的透視圖。此操縱可被捕捉為所請(qǐng)求的修改,所述所請(qǐng)求的修改接著被發(fā)送回到圖形裝置200。接著使用由圖形裝置提供的經(jīng)更新的命令/信息來(lái)修改圖形圖像210的透視圖。在一些情況下,可在窗口 203的區(qū)214中提供各種紋理及/或狀態(tài)信息作為可修改實(shí)體。另外,用戶甚至可選擇(例如)顯示區(qū)211內(nèi)的圖形圖像210的像素,使得圖形命令區(qū)208內(nèi)的一個(gè)或一個(gè)以上對(duì)應(yīng)指令被識(shí)別。以此方式,用戶可有效地反向研究用以渲染或創(chuàng)建圖形圖像210的所述像素或其它部分的渲染指令或調(diào)用。因?yàn)閳D形裝置200可在窗口 203中創(chuàng)建圖像210(正如其呈現(xiàn)于圖形裝置200上一樣),所以用戶能夠快速地隔離其應(yīng)用程序中的問(wèn)題(其可基于圖形命令區(qū)208中所顯示的各種圖形指令),且修改狀態(tài)/ 性能區(qū)214內(nèi)的任何狀態(tài)以原型化新效果。
顯示區(qū)211內(nèi)所顯示的信息可允許應(yīng)用程序開(kāi)發(fā)人員測(cè)量并可視化由圖形裝置的圖形處理單元對(duì)個(gè)別2D或3D元素進(jìn)行的處理的性質(zhì)的大集合。性能分析應(yīng)用程序可使得能夠針對(duì)圖像210內(nèi)的每一個(gè)別經(jīng)渲染元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)而捕捉性能測(cè)量結(jié)果的一個(gè)或一個(gè)以上大集合。從此過(guò)程收集到的信息可幫助所述開(kāi)發(fā)人員較有效地調(diào)諧所述應(yīng)用程序的設(shè)計(jì)或性能特性,以便在目標(biāo)硬件平臺(tái)上較高效地運(yùn)行。舉例來(lái)說(shuō),如上文所注明,顯示區(qū)211內(nèi)所渲染的圖像210的每一元素(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)可被指派有基于經(jīng)執(zhí)行以渲染所述元素的繪制命令的指定性能度量的所計(jì)算度量值的圖形識(shí)別符。所述所計(jì)算的度量值是基于由性能分析應(yīng)用程序接收的性能信息。因?yàn)閳D像210的每一元素是根據(jù)其被指派的圖形識(shí)別符 (例如,色彩、著色、交叉影線)而顯示(如先前所描述且參看圖12進(jìn)一步描述),所以開(kāi)發(fā)人員能夠快速地識(shí)別在根據(jù)給定應(yīng)用程序中已提供的特定繪制命令來(lái)渲染所述元素的過(guò)程中的性能問(wèn)題或影響。圖10為說(shuō)明可由例如圖1或圖2中所展示的性能分析應(yīng)用程序等性能分析應(yīng)用程序顯示的信息的另一實(shí)例的概念圖。在此實(shí)例中,顯示于圖形裝置內(nèi)的窗口 220包括各種指令信息以及度量信息。舉例來(lái)說(shuō),在圖形命令區(qū)208內(nèi),展示各種圖形命令對(duì)2。圖形命令242可為由圖形裝置提供的圖形命令的子集。如圖10的實(shí)例中所展示,圖形命令242包括高級(jí)指令及低級(jí)指令兩者。用戶(例如,應(yīng)用程序開(kāi)發(fā)人員)可使用滾動(dòng)條244來(lái)檢視指令242的全集。特定高級(jí)指令可包括一個(gè)或一個(gè)以上低級(jí)指令,例如較低級(jí)API指令。在一些情況下,應(yīng)用程序開(kāi)發(fā)人員可在特定高級(jí)指令上選擇(例如,通過(guò)點(diǎn)擊),以便檢視任何低級(jí)指令,所述低級(jí)指令為相關(guān)聯(lián)的高級(jí)指令的部分,或由相關(guān)聯(lián)的高級(jí)指令執(zhí)行。在一些實(shí)例中,開(kāi)發(fā)人員能夠檢視區(qū)208內(nèi)的命令,所述命令經(jīng)執(zhí)行以渲染圖像 210的圖形元素。在一些情況下,如果使用圖形識(shí)別符或性質(zhì)(例如,基于所計(jì)算的性能度量值的色彩)展示圖像210的特定元素,那么用戶可能夠選擇此些元素,且從圖形命令區(qū) 208內(nèi)的顯示確定已執(zhí)行哪一(哪些)命令以渲染選定的元素。在一些情況下,區(qū)208內(nèi)的所述命令本身可與同圖像210的經(jīng)渲染元素相同的圖形識(shí)別符相關(guān)聯(lián),使得用戶可將特定命令與經(jīng)渲染的元素相關(guān)聯(lián)。以此方式,用戶能夠更好地理解哪些命令與圖像210中的哪些經(jīng)渲染的元素相關(guān)聯(lián)。在圖10中的狀態(tài)/性能信息區(qū)214下方展示各種選擇按鈕。這些選擇按鈕包括紋理按鈕236、超馳按鈕238及度量按鈕M0。在圖10的實(shí)例中,應(yīng)用程序開(kāi)發(fā)人員已選擇度量按鈕M0。在選擇此按鈕后,可即刻顯示各種度量選項(xiàng)。舉例來(lái)說(shuō),一個(gè)或一個(gè)以上度量按鈕234A到234N可顯示于狀態(tài)/性能區(qū)214上方。每一度量按鈕234A到234N可與一特定度量相關(guān)聯(lián)。在一些情況下,這些度量中的一者或一者以上可為預(yù)先定義或預(yù)先配置的度量類型,且在一些情況下,應(yīng)用程序開(kāi)發(fā)人員可選擇或定制所述度量中的一者或一者以上。實(shí)例度量可包括(例如)以下各項(xiàng)中的任何一者或一者以上每秒的幀、%忙碌(對(duì)于一個(gè)或一個(gè)以上處理器)、總線忙碌、存儲(chǔ)器忙碌、頂點(diǎn)忙碌、每秒的頂點(diǎn)、每秒的三角形、 每秒的像素時(shí)鐘、每秒的片段、每頂點(diǎn)發(fā)出的著色器指令等。應(yīng)用程序開(kāi)發(fā)人員可選擇度量按鈕234A到234N中的任一者來(lái)檢視關(guān)于選定度量的額外細(xì)節(jié)。通過(guò)選擇度量按鈕234A到234N中的一者,開(kāi)發(fā)人員能夠選擇或指定特定性能度量,針對(duì)所述特定性能度量來(lái)計(jì)算特定命令的度量值。舉例來(lái)說(shuō),在從包括圖形處理單元的圖形裝置接收到繪制命令及性能信息的群組后,性能分析應(yīng)用程序(例如,圖1及圖2中所展示的性能分析應(yīng)用程序)能夠基于接收的性能信息(例如,用于圖形處理單元的計(jì)數(shù)器) 來(lái)計(jì)算所述命令的指定度量的度量值。所述指定度量可基于對(duì)度量按鈕234A到234N中的一者的選擇。舉例來(lái)說(shuō),如果度量按鈕234A與每秒的幀的數(shù)目相關(guān)聯(lián),那么應(yīng)用程序開(kāi)發(fā)人員可選擇度量按鈕234A來(lái)檢視關(guān)于圖形圖像210的每秒的幀數(shù)(其與性能有關(guān))的額外細(xì)節(jié),或選擇圖形圖像210的部分。在一些情況下,開(kāi)發(fā)人員可選擇度量按鈕234A,或?qū)⒍攘堪粹o234A拖曳到狀態(tài)/性能信息區(qū)214中。關(guān)于每秒的幀數(shù)的詳細(xì)信息可顯示于狀態(tài)/ 性能信息區(qū)214內(nèi)。開(kāi)發(fā)人員還可將度量按鈕234A拖曳到顯示區(qū)211中,或針對(duì)度量按鈕 234A的應(yīng)用而選擇圖形圖像210的一部分。舉例來(lái)說(shuō),開(kāi)發(fā)人員可在選擇度量按鈕234A之后選擇圖形圖像210的一部分,且接著針對(duì)所述選定部分的每秒的幀數(shù)的詳細(xì)信息可顯示于狀態(tài)/性能信息區(qū)214內(nèi)。以此方式,基于度量按鈕234A到234N中的一者或一者以上的選擇及甚至圖形圖像210或其一部分的可能選擇,開(kāi)發(fā)人員可檢視任何數(shù)目個(gè)不同度量類型的性能數(shù)據(jù)。在一個(gè)實(shí)例中,可由圖形裝置的圖形驅(qū)動(dòng)器(例如,圖5中所展示的圖形驅(qū)動(dòng)器 18A)提供可顯示于窗口 220內(nèi)的度量數(shù)據(jù)。此圖形驅(qū)動(dòng)器可實(shí)施硬件計(jì)數(shù)器模塊(例如, 圖5的硬件計(jì)數(shù)器模塊114)及/或處理器使用模塊(例如,圖5的處理器使用模塊112) 以提供各種數(shù)據(jù),所述數(shù)據(jù)可接著作為度量數(shù)據(jù)而顯示于窗口 220內(nèi)。在一些情況下,開(kāi)發(fā)人員還可選擇紋理按鈕236。在選擇后,圖形裝置可即刻顯示與圖形圖像210有關(guān)的各種形式的紋理信息。舉例來(lái)說(shuō),紋理信息可顯示于窗口 220內(nèi), 例如狀態(tài)/性能信息區(qū)214內(nèi)。在一些情況下,所述紋理信息可顯示于額外(彈出)窗口 (未圖示)內(nèi)。開(kāi)發(fā)人員可檢視所顯示的紋理信息,但在一些情況下還可修改所述紋理信息。在這些情況下,可將對(duì)所述紋理信息作出的任何修改作為所請(qǐng)求的修改傳播回到圖形裝置。在從圖形裝置接收到經(jīng)更新的命令/信息后,對(duì)圖形圖像210的改變可即刻顯示于顯示區(qū)211內(nèi)。在一些情況下,開(kāi)發(fā)人員還可選擇超馳按鈕238。在選擇超馳按鈕238后,可即刻 (例如,在窗口 220或另一窗口內(nèi))顯示例如指令及/或狀態(tài)信息等特定信息,所述信息可由開(kāi)發(fā)人員修改或超馳。任何修改或超馳可包括于發(fā)送到圖形裝置的一個(gè)或一個(gè)以上所請(qǐng)求的修改內(nèi)。在一個(gè)實(shí)例中,圖形裝置可實(shí)施圖形驅(qū)動(dòng)器(例如,圖形驅(qū)動(dòng)器18A(圖5)) 來(lái)處理任何所請(qǐng)求的修改。舉例來(lái)說(shuō),圖形裝置可使用超馳模塊120來(lái)處理包含一個(gè)或一個(gè)以上超馳的此些所請(qǐng)求的修改。在一些情況下,開(kāi)發(fā)人員可超馳展示于圖形命令區(qū)208內(nèi)的一個(gè)或一個(gè)以上圖形命令M2。在這些情況下,開(kāi)發(fā)人員可在圖形命令區(qū)208內(nèi)鍵入或以其它方式輸入信息,以修改或超馳圖形命令M2中的一者或一者以上??山又鴮⑦@些修改發(fā)送到圖形裝置,所述圖形裝置將提供經(jīng)更新的命令/信息以更新圖形圖像210在顯示區(qū)211內(nèi)的顯示。舉例來(lái)說(shuō),開(kāi)發(fā)人員可改變圖形命令242的參數(shù)、排序、類型等,以超馳由指令242提供的一個(gè)或一
28個(gè)以上功能。窗口 220進(jìn)一步包括選擇按鈕230及232。選擇按鈕230為統(tǒng)計(jì)按鈕,且選擇按鈕 232為導(dǎo)航按鈕。開(kāi)發(fā)人員可選擇統(tǒng)計(jì)按鈕230來(lái)檢視與圖形圖像210的顯示相關(guān)聯(lián)的統(tǒng)計(jì)信息。此統(tǒng)計(jì)信息可包含一個(gè)或一個(gè)以上圖表、表格或其它形式的統(tǒng)計(jì)信息。開(kāi)發(fā)人員可檢視統(tǒng)計(jì)信息以獲得對(duì)與圖形圖像210的顯示相關(guān)聯(lián)的各種性能或其它相關(guān)問(wèn)題的較
佳理解。開(kāi)發(fā)人員可選擇導(dǎo)航按鈕232來(lái)在顯示區(qū)211內(nèi)導(dǎo)航,且甚至有可能改變圖形圖像210在顯示區(qū)211內(nèi)的透視圖。舉例來(lái)說(shuō),在選擇導(dǎo)航按鈕232后,可即刻顯示3D圖形相機(jī)或?qū)Ш娇刂破?。開(kāi)發(fā)人員可與所述控制器互動(dòng)以導(dǎo)航到顯示區(qū)211內(nèi)的任何區(qū)。開(kāi)發(fā)人員還可使用所述控制器來(lái)改變圖形圖像210的透視圖(例如,通過(guò)旋轉(zhuǎn)圖形圖像210或放大/縮小)。在一個(gè)實(shí)例中,經(jīng)由選擇導(dǎo)航按鈕232及與圖形導(dǎo)航控制器互動(dòng)而產(chǎn)生的由開(kāi)發(fā)人員起始的任何改變可作為所請(qǐng)求的修改(例如,圖1中所展示的所請(qǐng)求的修改84的部分)而傳播回到圖形裝置??山又褂媒又伤鰣D形裝置提供的經(jīng)更新的命令/信息來(lái)更新圖形圖像210的顯示(例如,透視圖)。另外,經(jīng)更新的指令可顯示于圖形命令區(qū)208 內(nèi)。經(jīng)更新的狀態(tài)/性能信息還可顯示于狀態(tài)/性能信息區(qū)214內(nèi)。因此,開(kāi)發(fā)人員可有效地且高效地確定用于渲染并顯示圖形圖像210的替代透視圖、定向、視圖等可如何影響圖形裝置的性能及狀態(tài)。這可在顯示于顯示裝置201上的模擬環(huán)境中優(yōu)化用以創(chuàng)建并渲染圖形圖像210的圖形命令242且有效地優(yōu)化顯示于圖形裝置上的圖形圖像方面對(duì)開(kāi)發(fā)人員非常有用。圖11為說(shuō)明包括若干個(gè)別地渲染的元素304(例如,星形)、306 (例如,圓形)、 308(例如,立方體)的圖形場(chǎng)景的實(shí)例屏幕圖。一般來(lái)說(shuō),圖形元素可包含一個(gè)或一個(gè)以上繪制命令、圖元、頂點(diǎn)、像素/像素片段等。實(shí)例圖形場(chǎng)景展示(例如)可從應(yīng)用程序(例如,視頻游戲應(yīng)用程序)捕捉的動(dòng)畫(huà)的幀。圖形場(chǎng)景展示于窗口 300內(nèi),在一些情況下,窗口 300可包括于窗口 203(圖9)或窗口 220(圖10)內(nèi)。因此,在這些情況下,可在由性能分析應(yīng)用程序(例如,圖1或圖2中所展示的性能分析應(yīng)用程序)處理圖形元素(例如,繪制命令)期間渲染所述圖形場(chǎng)景。然而,在圖11的圖中,性能分析應(yīng)用程序尚未使用圖形識(shí)別符來(lái)渲染圖形元素 304、306、308,所述圖形識(shí)別符表示與所述圖形元素相關(guān)聯(lián)的性能度量值。在此實(shí)例中,假定性能分析應(yīng)用程序未計(jì)算每元素性能度量,可不啟用每元素?cái)?shù)據(jù)收集(參見(jiàn)(例如)圖 7中的154的“否”分支),使得經(jīng)渲染的元素顯示而不具有任何額外的圖形識(shí)別符或特性 (例如,色彩、交叉影線、著色)。窗口 300在顯示區(qū)(例如,圖9及圖10的顯示區(qū)211)內(nèi)顯示圖形元素304、306、 308。圖形元素304為所述場(chǎng)景內(nèi)的星形;圖形元素306為所述場(chǎng)景內(nèi)的圓形;圖形元素308 為立方體。窗口 300進(jìn)一步包括圖形命令區(qū)302(例如,圖9及圖10的圖形命令區(qū)208)。在圖11的實(shí)例中,可顯示各種不同的高級(jí)命令及/或低級(jí)命令(例如,“命令1”、“命令2”、 “命令3”),例如圖10的區(qū)208內(nèi)所展示的命令。在一些情況下,由應(yīng)用程序執(zhí)行以在所述場(chǎng)景中繪制所述圖形元素的OpenGL ES API調(diào)用的列表可展示于圖形命令區(qū)302中。這些
29OpenGL ES API調(diào)用可包含繪制調(diào)用,所述繪制調(diào)用在由性能分析應(yīng)用程序執(zhí)行時(shí)渲染所展示的場(chǎng)景的各種圖形元素。在一個(gè)特定實(shí)例中,每一繪制調(diào)用可包含“glDrawElements” 調(diào)用,其中對(duì)“glDrawElements”的每一調(diào)用對(duì)應(yīng)于所述場(chǎng)景中的個(gè)別經(jīng)渲染對(duì)象。經(jīng)渲染的元素可包含對(duì)象(例如,圖11中所展示的各種對(duì)象)或其任何部分(例如,圖元、頂點(diǎn)、像素片段、其組合)。在一些情況下,經(jīng)渲染的元素可包含顯示于圖形場(chǎng)景內(nèi)的個(gè)別圖元/頂點(diǎn)/像素/片段等。在這些情況下,特定繪制命令在執(zhí)行后可即刻渲染這些圖元/頂點(diǎn)/像素/片段等中的一者或一者以上。圖11還展示能夠顯示狀態(tài)信息(例如,狀態(tài)調(diào)用)的區(qū)314。各種不同的OpenGL 狀態(tài)調(diào)用可展示于此區(qū)中。在調(diào)用區(qū)302中所展示的任一特定繪制命令之前,性能分析應(yīng)用程序可調(diào)用這些狀態(tài)調(diào)用中的一者或一者以上。所述狀態(tài)調(diào)用可經(jīng)調(diào)用以設(shè)置執(zhí)行所述繪制命令中的一個(gè)或一個(gè)以上可能所需的各種狀態(tài)參數(shù)。圖12為說(shuō)明與圖11的圖形場(chǎng)景相同但根據(jù)所指派的圖形識(shí)別符(例如,色彩、著色、交叉影線)顯示了經(jīng)個(gè)別渲染的元素的圖形場(chǎng)景的實(shí)例屏幕圖。在此特定實(shí)例中,已啟用每元素渲染及數(shù)據(jù)收集(例如,圖7中的154的“是”分支)。除了現(xiàn)根據(jù)所捕捉的性能數(shù)據(jù)以圖形方式呈現(xiàn)圖11的場(chǎng)景以外,圖12展示與圖11中的場(chǎng)景相同的場(chǎng)景。性能分析應(yīng)用程序已針對(duì)區(qū)302中所展示的繪制命令中的每一者而從圖形處理單元收集性能數(shù)據(jù),且已基于所收集的性能數(shù)據(jù)而計(jì)算指定性能度量的值。性能分析應(yīng)用程序還已基于所述指定性能度量的對(duì)應(yīng)所計(jì)算值而將圖形識(shí)別符(例如,色彩、著色識(shí)別符、交叉影線識(shí)別符)指派給所述圖形元素中的每一者,且顯示根據(jù)指派給所述圖形元素的圖形識(shí)別符而渲染的個(gè)別圖形元素304、306、308。一般來(lái)說(shuō),圖形元素可包含在渲染所顯示的場(chǎng)景期間加以處理或執(zhí)行的一個(gè)或一個(gè)以上繪制命令、圖元、頂點(diǎn)、像素/像素片段等。性能分析應(yīng)用程序可針對(duì)若干不同性能度量而計(jì)算每一命令的此些度量值。在圖12的實(shí)例中,在度量區(qū)320中展示實(shí)例性能度量“度量1”。舉例來(lái)說(shuō),“度量1”可包含經(jīng)著色片段或時(shí)鐘的性能度量。“度量1”為當(dāng)前指定的性能度量,針對(duì)所述指定性能度量而計(jì)算所述圖形元素的度量值,以用于使用特定圖形識(shí)別符來(lái)顯示經(jīng)渲染的元
O在所述圖形識(shí)別符包含交叉影線識(shí)別符(如圖12的實(shí)例中所展示)的情況下,如果特定元素的指定性能度量具有較高度量值,從而意味著繪制所述元素可在計(jì)算方面代價(jià)較大(例如,需要較多處理、較高帶寬),那么性能分析應(yīng)用程序可使用交叉影線識(shí)別符(例如,圖案)來(lái)渲染此些元素。如果其它元素具有較低度量值,從而意味著繪制所述元素可在計(jì)算方面代價(jià)較小,那么性能分析應(yīng)用程序可使用另一交叉影線識(shí)別符(例如,圖案)來(lái)渲染所述元素。在另一實(shí)例中,在圖形識(shí)別符包含色彩而非交叉影線識(shí)別符的情況下,如果經(jīng)渲染的元素的指定性能度量具有較高度量值,從而意味著繪制所述元素可在計(jì)算方面代價(jià)較大(例如,需要較多處理、較高帶寬),那么性能分析應(yīng)用程序可以一種色彩(例如,紅色) 來(lái)上色這些元素。如果經(jīng)渲染的元素具有較低度量值,從而意味著繪制所述元素可在計(jì)算方面代價(jià)較小,那么性能分析應(yīng)用程序可以另一色彩(例如,綠色)來(lái)上色所述元素。以此方式來(lái)可視化度量數(shù)據(jù)可允許游戲開(kāi)發(fā)人員(例如)快速地調(diào)查裝置如何渲染特定場(chǎng)景。在圖12的場(chǎng)景中,元素306在色彩上可最紅,或具有特定交叉影線圖案,從而意味著其在圖形處理單元上耗費(fèi)最多的時(shí)鐘循環(huán)來(lái)渲染。經(jīng)渲染的元素可包含對(duì)象,例如圖12中所展示的各種對(duì)象。在一些情況下,經(jīng)渲染的元素可包含顯示于圖形場(chǎng)景內(nèi)的個(gè)別圖元、頂點(diǎn)、像素/像素片段等。在此些情況下, 可使用與特定度量值相關(guān)聯(lián)的圖形識(shí)別符(例如,色彩、著色、交叉影線識(shí)別符)來(lái)顯示圖形場(chǎng)景內(nèi)的元素(而非較大對(duì)象),所述度量值是基于在渲染所述場(chǎng)景期間對(duì)所述元素的處理。因此,用戶能夠在每元素基礎(chǔ)上(例如,每繪制命令、每圖形圖元、每頂點(diǎn)、每像素片段)檢視性能度量數(shù)據(jù),且評(píng)估渲染哪些元素在計(jì)算方面代價(jià)較大。區(qū)320展示與特定命令相關(guān)聯(lián)的個(gè)別水平條形圖。每一條形圖包含對(duì)應(yīng)命令的所計(jì)算度量值的表示。舉例來(lái)說(shuō),“命令1”具有“度量1”的特定所計(jì)算度量值,且區(qū)320中的對(duì)應(yīng)條形圖提供此值的圖形表示。如圖所示,繪制命令“命令1”、“命令2”及“命令3”中的每一者包括其度量“度量1” (例如,經(jīng)著色片段度量、時(shí)鐘度量)的對(duì)應(yīng)度量值的條形圖表
7J\ ο還可根據(jù)已由性能分析應(yīng)用程序指派給對(duì)應(yīng)命令的圖形識(shí)別符來(lái)顯示所述個(gè)別條形圖中的每一者。因此,如果圖形命令“命令1”已被指派“度量1”的特定交叉影線識(shí)別符(例如,圖案),進(jìn)而指示對(duì)于此度量來(lái)說(shuō)執(zhí)行此命令可在計(jì)算方面代價(jià)大,那么還可使用相同的交叉影線識(shí)別符來(lái)顯示或表示在區(qū)320中針對(duì)“命令1”的對(duì)應(yīng)條形圖(例如,位于“命令1”的右側(cè))。以此方式,用戶能夠?qū)⑻囟钆c對(duì)應(yīng)的度量值相關(guān)聯(lián)。假定在此實(shí)例中還使用同一交叉影線識(shí)別符來(lái)顯示或表示元素308,那么用戶能夠確定哪一經(jīng)渲染的元素經(jīng)渲染或以其它方式與特定命令(例如,“命令1”)相關(guān)聯(lián),且接著能夠基于其相關(guān)聯(lián)的識(shí)別符而快速地識(shí)別在計(jì)算方面代價(jià)大的那些元素/命令。在一些情況下,用戶可點(diǎn)擊或選擇所述條形圖來(lái)檢視所計(jì)算的度量的數(shù)值。在圖12的實(shí)例中,“命令1”可經(jīng)執(zhí)行以渲染元素308,“命令2”可經(jīng)執(zhí)行以渲染元素304,且“命令3”可經(jīng)執(zhí)行以渲染元素306。如由區(qū)320中針對(duì)“度量1”的對(duì)應(yīng)條形圖所展示,在給定對(duì)應(yīng)條形圖的長(zhǎng)度的情況下,相比于“命令2” (針對(duì)對(duì)應(yīng)元素304),渲染 “命令1” (針對(duì)對(duì)應(yīng)元素308)可在計(jì)算方面代價(jià)較大。相比于“命令3” (針對(duì)對(duì)應(yīng)元素 306),渲染“命令2” (針對(duì)對(duì)應(yīng)元素304)可在計(jì)算方面代價(jià)較大。本發(fā)明中所描述的技術(shù)可實(shí)施于通用微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或其它等效邏輯裝置內(nèi)。因此,如本文中所使用的術(shù)語(yǔ)“處理器”或“控制器”可指前述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任何一者或一者以上。本文中所說(shuō)明的各種組件可由硬件、軟件、固件或其任何組合的任何合適組合來(lái)實(shí)現(xiàn)。在圖中,將各種組件描繪為單獨(dú)的單元或模塊。然而,參看這些圖而描述的各種組件中的全部或若干組件可集成為共用硬件及/或軟件內(nèi)的組合式單元或模塊。因此,將特征表示為組件、單元或模塊意在為了易于說(shuō)明而醒目提示特定功能特征,且未必要求由單獨(dú)硬件或軟件組件來(lái)實(shí)現(xiàn)此些特征。在一些情況下,各種單元可實(shí)施為由一個(gè)或一個(gè)以上處理器執(zhí)行的可編程進(jìn)程。在本文中描述為模塊、裝置或組件的任何特征(包括圖形裝置100及/或其構(gòu)成組件)可一起實(shí)施于集成邏輯裝置中,或單獨(dú)地作為離散但可共同操作的邏輯裝置而實(shí)施。在各種方面中,此些元素可至少部分地形成為一個(gè)或一個(gè)以上集成電路裝置,所述一個(gè)
31或一個(gè)以上集成電路裝置可統(tǒng)稱為集成電路裝置,例如集成電路芯片或芯片組。此電路可提供于單個(gè)集成電路芯片裝置中或多個(gè)可共同操作的集成電路芯片裝置中,且可用于多種圖像、顯示、音頻或其它多媒體應(yīng)用及裝置中的任一者中。在一些方面中,舉例來(lái)說(shuō),此些組件可形成例如無(wú)線通信裝置手持機(jī)等移動(dòng)裝置的部分。如果以軟件來(lái)實(shí)施,那么所述技術(shù)可至少部分地由包含具有指令的代碼的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)媒體來(lái)實(shí)現(xiàn),所述指令在由一個(gè)或一個(gè)以上處理器執(zhí)行時(shí)執(zhí)行上文所描述的方法中的一者或一者以上。計(jì)算機(jī)可讀媒體可形成計(jì)算機(jī)程序產(chǎn)品(其可包括封裝材料) 的部分。計(jì)算機(jī)可讀媒體可包含例如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)等隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、嵌入式動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(eDRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、快閃存儲(chǔ)器、磁性或光學(xué)數(shù)據(jù)存儲(chǔ)媒體。所述技術(shù)另外或替代地可至少部分地由計(jì)算機(jī)可讀通信媒體實(shí)現(xiàn),所述媒體運(yùn)載或傳達(dá)呈指令或數(shù)據(jù)結(jié)構(gòu)形式的代碼,且可由一個(gè)或一個(gè)以上處理器存取、讀取及/或執(zhí)行。嚴(yán)格地說(shuō),可將任何連接均稱為計(jì)算機(jī)可讀媒體。舉例來(lái)說(shuō),如果使用同軸電纜、光纖纜線、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無(wú)線電及微波等無(wú)線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸軟件,那么同軸電纜、光纖纜線、雙絞線、DSL或例如紅外線、無(wú)線電及微波等無(wú)線技術(shù)包括于媒體的定義中。以上各項(xiàng)的組合也應(yīng)包括在計(jì)算機(jī)可讀媒體的范圍內(nèi)。所利用的任何軟件可由一個(gè)或一個(gè)以上處理器(例如,一個(gè)或一個(gè)以上DSP、通用微處理器、ASIC、FPGA或其它等效集成或離散邏輯電路)執(zhí)行。已在本發(fā)明中描述各種方面。這些及其它方面在所附權(quán)利要求書(shū)的范圍內(nèi)。
權(quán)利要求
1.一種方法,其包含接收由圖形處理單元提供的性能信息,其中所述圖形處理單元已結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素測(cè)量了所述性能信息;通過(guò)計(jì)算裝置基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算值與所述圖形元素中的至少一者相關(guān)聯(lián);基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中將所述圖形識(shí)別符中的一者指派給所述圖形元素中的每一者;及在渲染所述圖形場(chǎng)景時(shí),根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)顯示所述圖形元素。
2.根據(jù)權(quán)利要求1所述的方法,其中接收所述性能信息包含接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值。
3.根據(jù)權(quán)利要求1所述的方法,其中所述圖形元素中的每一者包含用于渲染所述圖形場(chǎng)景的一個(gè)或一個(gè)以上繪制命令、一圖形圖元、一頂點(diǎn),或一像素片段。
4.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含 顯示可選擇性能度量的表示;及接收所述可選擇性能度量中的一者的用戶選擇作為所述性能度量。
5.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)確定所述性能度量的值的范圍, 其中將所述圖形識(shí)別符指派給所述圖形元素包含基于所述圖形元素的所述性能度量的所述所計(jì)算值在值的所述范圍內(nèi)的位置來(lái)將所述圖形識(shí)別符指派給所述圖形元素。
6.根據(jù)權(quán)利要求1所述的方法,其中將圖形識(shí)別符指派給所述繪制命令包含基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將色彩指派給所述圖形元素,且其中將所述色彩中的一者指派給所述圖形元素中的每一者。
7.根據(jù)權(quán)利要求6所述的方法,其中顯示所述圖形元素包含根據(jù)指派給所述圖形元素的所述色彩來(lái)顯示所述個(gè)別圖形元素。
8.根據(jù)權(quán)利要求1所述的方法,其中將所述圖形處理單元包括于所述計(jì)算裝置內(nèi)。
9.根據(jù)權(quán)利要求8所述的方法,其中接收所述性能信息包含接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值,其中所述圖形元素包含像素片段,且其中將所述圖形識(shí)別符指派給所述圖形元素包含通過(guò)使用混合基于所述一個(gè)或一個(gè)以上計(jì)數(shù)器的所述值而組合所述像素片段中的多個(gè)像素片段來(lái)確定所述圖形識(shí)別符。
10.根據(jù)權(quán)利要求1所述的方法,其中將所述圖形處理單元包括于物理上與所述計(jì)算裝置不同的移動(dòng)裝置內(nèi)。
11.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含在通過(guò)所述圖形處理單元處理所述圖形元素中的至少一者之前,確定所述圖形處理單元的至少一個(gè)計(jì)數(shù)器的至少第一值;在通過(guò)所述圖形處理單元處理所述至少一個(gè)圖形元素之后,確定所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少第二值;及基于所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少所述第一與第二值之間的差來(lái)確定所述至少一個(gè)圖形元素的所述性能信息。
12.一種裝置,其包含顯示裝置;及一個(gè)或一個(gè)以上處理器,其耦合到所述顯示裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以接收由圖形處理單元提供的性能信息,其中所述圖形處理單元已結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素測(cè)量了所述性能信息;基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算值與所述圖形元素中的至少一者相關(guān)聯(lián);基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中將所述圖形識(shí)別符中的一者指派給所述圖形元素中的每一者;且當(dāng)在所述顯示裝置上渲染所述圖形場(chǎng)景時(shí),根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)顯示所述圖形元素。
13.根據(jù)權(quán)利要求12所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以至少通過(guò)接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值來(lái)接收所述性能信息。
14.根據(jù)權(quán)利要求12所述的裝置,其中所述圖形元素中的每一者包含用于渲染所述圖形場(chǎng)景的一個(gè)或一個(gè)以上繪制命令、一圖形圖元、一頂點(diǎn),或一像素片段。
15.根據(jù)權(quán)利要求12所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)進(jìn)一步配置以 在所述顯示裝置上顯示可選擇性能度量的表示;且接收所述可選擇性能度量中的一者的用戶選擇作為所述性能度量。
16.根據(jù)權(quán)利要求12所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)進(jìn)一步配置以基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)確定所述性能度量的值的范圍,其中將所述圖形識(shí)別符指派給所述圖形元素包含基于所述圖形元素的所述性能度量的所述所計(jì)算值在值的所述范圍內(nèi)的位置來(lái)將所述圖形識(shí)別符指派給所述圖形元素。
17.根據(jù)權(quán)利要求12所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以至少通過(guò)基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將色彩指派給所述圖形元素而將圖形識(shí)別符指派給所述繪制命令,且其中將所述色彩中的一者指派給所述圖形元素中的每一者ο
18.根據(jù)權(quán)利要求17所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以至少通過(guò)根據(jù)指派給所述圖形元素的所述色彩來(lái)顯示所述個(gè)別圖形元素而顯示所述圖形元素。
19.根據(jù)權(quán)利要求12所述的裝置,其中所述圖形處理單元包括于所述裝置內(nèi)。
20.根據(jù)權(quán)利要求19所述的裝置,其中所述性能信息包含由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值,其中所述圖形元素包含像素片段,且其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以至少通過(guò)使用所述裝置中的混合硬件基于所述一個(gè)或一個(gè)以上計(jì)數(shù)器的所述值而組合所述像素片段中的多個(gè)像素片段來(lái)確定所述圖形識(shí)別符而將所述圖形識(shí)別符指派給所述圖形元素。
21.根據(jù)權(quán)利要求12所述的裝置,其中所述圖形處理單元包括于另一物理上不同的裝置內(nèi)。
22.根據(jù)權(quán)利要求12所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)進(jìn)一步配置以 在通過(guò)所述圖形處理單元處理所述圖形元素中的至少一者之前,確定所述圖形處理單元的至少一個(gè)計(jì)數(shù)器的至少第一值;在通過(guò)所述圖形處理單元處理所述至少一個(gè)圖形元素之后,確定所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少第二值;且基于所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少所述第一與第二值之間的差來(lái)確定所述至少一個(gè)圖形元素的所述性能信息。
23.根據(jù)權(quán)利要求12所述的裝置,其中所述裝置包含無(wú)線通信裝置手持機(jī)。
24.根據(jù)權(quán)利要求12所述的裝置,其中所述裝置包含一個(gè)或一個(gè)以上集成電路裝置。
25.一種裝置,其包含用于接收由圖形處理單元提供的性能信息的裝置,其中所述圖形處理單元已結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素測(cè)量了所述性能信息;用于基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值的裝置,其中每一所計(jì)算值與所述圖形元素中的至少一者相關(guān)聯(lián);用于基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素的裝置,其中將所述圖形識(shí)別符中的一者指派給所述圖形元素中的每一者;及用于在渲染所述圖形場(chǎng)景時(shí)根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)顯示所述圖形元素的裝置。
26.根據(jù)權(quán)利要求25所述的裝置,其中所述用于接收所述性能信息的裝置包含用于接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值的裝置。
27.根據(jù)權(quán)利要求25所述的裝置,其中所述圖形元素中的每一者包含用于渲染所述圖形場(chǎng)景的一個(gè)或一個(gè)以上繪制命令、一圖形圖元、一頂點(diǎn),或一像素片段。
28.根據(jù)權(quán)利要求25所述的裝置,其進(jìn)一步包含用于顯示可選擇性能度量的表示的裝置;及用于接收所述可選擇性能度量中的一者的用戶選擇作為所述性能度量的裝置。
29.根據(jù)權(quán)利要求25所述的裝置,其進(jìn)一步包含用于基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)確定所述性能度量的值的范圍的裝置,其中所述用于將所述圖形識(shí)別符指派給所述圖形元素的裝置包含用于基于所述圖形元素的所述性能度量的所述所計(jì)算值在值的所述范圍內(nèi)的位置來(lái)將所述圖形識(shí)別符指派給所述圖形元素的裝置。
30.根據(jù)權(quán)利要求25所述的裝置,其中用于將圖形識(shí)別符指派給所述繪制命令的裝置包含用于基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將色彩指派給所述圖形元素的裝置,且其中將所述色彩中的一者指派給所述圖形元素中的每一者。
31.根據(jù)權(quán)利要求30所述的裝置,其中所述用于顯示所述圖形元素的裝置包含用于根據(jù)指派給所述圖形元素的所述色彩來(lái)顯示所述個(gè)別圖形元素的裝置。
32.根據(jù)權(quán)利要求25所述的裝置,其中所述用于接收所述性能信息的裝置包含用于接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值的裝置,其中所述圖形元素包含像素片段,且其中所述用于將所述圖形識(shí)別符指派給所述圖形元素的裝置包含用于通過(guò)使用混合基于所述一個(gè)或一個(gè)以上計(jì)數(shù)器的所述值而組合所述像素片段中的多個(gè)像素片段來(lái)確定所述圖形識(shí)別符的裝置。
33.根據(jù)權(quán)利要求25所述的裝置,其進(jìn)一步包含用于在通過(guò)所述圖形處理單元處理所述圖形元素中的至少一者之前確定所述圖形處理單元的至少一個(gè)計(jì)數(shù)器的至少第一值的裝置;用于在通過(guò)所述圖形處理單元處理所述至少一個(gè)圖形元素之后確定所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少第二值的裝置;及用于基于所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少所述第一與第二值之間的差來(lái)確定所述至少一個(gè)圖形元素的所述性能信息的裝置。
34.一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其包含用于致使一個(gè)或一個(gè)以上可編程處理器進(jìn)行以下動(dòng)作的指令接收由圖形處理單元提供的性能信息,其中所述圖形處理單元已結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素測(cè)量了所述性能信息;基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算值與所述圖形元素中的至少一者相關(guān)聯(lián);基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中將所述圖形識(shí)別符中的一者指派給所述圖形元素中的每一者;及在渲染所述圖形場(chǎng)景時(shí)根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)顯示所述圖形元素。
35.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述用以接收所述性能信息的指令包含用以接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值的指令。
36.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述圖形元素中的每一者包含用于渲染所述圖形場(chǎng)景的一個(gè)或一個(gè)以上繪制命令、一圖形圖元、一頂點(diǎn),或一像素片段。
37.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)一步包含用以進(jìn)行以下動(dòng)作的指令顯示可選擇性能度量的表示;及接收所述可選擇性能度量中的一者的用戶選擇作為所述性能度量。
38.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)一步包含用以進(jìn)行以下動(dòng)作的指令基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)確定所述性能度量的值的范圍,其中所述用以將所述圖形識(shí)別符指派給所述圖形元素的指令包含用以基于所述圖形元素的所述性能度量的所述所計(jì)算值在值的所述范圍內(nèi)的位置來(lái)將所述圖形識(shí)別符指派給所述圖形元素的指令。
39.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中用以將圖形識(shí)別符指派給所述繪制命令的指令包含用以基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將色彩指派給所述圖形元素的指令,且其中將所述色彩中的一者指派給所述圖形元素中的每一者。
40.根據(jù)權(quán)利要求39所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述用以顯示所述圖形元素的指令包含用以根據(jù)指派給所述圖形元素的所述色彩來(lái)顯示所述個(gè)別圖形元素的指令。
41.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述用以接收所述性能信息的指令包含用以接收由所述圖形處理單元針對(duì)所述圖形元素中的每一者而收集并提供的一個(gè)或一個(gè)以上計(jì)數(shù)器的值的指令,其中所述圖形元素包含像素片段,且其中所述用以將所述圖形識(shí)別符指派給所述圖形元素的指令包含用以通過(guò)使用混合基于所述一個(gè)或一個(gè)以上計(jì)數(shù)器的所述值而組合所述像素片段中的多個(gè)像素片段來(lái)確定所述圖形識(shí)別符的指令。
42.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)一步包含用以進(jìn)行以下動(dòng)作的指令在通過(guò)所述圖形處理單元處理所述圖形元素中的至少一者之前,確定所述圖形處理單元的至少一個(gè)計(jì)數(shù)器的至少第一值;在通過(guò)所述圖形處理單元處理所述至少一個(gè)圖形元素之后,確定所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少第二值;及基于所述圖形處理單元的所述至少一個(gè)計(jì)數(shù)器的至少所述第一與第二值之間的差來(lái)確定所述至少一個(gè)圖形元素的所述性能信息。
全文摘要
本發(fā)明描述用于顯示經(jīng)渲染的圖形元素的性能度量的視覺(jué)表示的各種技術(shù)。一種實(shí)例方法包含接收由圖形處理單元提供的性能信息,其中所述圖形處理單元已結(jié)合用于渲染圖形場(chǎng)景的個(gè)別圖形元素測(cè)量了所述性能信息;及基于所述性能信息來(lái)計(jì)算所述圖形元素的性能度量的值,其中每一所計(jì)算值與所述圖形元素中的至少一者相關(guān)聯(lián)。所述方法進(jìn)一步包含基于所述圖形元素的所述性能度量的所述所計(jì)算值來(lái)將圖形識(shí)別符指派給所述圖形元素,其中將所述圖形識(shí)別符中的一者指派給所述圖形元素中的每一者;及在渲染所述圖形場(chǎng)景時(shí)根據(jù)指派給所述圖形元素的所述圖形識(shí)別符來(lái)顯示所述圖形元素。
文檔編號(hào)G06T15/00GK102449665SQ201080023211
公開(kāi)日2012年5月9日 申請(qǐng)日期2010年6月2日 優(yōu)先權(quán)日2009年6月2日
發(fā)明者巴巴克·埃爾米, 詹姆斯·P·里茨 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1