專利名稱:在圖形圖像的視覺(jué)創(chuàng)建期間的性能分析的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形圖像的顯示。
背景技術(shù):
圖形處理器廣泛用于針對(duì)各種應(yīng)用程序渲染兩維QD)及三維(3D)圖像,所述應(yīng) 用程序例如為視頻游戲、圖形程序、計(jì)算機(jī)輔助設(shè)計(jì)(CAD)應(yīng)用程序、模擬及可視化工具以 及成像。顯示處理器可用于顯示圖形處理器的經(jīng)渲染輸出以供經(jīng)由顯示裝置呈現(xiàn)給用戶。OpenGL (開(kāi)放圖形庫(kù))為定義可在撰寫(xiě)產(chǎn)生2D圖形及3D圖形的應(yīng)用程序時(shí)使 用的API (應(yīng)用程序編程接口)的標(biāo)準(zhǔn)規(guī)范。例如Java等其它語(yǔ)言可經(jīng)由其自己的標(biāo)準(zhǔn)過(guò) 程定義到OpenGL API的系結(jié)。接口包括可用于根據(jù)簡(jiǎn)單基元繪制場(chǎng)景的多個(gè)函數(shù)調(diào)用或 指令。圖形處理器、多媒體處理器及甚至通用CPU可接著執(zhí)行使用OpenGL函數(shù)調(diào)用撰寫(xiě)的 應(yīng)用程序。OpenGL ES(嵌入式系統(tǒng))為OpenGL的變體,其經(jīng)設(shè)計(jì)以用于例如移動(dòng)無(wú)線電 話、數(shù)字多媒體播放器、個(gè)人數(shù)字助理(PDA)或視頻游戲控制臺(tái)等嵌入式裝置。例如3D圖形應(yīng)用程序等圖形應(yīng)用程序可通過(guò)調(diào)用API或指令來(lái)描述或定義場(chǎng)景 的內(nèi)容,所述API或指令又使用基礎(chǔ)圖形硬件(例如,圖形裝置中的一個(gè)或一個(gè)以上處理 器)來(lái)產(chǎn)生圖像。圖形硬件可經(jīng)歷經(jīng)由這些API實(shí)行的一系列狀態(tài)轉(zhuǎn)變。用于每一 API調(diào) 用(例如,繪圖調(diào)用或指令)的狀態(tài)的整個(gè)集合可描述由硬件借以渲染圖像的過(guò)程。
發(fā)明內(nèi)容
大體來(lái)說(shuō),本發(fā)明涉及用于捕獲及分析圖形指令或調(diào)用流以及從例如移動(dòng)裝置等 圖形裝置發(fā)送的狀態(tài)信息的技術(shù)??筛鶕?jù)應(yīng)用程序編程接口(API)指令產(chǎn)生或編譯所述圖 形指令。所述圖形指令及狀態(tài)信息可經(jīng)由通信媒體發(fā)射到例如個(gè)人計(jì)算機(jī)等應(yīng)用程序計(jì)算 裝置,且用以在模擬環(huán)境內(nèi)顯示圖形圖像(例如,3D圖像)。所述所顯示的圖形圖像可為顯示于圖形裝置上的圖像的表示。所述模擬環(huán)境能夠重新創(chuàng)建圖像或場(chǎng)景(其可包含一系列圖像)。因?yàn)樗瞿M環(huán)境可創(chuàng)建場(chǎng)景,如同其呈現(xiàn) 于所述圖形裝置上,所以應(yīng)用程序開(kāi)發(fā)者可隔離其圖形應(yīng)用程序中的性能問(wèn)題或瓶頸與原 型修改,這可改進(jìn)所述應(yīng)用程序的總體性能。在一個(gè)方面中,一種方法包含從外部圖形裝置接收多個(gè)圖形指令,其中所述圖形 指令由所述外部圖形裝置執(zhí)行以顯示圖形圖像;以及從所述外部圖形裝置接收狀態(tài)信息, 其中所述狀態(tài)信息是與所述圖形指令在所述外部圖形裝置上的執(zhí)行相關(guān)聯(lián)。所述方法進(jìn)一 步包括根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像的表示。在特定情況下,所述 方法進(jìn)一步包括針對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的接收、所述狀態(tài)信息的接 收及顯示所述圖形圖像的所述表示。在特定情況下,所述方法進(jìn)一步包括從所述外部圖形 裝置接收性能信息,其中所述性能信息是與所述圖形指令在所述外部圖形裝置上的執(zhí)行相 關(guān)聯(lián);以及分析所述性能信息以識(shí)別在所述外部圖形裝置執(zhí)行所述圖形指令期間所述外部 圖形裝置上的一個(gè)或一個(gè)以上性能問(wèn)題。本發(fā)明中所描述的技術(shù)可以硬件、軟件、固件或其任何組合來(lái)實(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ī)可讀媒體,且在一些情況下,還可包括封裝材料。在附圖及以下描述中闡述一個(gè)或一個(gè)以上方面的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)點(diǎn)將 從所述描述及圖式中以及從權(quán)利要求書(shū)中顯而易見(jiàn)。
圖1為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的圖形裝置的框圖,所述圖形裝置可將圖形指 令以及狀態(tài)及/或性能信息提供到應(yīng)用程序計(jì)算裝置。圖2為說(shuō)明根據(jù)本發(fā)明的另一方面的圖形裝置的框圖,所述圖形裝置可將圖形指 令以及狀態(tài)及/或性能信息提供到應(yīng)用程序計(jì)算裝置。圖3為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的圖1中所展示的圖形處理系統(tǒng)、圖形驅(qū)動(dòng)程 序及應(yīng)用程序計(jì)算裝置的特定細(xì)節(jié)的框圖。圖4為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可由圖1中所展示的控制處理器、圖形處理 器、頂點(diǎn)處理器及顯示處理器執(zhí)行的操作的額外細(xì)節(jié)的流程圖。圖5為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的圖3中所展示的圖形驅(qū)動(dòng)程序的額外細(xì)節(jié)的 框圖。圖6為根據(jù)本發(fā)明的一個(gè)方面的可由圖1或圖2中所展示的圖形裝置執(zhí)行的方法 的流程圖。圖7為根據(jù)本發(fā)明的一個(gè)方面的可由圖1或圖2中所展示的應(yīng)用程序計(jì)算裝置執(zhí) 行的第一方法的流程圖。
圖8為根據(jù)本發(fā)明的一個(gè)方面的可由圖1或圖2中所展示的應(yīng)用程序計(jì)算裝置執(zhí) 行的第二方法的流程圖。圖9為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的耦合到用于在圖形窗口中顯示信息的顯示 裝置的圖形裝置的實(shí)例的概念圖。圖10為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的耦合到在圖形窗口內(nèi)顯示信息的顯示裝置 的圖形裝置的另一實(shí)例的概念圖。圖11為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可由圖10的顯示裝置顯示的統(tǒng)計(jì)及/或紋 理信息的實(shí)例的圖。圖12為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置上顯示的超 馳屏幕的實(shí)例的屏幕圖。圖13為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置上顯示的超 馳信息的實(shí)例的屏幕圖。圖14為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置上顯示的紋 理信息的實(shí)例的屏幕圖。圖15為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置上顯示的性 能信息的實(shí)例的屏幕圖。
具體實(shí)施例方式圖1為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的圖形裝置2的框圖,所述圖形裝置2可將圖 形指令30以及狀態(tài)及/或性能信息32提供到應(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視臺(tái)(例如,電視)的部分。圖形裝置2還可包含個(gè)人計(jì)算 機(jī)或膝上型裝置。圖形裝置2還可包括在可用于上文所描述的裝置中的一些或全部中的一 個(gè)或一個(gè)以上集成電路或芯片中。在一些情況下,圖形裝置2可能夠執(zhí)行各種應(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??删幊烫幚砥?0、12、14及16可包括在圖形處理系統(tǒng)4內(nèi)??删幊烫幚砥?0為 控制或通用處理器??删幊烫幚砥?2為圖形處理器,可編程處理器14為頂點(diǎn)處理器,且可 編程處理器16為顯示處理器??刂铺幚砥?0可能夠控制圖形處理器12、頂點(diǎn)處理器14及 /或顯示處理器16。在一個(gè)方面中,圖形處理系統(tǒng)4可包括其它形式的多媒體處理器。在圖形裝置2中,圖形處理系統(tǒng)4既耦合到存儲(chǔ)媒體8,又耦合到顯示裝置6。存 儲(chǔ)媒體8可包括能夠存儲(chǔ)指令及/或數(shù)據(jù)的任何永久或易失性存儲(chǔ)器,例如同步動(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可為用于 顯示目的的能夠顯示圖像數(shù)據(jù)的任何裝置,例如LCD (液晶顯示器)、等離子顯示裝置或其 它電視(TV)顯示裝置。頂點(diǎn)處理器14能夠管理頂點(diǎn)信息并處理頂點(diǎn)變換。在一個(gè)方面中,頂點(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)用程序指令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è) 方面中,應(yīng)用程序指令21可包含以空中方式動(dòng)態(tài)地下載到存儲(chǔ)媒體8中的一個(gè)或一個(gè)以上 可下載模塊。在一個(gè)方面中,應(yīng)用程序指令21可包含根據(jù)由應(yīng)用程序開(kāi)發(fā)者創(chuàng)建的應(yīng)用程 序編程接口(API)指令產(chǎn)生或編譯的二進(jìn)制指令的調(diào)用流。圖形驅(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í)例方面中,由圖形處理器12加載并執(zhí)行圖形驅(qū)動(dòng)程序 18。將在下文進(jìn)一步詳細(xì)描述圖形驅(qū)動(dòng)程序18。還如圖1中所展示,圖形處理系統(tǒng)4包括一個(gè)或一個(gè)以上緩沖器15??刂铺幚砥?10、圖形處理器12、頂點(diǎn)處理器14及/或顯示處理器16各自能夠存取緩沖器15,且可將數(shù) 據(jù)存儲(chǔ)于緩沖器15中或從緩沖器15檢索數(shù)據(jù)。緩沖器15可包含高速緩存存儲(chǔ)器,且可能 夠存儲(chǔ)數(shù)據(jù)與指令兩者。舉例來(lái)說(shuō),緩沖器15可包括已從存儲(chǔ)媒體8加載到圖形處理系統(tǒng) 4中的應(yīng)用程序指令21中的一者或一者以上或來(lái)自圖形驅(qū)動(dòng)程序18的一個(gè)或一個(gè)以上指 令。緩沖器15及/或存儲(chǔ)媒體8還可含有在指令執(zhí)行期間使用的圖形數(shù)據(jù)。應(yīng)用程序指令21在特定情況下可包括用于圖形應(yīng)用程序(例如,3D圖形應(yīng)用程 序)的指令。應(yīng)用程序指令21可包含描述或定義包括一個(gè)或一個(gè)以上圖形圖像的圖形場(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)變。還可在應(yīng)用程序指令21的執(zhí)行期間執(zhí)行圖 形驅(qū)動(dòng)程序18內(nèi)的一個(gè)或一個(gè)以上指令以在顯示裝置6上渲染或顯示圖形圖像。用于例如繪圖調(diào)用等指令的狀態(tài)的整個(gè)集合可描述由圖形處理系統(tǒng)4借以渲染 圖像的過(guò)程。然而,已撰寫(xiě)應(yīng)用程序指令21的應(yīng)用程序開(kāi)發(fā)者常??赡芫哂袨榱藢?duì)描述或 渲染所定義場(chǎng)景中的圖像的替代方法進(jìn)行調(diào)試或試驗(yàn)的目的而交互地檢視或修改這些狀 態(tài)的有限能力。另外,不同硬件平臺(tái)(例如,圖2中所展示的圖形處理系統(tǒng)17的平臺(tái))可 具有這些狀態(tài)及/或狀態(tài)轉(zhuǎn)變的不同硬件設(shè)計(jì)及實(shí)施方案。因此,在一個(gè)方面中,應(yīng)用程序開(kāi)發(fā)者可使用圖1中所展示的應(yīng)用程序計(jì)算裝置 20來(lái)輔助處理對(duì)用于描述或渲染場(chǎng)景中的圖像的替代方法的調(diào)試及試驗(yàn)。應(yīng)用程序計(jì)算裝置20耦合到圖形裝置2。舉例來(lái)說(shuō),在一個(gè)方面中,應(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ǔ)器,例如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ) 器(NVRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或快閃存儲(chǔ)器。顯示裝置M可為用于顯示目的的 能夠顯示圖像數(shù)據(jù)的任何裝置,例如LCD(液晶顯示器)、等離子顯示裝置或其它電視(TV) 顯示裝置。應(yīng)用程序計(jì)算裝置20能夠捕獲及分析圖形指令30以及從圖形裝置2發(fā)送的狀態(tài) 及/或性能信息32。在一個(gè)方面中,圖形驅(qū)動(dòng)程序18經(jīng)配置以將圖形指令30及狀態(tài)/性 能信息32發(fā)送到應(yīng)用程序計(jì)算裝置20。圖形指令30可包括應(yīng)用程序指令21中的一者或 一者以上,且狀態(tài)/性能信息32可在圖形指令30于圖形處理系統(tǒng)4內(nèi)執(zhí)行期間產(chǎn)生或捕獲。狀態(tài)/性能信息32包括關(guān)于在指令執(zhí)行期間圖形處理系統(tǒng)4的狀態(tài)及性能的信 息,且將在下文更詳細(xì)地描述。狀態(tài)/性能信息32可包括可與圖形指令30 —起使用或以 其它方式與圖形指令30相關(guān)聯(lián)的圖形數(shù)據(jù)(例如,基元及/或光柵化圖形數(shù)據(jù))。圖形處 理系統(tǒng)4可執(zhí)行圖形指令30以在顯示裝置6上顯示圖像或圖像場(chǎng)景。應(yīng)用程序計(jì)算裝置 20能夠使用圖形指令30以及狀態(tài)/性能信息32來(lái)創(chuàng)建也展示于圖形裝置2的顯示裝置6 上的圖形圖像或場(chǎng)景。模擬應(yīng)用程序觀可由應(yīng)用程序計(jì)算裝置20的處理器22執(zhí)行以在接收到圖形指 令30及狀態(tài)/性能信息32后即刻創(chuàng)建圖形圖像或場(chǎng)景,并在顯示裝置M上顯示所述圖像 或圖像場(chǎng)景。模擬應(yīng)用程序觀可包含含有許多應(yīng)用程序指令的軟件模塊。模擬應(yīng)用程序 觀存儲(chǔ)于存儲(chǔ)媒體26中,且可由處理器22加載及執(zhí)行??蓪⒛M應(yīng)用程序觀預(yù)先加載到 存儲(chǔ)媒體沈中,且可定制模擬應(yīng)用程序觀以與圖形裝置2 —起操作。在一個(gè)方面中,模擬 應(yīng)用程序觀模擬圖形裝置2的硬件操作。可將模擬應(yīng)用程序觀的不同版本存儲(chǔ)于存儲(chǔ)媒 體沈中且由處理器22執(zhí)行以用于具有不同硬件設(shè)計(jì)的不同圖形裝置。在一些情況下,還 可將結(jié)合模擬應(yīng)用程序觀使用的軟件庫(kù)存儲(chǔ)于存儲(chǔ)媒體26內(nèi)。在一個(gè)方面中,模擬應(yīng)用 程序觀可為通用應(yīng)用程序,且特定硬件或圖形裝置模擬功能性可包括于可在執(zhí)行期間與 模擬應(yīng)用程序觀鏈接的每一單獨(dú)庫(kù)內(nèi)。在一個(gè)方面中,可在顯示裝置M上將狀態(tài)/性能信息32的視覺(jué)表示顯示給應(yīng)用 程序開(kāi)發(fā)者。另外,還可顯示圖形指令30的視覺(jué)表示。因?yàn)樵谠S多情況下圖形指令30可 包含二進(jìn)制指令,所以應(yīng)用程序計(jì)算裝置20可使用指令映射信息31來(lái)在顯示裝置M上產(chǎn) 生圖形指令30的視覺(jué)表示。指令映射信息31存儲(chǔ)于存儲(chǔ)媒體沈內(nèi)且可加載到處理器22 中以便顯示圖形指令30的視覺(jué)表示。在一個(gè)方面中,指令映射信息31可包括(例如)查找表內(nèi)的用于將圖形指令30 映射到先前可能已在產(chǎn)生圖形指令30時(shí)編譯的對(duì)應(yīng)API指令的映射信息。應(yīng)用程序開(kāi)發(fā) 者可撰寫(xiě)使用API指令的程序,但這些API指令通常編譯成例如圖形指令30 (其包括在應(yīng)用程序指令21內(nèi))等二進(jìn)制指令以用于在圖形裝置2上執(zhí)行??蓪D形指令30內(nèi)的一個(gè) 或一個(gè)以上指令映射到個(gè)別API指令??山又陲@示裝置M上將經(jīng)映射的API指令顯示 給應(yīng)用程序開(kāi)發(fā)者以提供實(shí)際上正被執(zhí)行的圖形指令30的視覺(jué)表示。在一個(gè)方面中,例如應(yīng)用程序開(kāi)發(fā)者等用戶可能希望改變圖形指令30中的一者 或一者以上以確定(例如)所述改變對(duì)性能的影響。在此方面中,用戶可改變圖形指令30 的視覺(jué)表示??山又褂糜成湫畔?1來(lái)將圖形指令30的視覺(jué)表示內(nèi)的這些改變映射到二 進(jìn)制指令,所述二進(jìn)制指令可接著在所請(qǐng)求修改;34內(nèi)提供回到圖形裝置2,如將在下文更 詳細(xì)描述。如上所述,顯示于應(yīng)用程序計(jì)算裝置20的顯示裝置M上的圖形圖像可為顯示于 圖形裝置2上的圖像的表示。因?yàn)槟M應(yīng)用程序觀可使用圖形指令30及狀態(tài)/性能信息 32來(lái)創(chuàng)建圖像或場(chǎng)景,完全如同其呈現(xiàn)于圖形裝置2上,所以使用應(yīng)用程序計(jì)算裝置20的 應(yīng)用程序開(kāi)發(fā)者可能夠迅速地識(shí)別在圖形應(yīng)用程序30的執(zhí)行期間的潛在性能問(wèn)題或瓶頸 以及甚至原型修改以改進(jìn)圖形應(yīng)用程序30的總體性能。舉例來(lái)說(shuō),應(yīng)用程序開(kāi)發(fā)者可在模擬應(yīng)用程序觀于應(yīng)用程序計(jì)算裝置20上執(zhí)行 及圖像于顯示裝置M上顯示期間選擇對(duì)圖形指令30及/或狀態(tài)/性能信息32作出一個(gè) 或一個(gè)以上所請(qǐng)求修改34。任何此類所請(qǐng)求修改34可基于在圖形指令30的執(zhí)行或狀態(tài)/ 性能信息32的分析期間所觀測(cè)到的性能問(wèn)題或瓶頸??山又鴮⑦@些所請(qǐng)求修改34從應(yīng)用 程序計(jì)算裝置20發(fā)送到圖形裝置2,在圖形裝置2處這些所請(qǐng)求修改34由圖形處理系統(tǒng)4 來(lái)處理。在一個(gè)方面中,在圖形處理系統(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后,即刻(例如)通過(guò)圖形驅(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通過(guò)模擬應(yīng)用程序觀來(lái)處理以更新圖像信息于顯示裝置 M上的顯示,且還將經(jīng)更新的指令/信息35的視覺(jué)表示提供給應(yīng)用程序開(kāi)發(fā)者(其可包括 再次使用指令映射信息31)。應(yīng)用程序開(kāi)發(fā)者可接著檢視顯示裝置M上的經(jīng)更新的圖像信 息以及經(jīng)更新的指令/信息35的視覺(jué)表示,以確定性能問(wèn)題是否已得到解決或緩和。應(yīng)用 程序開(kāi)發(fā)者可使用迭代過(guò)程來(lái)對(duì)圖形指令30或原型修改進(jìn)行調(diào)試以改進(jìn)圖形應(yīng)用程序30 的總體性能。圖2為說(shuō)明根據(jù)本發(fā)明的另一方面的圖形裝置52的框圖,所述圖形裝置52可將 圖形指令80以及狀態(tài)及/或性能信息82提供到應(yīng)用程序計(jì)算裝置20。在此方面中,圖形 裝置52具有不同于圖1中所展示的圖形裝置2的硬件設(shè)計(jì)及架構(gòu)。然而,應(yīng)用程序計(jì)算裝 置20仍能夠與圖形裝置52交互且通過(guò)使用另一模擬應(yīng)用程序四創(chuàng)建圖像信息并顯示圖 形裝置52的性能信息。在圖1中,模擬程序觀經(jīng)設(shè)計(jì)及定制以用于與圖形裝置2 —起使 用。在圖2中,模擬程序四經(jīng)設(shè)計(jì)及定制以用于與圖形裝置52 —起使用。如在圖2中所展示,圖形裝置52包括圖形處理系統(tǒng)M、顯示裝置56以及存儲(chǔ)媒體58。與圖形處理系統(tǒng)4(圖1)不同,圖形處理系統(tǒng)M不包括頂點(diǎn)處理器。圖形處理系統(tǒng)M 包括控制處理器60、圖形處理器62、顯示處理器66以及一個(gè)或一個(gè)以上緩沖器65??刂铺?理器60可控制圖形處理器62及/或顯示處理器66。控制處理器60、圖形處理器62及顯 示處理器66中的每一者能夠存取緩沖器65,緩沖器65可含有數(shù)據(jù)或指令。類似于存儲(chǔ)媒體8 (圖1),圖形裝置52的存儲(chǔ)媒體58能夠存儲(chǔ)指令及驅(qū)動(dòng)程序。 如圖2中所展示,存儲(chǔ)媒體(包含存儲(chǔ)器)包括應(yīng)用程序指令71及一個(gè)或一個(gè)以上圖形驅(qū) 動(dòng)程序68。應(yīng)用程序指令71可包含用于圖形應(yīng)用程序的指令,且圖形驅(qū)動(dòng)程序68可包含 用于在顯示裝置56上顯示圖像數(shù)據(jù)的指令及用于與應(yīng)用程序計(jì)算裝置20通信的指令???將應(yīng)用程序指令71及圖形驅(qū)動(dòng)程序68加載到圖形處理系統(tǒng)M中的控制處理器60、圖形 處理器62及/或顯示處理器66中且由所述處理器來(lái)執(zhí)行。在一些情況下,可將應(yīng)用程序 指令71中的一者或一者以上及來(lái)自圖形驅(qū)動(dòng)程序68的一個(gè)或一個(gè)以上指令加載到緩沖器 65中以用于在圖形處理系統(tǒng)M內(nèi)執(zhí)行。在應(yīng)用程序指令71于圖形處理系統(tǒng)M內(nèi)執(zhí)行期間,圖形驅(qū)動(dòng)程序68中的一者或 一者以上還可在執(zhí)行期間將圖形指令80及狀態(tài)及/或性能信息82發(fā)送到應(yīng)用程序計(jì)算裝 置20。圖形指令80可包含應(yīng)用程序指令71的一部分或子集。狀態(tài)/性能信息82可基于 圖形指令80在控制處理器60、圖形處理器62及顯示處理器66中的一者或一者以上內(nèi)的執(zhí) 行??蓪⒛M應(yīng)用程序四加載到處理器22中的一者或一者以上中且由所述一者或一 者以上來(lái)執(zhí)行以處理圖形指令80及狀態(tài)/性能信息82。如上所述,模擬應(yīng)用程序四可經(jīng) 特定設(shè)計(jì)以模擬圖形裝置52的操作。可通過(guò)創(chuàng)建及執(zhí)行對(duì)應(yīng)模擬應(yīng)用程序來(lái)在應(yīng)用程序 計(jì)算裝置20上模擬圖形裝置的各種類型的設(shè)計(jì)。模擬應(yīng)用程序四可致使處理器22根據(jù)所接收的圖形指令80及狀態(tài)/性能信息 82在顯示裝置M上顯示圖形圖像或場(chǎng)景的表示。此圖像或場(chǎng)景可能最初已顯示于圖形裝 置52的顯示裝置56上,但其表示顯示于顯示裝置M上。另外,模擬應(yīng)用程序四可致使處 理器22在顯示裝置M上顯示狀態(tài)/性能信息82的視覺(jué)表示。應(yīng)用程序計(jì)算裝置20還可 使用指令映射信息33來(lái)在顯示裝置M中提供圖形指令80的視覺(jué)表示。應(yīng)用程序開(kāi)發(fā)者還可在模擬應(yīng)用程序四的執(zhí)行期間選擇對(duì)圖形指令80及/或狀 態(tài)/性能信息82作出一個(gè)或一個(gè)以上所請(qǐng)求修改84。任何此類所請(qǐng)求修改84可基于在圖 形指令80的執(zhí)行或狀態(tài)/性能信息82的分析期間所觀測(cè)到的性能問(wèn)題或瓶頸。可接著將 這些所請(qǐng)求修改84從應(yīng)用程序計(jì)算裝置20發(fā)送到圖形裝置52,在圖形裝置52處這些所請(qǐng) 求修改84可由圖形驅(qū)動(dòng)程序68中的一者或一者以上來(lái)處理。在處理所請(qǐng)求修改84后,即刻由圖形驅(qū)動(dòng)程序68中的所述一者或一者以上將經(jīng) 更新的指令及/或信息85發(fā)送回到應(yīng)用程序計(jì)算裝置20。經(jīng)更新的指令/信息85可包括 經(jīng)更新的圖形指令、經(jīng)更新的狀態(tài)信息及/或經(jīng)更新的性能信息。經(jīng)更新的指令/信息85通過(guò)模擬應(yīng)用程序四來(lái)處理以更新圖像信息于顯示裝置 24上的顯示,且還將經(jīng)更新的指令/信息85的視覺(jué)表示提供給應(yīng)用程序開(kāi)發(fā)者。應(yīng)用程 序開(kāi)發(fā)者可檢視顯示裝置M上的經(jīng)更新的圖像信息以及經(jīng)更新的指令/信息85的視覺(jué)表 示,以確定性能問(wèn)題是否已得到解決或緩和。應(yīng)用程序開(kāi)發(fā)者可使用迭代過(guò)程來(lái)對(duì)圖形指 令80或原型修改進(jìn)行調(diào)試以改進(jìn)圖形應(yīng)用程序80的總體性能。
圖3為說(shuō)明根據(jù)一個(gè)方面的圖1中所展示的圖形處理系統(tǒng)4、圖形驅(qū)動(dòng)程序18及 應(yīng)用程序計(jì)算裝置20的特定細(xì)節(jié)的框圖。在圖3中,假定應(yīng)用程序計(jì)算裝置20耦合到裝置 2的圖形處理系統(tǒng)4。然而,此僅是出于說(shuō)明目的而展示的。在其它情形中,應(yīng)用程序計(jì)算裝 置20可耦合到許多其它形式的圖形處理系統(tǒng)及裝置,例如裝置52的圖形處理系統(tǒng)圖 2)。如圖3中所展示,圖形處理系統(tǒng)4包括四個(gè)可編程處理器控制處理器10、頂點(diǎn)處 理器14、圖形處理器12以及顯示處理器16,所述處理器還展示于圖1中。控制處理器10 可控制頂點(diǎn)處理器14、圖形處理器12或顯示處理器16中的任一者。在許多情況下,這些處 理器10、12、14及16可為系統(tǒng)4內(nèi)的圖形處理管線的部分。控制處理器10可控制穿過(guò)所述管線的數(shù)據(jù)或指令執(zhí)行流程的一個(gè)或一個(gè)以上方 面,且還可將用于圖形圖像的幾何形狀信息提供到頂點(diǎn)處理器14。頂點(diǎn)處理器14可管理可 根據(jù)多個(gè)頂點(diǎn)以基元幾何形狀形式描述或定義的圖形圖像的頂點(diǎn)變換或幾何形狀處理。頂 點(diǎn)處理器14可將其輸出提供到圖形處理器12,圖形處理器12可對(duì)圖形圖像執(zhí)行渲染或光 柵化操作。圖形處理器12可將其輸出提供到顯示處理器16,顯示處理器16以像素形式準(zhǔn) 備圖形圖像以供顯示。圖形處理器12還可對(duì)像素?cái)?shù)據(jù)執(zhí)行各種操作,例如著色或按比例縮 放。常常,可在圖形指令30的執(zhí)行期間在此處理管線中處理圖形圖像數(shù)據(jù),圖形指令 30可為應(yīng)用程序指令21 (圖1)的部分。因此,可由控制處理器10、頂點(diǎn)處理器14、圖形處 理器12及顯示處理器16中的一者或一者以上來(lái)執(zhí)行圖形指令30。應(yīng)用程序開(kāi)發(fā)者通常可 能并不很了解或不能很好地控制圖形處理系統(tǒng)4內(nèi)的哪些特定處理器執(zhí)行圖形指令30中 的哪些指令。在一些情況下,控制處理器10、頂點(diǎn)處理器14、圖形處理器12及顯示處理器 16中的一者或一者以上在圖形指令30的執(zhí)行期間可能具有性能問(wèn)題,或充當(dāng)處理管線內(nèi) 的潛在瓶頸。在這些情況下,圖形處理系統(tǒng)4內(nèi)的總體性能可能劣化,且應(yīng)用程序開(kāi)發(fā)者可 能希望對(duì)圖形指令30作出改變以改進(jìn)性能。然而,開(kāi)發(fā)者可能未必知曉處理器10、12、14 或16中的哪些處理器可能為具有性能問(wèn)題的處理器。為了輔助識(shí)別性能瓶頸及潛在解決方案的問(wèn)題,圖形裝置2的圖形驅(qū)動(dòng)程序18A 可從圖形處理系統(tǒng)4捕獲或收集圖形指令30且將其路由到應(yīng)用程序計(jì)算裝置20,如圖3中 所展示。圖形驅(qū)動(dòng)程序18A為圖1中所展示的圖形驅(qū)動(dòng)程序18的部分。圖形驅(qū)動(dòng)程序18A 可由控制處理器10、頂點(diǎn)處理器14、圖形處理器12及顯示處理器16中的一者或一者以上 加載及執(zhí)行。另外,圖形驅(qū)動(dòng)程序18A還可從控制處理器10、頂點(diǎn)處理器14、圖形處理器12 及顯示處理器16中的一者或一者以上收集狀態(tài)及/或性能信息32且還將此信息32路由 到應(yīng)用程序計(jì)算裝置20。在一個(gè)方面中,當(dāng)圖形指令30包括可能已從OpenGL ES API指令 產(chǎn)生或編譯的二進(jìn)制指令時(shí),圖形驅(qū)動(dòng)程序18A可包含OpenGLES驅(qū)動(dòng)程序。各種形式的狀態(tài)數(shù)據(jù)可包括在狀態(tài)/性能信息32內(nèi)。舉例來(lái)說(shuō),狀態(tài)數(shù)據(jù)可包括 在圖形指令30的執(zhí)行期間使用或以其它方式與圖形指令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權(quán)標(biāo)相關(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ù)可包括幀率或周期數(shù)據(jù)。周期數(shù)據(jù)可包括用于造 型、命令陣列、頂點(diǎn)及索引數(shù)據(jù)或其它操作的周期的數(shù)據(jù)。在各種方面中,各種形式的狀態(tài) 及性能數(shù)據(jù)可包括在由圖形驅(qū)動(dòng)程序18A從圖形處理系統(tǒng)4收集的狀態(tài)/性能信息32內(nèi)。如先前所描述,應(yīng)用程序計(jì)算裝置20可根據(jù)所接收的圖形指令30及狀態(tài)/性能 信息32顯示圖形圖像的表示。應(yīng)用程序計(jì)算裝置20還可顯示狀態(tài)/性能信息32的視覺(jué) 表示。通過(guò)檢視重新創(chuàng)建的圖形圖像及/或狀態(tài)/性能信息32的視覺(jué)表示且與其交互,應(yīng) 用程序開(kāi)發(fā)者可能夠迅速地識(shí)別并解決在圖形指令30的執(zhí)行期間圖形裝置2的圖形處理 系統(tǒng)4內(nèi)的性能問(wèn)題。舉例來(lái)說(shuō),應(yīng)用程序開(kāi)發(fā)者可能夠識(shí)別處理器10、12、14及/或16 中的哪些特定者可能具有性能問(wèn)題。在用于識(shí)別對(duì)任何所識(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的表示交互以創(chuàng)建所請(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可包括用于在 圖形指令30的執(zhí)行期間修改在圖形處理系統(tǒng)4內(nèi)的處理器10、12、14或16中的一者或一 者以上內(nèi)的狀態(tài)信息(其可包括數(shù)據(jù))的請(qǐng)求。圖形驅(qū)動(dòng)程序18A可接著實(shí)施所請(qǐng)求修改 34內(nèi)所包括的圖形處理系統(tǒng)4內(nèi)的改變。這些改變可針對(duì)圖形指令30的執(zhí)行更改處理器 10、12、14及/或16當(dāng)中的執(zhí)行流程。在特定情況下,圖形指令30中的一者或一者以上可 根據(jù)所請(qǐng)求修改;34而在于圖形處理系統(tǒng)4中執(zhí)行期間停用。圖形驅(qū)動(dòng)程序18A能夠響應(yīng)于所請(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)更新的指令/信息35來(lái)顯示圖形圖像的經(jīng)更新的 表示以及經(jīng)更新的指令/信息35的視覺(jué)表示。應(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ā)者可能夠快速且有效地對(duì)模擬圖形裝置2上的圖形處理 系統(tǒng)4的操作的應(yīng)用程序計(jì)算裝置20上的環(huán)境內(nèi)的圖形指令30的執(zhí)行進(jìn)行調(diào)試或分析。 開(kāi)發(fā)者可迭代地與應(yīng)用程序計(jì)算裝置20上所顯示的圖像及狀態(tài)/性能信息交互,以分析場(chǎng) 景中的多個(gè)圖形圖像或多個(gè)圖像幀以最大化圖形指令30的執(zhí)行性能。將在下文更詳細(xì)呈現(xiàn)應(yīng)用程序計(jì)算裝置20上的所述交互及所顯示信息的實(shí)例。圖4為說(shuō)明根據(jù)一個(gè)方面的可由控制處理器10、圖形處理器12、頂點(diǎn)處理器14及 顯示處理器16執(zhí)行的操作的額外細(xì)節(jié)的流程圖。圖4還展示用于幀緩沖器存儲(chǔ)100及顯 示102的操作。在一個(gè)方面中,控制處理器10、頂點(diǎn)處理器14、圖形處理器12及/或顯示 處理器16執(zhí)行由于圖形指令30中的一者或一者以上的執(zhí)行產(chǎn)生的各種操作。如先前所描述,控制處理器10可控制穿過(guò)圖形處理管線的數(shù)據(jù)或指令執(zhí)行流程 的一個(gè)或一個(gè)以上方面,且還可將幾何形狀信息提供到頂點(diǎn)處理器14。如圖4中所展示,控 制處理器10可在90處執(zhí)行幾何形狀存儲(chǔ)。在一些情況下,可由控制處理器10將用于一個(gè) 或一個(gè)以上基元的幾何形狀信息存儲(chǔ)于緩沖器15 (圖1)中。在一些情況下,可將幾何形狀 信息存儲(chǔ)于存儲(chǔ)媒體8中。頂點(diǎn)處理器14可接著在92處獲得由控制處理器提供及/或存儲(chǔ)于緩沖器15中 的用于給定基元的幾何形狀信息以供處理。在特定情況下,頂點(diǎn)處理器14可管理幾何形狀 信息的頂點(diǎn)變換。在特定情況下,頂點(diǎn)處理器14可對(duì)幾何形狀信息執(zhí)行照明操作。頂點(diǎn)處理器14可將其輸出提供到圖形處理器12,圖形處理器12可在94處對(duì)數(shù)據(jù) 執(zhí)行渲染或光柵化操作。圖形處理器12可將其輸出提供到顯示處理器16,顯示處理器16 以像素形式準(zhǔn)備一個(gè)或一個(gè)以上圖形圖像以供顯示。顯示處理器16可在98處對(duì)像素?cái)?shù)據(jù) 執(zhí)行各種操作,包括用于處理數(shù)據(jù)的各種片段的片段處理。在特定情況下,此可包括如此項(xiàng) 技術(shù)中已知的深度測(cè)試、模板測(cè)試、摻合或紋理映射中的一者或一者以上。當(dāng)執(zhí)行紋理映射 時(shí),顯示處理器16可在96處并入有紋理存儲(chǔ)及過(guò)濾信息。在一些情況下,圖形處理器16 可對(duì)光柵化數(shù)據(jù)執(zhí)行其它操作,例如著色或按比例縮放操作。顯示處理器16提供輸出像素信息以供在100處存儲(chǔ)到幀緩沖器中。在一些情況 下,幀緩沖器可包括在緩沖器15 (圖1)內(nèi)。在其它情況下,幀緩沖器可包括在存儲(chǔ)媒體8 內(nèi)。幀緩沖器存儲(chǔ)圖像數(shù)據(jù)的一個(gè)或一個(gè)以上幀,圖像數(shù)據(jù)的所述一個(gè)或一個(gè)以上幀可接 著在102處顯示,例如在顯示裝置6上顯示。如先前所描述,可由控制處理器10、頂點(diǎn)處理器14、圖形處理器12及顯示處理器 16中的一者或一者以上來(lái)執(zhí)行圖形指令30。應(yīng)用程序開(kāi)發(fā)者通常可能并不很了解或不能 很好地控制圖形處理系統(tǒng)4內(nèi)的哪些特定處理器執(zhí)行圖形指令30中的哪些指令。在特定 情況下,控制處理器10、頂點(diǎn)處理器14、圖形處理器12及顯示處理器16中的一者或一者以 上在圖形指令30的執(zhí)行期間可能具有性能問(wèn)題,或充當(dāng)處理管線內(nèi)的潛在瓶頸。應(yīng)用程序 開(kāi)發(fā)者可能常常難以查明瓶頸的位置,或如何最佳地解決或緩和此種瓶頸的影響。因此,在 一個(gè)方面中,可將圖形指令30及/或狀態(tài)信息從圖形裝置2提供到外部計(jì)算裝置(例如, 應(yīng)用程序計(jì)算裝置20)。狀態(tài)信息可包括來(lái)自控制處理器10、頂點(diǎn)處理器14、圖形處理器 12及顯示處理器16中的一者或一者以上的關(guān)于在圖形指令30的執(zhí)行期間發(fā)生的各種操 作(例如,圖4中所展示的那些操作)的數(shù)據(jù)。應(yīng)用程序計(jì)算裝置20可創(chuàng)建圖形圖像,所 述圖形圖像展示于裝置2上,以便幫助以高效且有效的方式識(shí)別并解決瓶頸。圖5為說(shuō)明根據(jù)一個(gè)方面的圖3中所展示的圖形驅(qū)動(dòng)程序18A的額外細(xì)節(jié)的框 圖。如先前所描述,圖形驅(qū)動(dòng)程序18A可包含可在圖形處理系統(tǒng)4內(nèi)執(zhí)行(例如,由控制處 理器10、頂點(diǎn)處理器14、圖形處理器12及顯示處理器16中的一者或一者以上執(zhí)行)的指 令,且可為圖形驅(qū)動(dòng)程序18的部分。圖形驅(qū)動(dòng)程序18A的執(zhí)行允許圖形處理系統(tǒng)4與應(yīng)用程序計(jì)算裝置20通信。在一個(gè)方面中,圖形驅(qū)動(dòng)程序18A可包含可在圖形處理系統(tǒng)M內(nèi) 執(zhí)行的指令,且可為圖形驅(qū)動(dòng)程序68的部分。圖形驅(qū)動(dòng)程序18A在執(zhí)行時(shí)包括各種功能塊,所述功能塊在圖5中展示為輸送接 口 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通信。處理器使用模塊112收集并維持用于控制處理器10、頂點(diǎn)處理器14、圖形處理器 12及顯示處理器16中的一者或一者以上的處理器使用信息。處理器使用信息可包括處理 器周期及/或性能信息。周期數(shù)據(jù)可包括用于造型、命令陣列、頂點(diǎn)及索引數(shù)據(jù)或其它操作 的周期的數(shù)據(jù)。處理器使用模塊112可接著經(jīng)由輸送接口模塊110將所述處理器使用信息 提供到應(yīng)用程序計(jì)算裝置20。在一些情況下,當(dāng)處理器使用模塊112接收到此信息時(shí),其以 異步方式將此信息提供到裝置20。在其它情況下,處理器使用模塊112可在接收到來(lái)自裝 置20的請(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可 異步地將信息提供到裝置20或在請(qǐng)求后即刻將信息提供到裝置20。狀態(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ù)可包括各種其它量度或周期數(shù)據(jù)。 狀態(tài)/性能數(shù)據(jù)模塊116可異步地將信息提供到裝置20或在請(qǐng)求后即刻將信息提供到裝 置20。API追蹤模塊118管理由圖形處理系統(tǒng)4執(zhí)行且經(jīng)由輸送接口模塊110輸送到應(yīng) 用程序計(jì)算裝置20的圖形指令的流程及/或蹤跡。如先前所描述,圖形裝置2將由圖形處 理系統(tǒng)4在其處理管線中執(zhí)行的圖形指令30的復(fù)本提供到裝置20。API追蹤模塊118管 理這些圖形指令30的捕獲及輸送。API追蹤模塊118還可提供與用于將圖形指令30映射 到圖形指令30的視覺(jué)表示的指令映射信息31 (圖1) 一起使用的特定信息,例如可能已用 于產(chǎn)生圖形指令30的API指令。超馳模塊120允許圖形驅(qū)動(dòng)程序18A改變或超馳圖形處理系統(tǒng)4內(nèi)的特定指令的 執(zhí)行。如先前所描述,應(yīng)用程序計(jì)算裝置20可將一個(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可從裝置20 接收用于修改圖形指令30中的一者或一者以上的任何請(qǐng)求以及用于修改狀態(tài)/性能信息32的任何請(qǐng)求,且將所述請(qǐng)求發(fā)送到圖形處理系統(tǒng)4??刂铺幚砥?0、圖形處理器12、頂點(diǎn) 處理器14及顯示處理器16中的一者或一者以上可接著處理這些請(qǐng)求并產(chǎn)生經(jīng)更新的指令 /信息35。超馳模塊120可接著將經(jīng)更新的指令/信息35發(fā)送到應(yīng)用程序計(jì)算裝置20以 供處理,如先前所描述。以此方式,圖形驅(qū)動(dòng)程序18A在圖形裝置2與應(yīng)用程序計(jì)算裝置20之間提供接 口。圖形驅(qū)動(dòng)程序18A能夠?qū)D形指令及狀態(tài)/性能信息32提供到應(yīng)用程序計(jì)算裝置20, 且還從應(yīng)用程序計(jì)算裝置20接收所請(qǐng)求修改34。在處理所述所請(qǐng)求修改34之后,圖形驅(qū) 動(dòng)程序18A隨后能夠?qū)⒔?jīng)更新的指令/信息35提供回到應(yīng)用程序計(jì)算裝置20。圖6為根據(jù)本發(fā)明的一個(gè)方面的可由圖1中所展示的圖形裝置2或圖2中所展示 的圖形裝置52執(zhí)行的方法的流程圖。僅出于說(shuō)明的目的,在隨后描述中將假定,由圖形裝 置2來(lái)執(zhí)行圖6的方法。圖形裝置2可將多個(gè)圖形指令發(fā)送到例如應(yīng)用程序計(jì)算裝置20等計(jì)算裝置 (121)。由圖形裝置2來(lái)執(zhí)行例如圖形指令30等圖形指令以顯示圖形圖像。圖形指令30 可包含根據(jù)應(yīng)用程序編程接口(API)指令產(chǎn)生的二進(jìn)制指令。在一個(gè)方面中,圖形裝置2 可使用圖形驅(qū)動(dòng)程序18A的API追蹤模塊118(圖5)發(fā)送圖形指令30。圖形裝置2還將 狀態(tài)/性能信息32發(fā)送到應(yīng)用程序計(jì)算裝置20 (122)。狀態(tài)/性能信息32是與圖形裝置 2對(duì)圖形指令30的執(zhí)行相關(guān)聯(lián)。在一個(gè)方面中,圖形裝置2可使用圖形驅(qū)動(dòng)程序18A的狀 態(tài)/性能數(shù)據(jù)模塊116發(fā)送狀態(tài)/性能信息32。狀態(tài)/性能信息32可包含來(lái)自圖形裝置 2的執(zhí)行圖形指令30的處理器10、12、14或16中的一者或一者以上的狀態(tài)信息或數(shù)據(jù),且 可包括圖形數(shù)據(jù)。狀態(tài)/性能信息32還可包含從這些處理器10、12、14或16中的一者或 一者以上所搜集的性能量度。在這些情況下,圖形裝置2可使用圖形驅(qū)動(dòng)程序18A的處理 器使用模塊112及/或硬件計(jì)數(shù)器模塊114發(fā)送狀態(tài)/性能信息32。圖形裝置2還能夠從應(yīng)用程序計(jì)算裝置20接收一個(gè)或一個(gè)以上所請(qǐng)求修改 34(123)。這些所請(qǐng)求修改34可致使圖形裝置2修改圖形裝置2對(duì)圖形指令30的執(zhí)行。所 請(qǐng)求修改;34可包括以下請(qǐng)求中的一者或一者以上用于停用圖形指令30中的一者或一者 以上于圖形裝置2上的執(zhí)行的請(qǐng)求、用于在圖形裝置2上修改圖形指令30中的一者或一者 以上的請(qǐng)求,或用于在圖形裝置2上修改狀態(tài)信息的請(qǐng)求。在一個(gè)方面中,圖形裝置2可使 用圖形驅(qū)動(dòng)程序18A的超馳模塊120、API追蹤模塊118及/或狀態(tài)/性能數(shù)據(jù)模塊116接 收所請(qǐng)求修改;34。在處理所請(qǐng)求修改34后,圖形裝置2即刻可基于所請(qǐng)求修改34而將經(jīng)更新的指 令及/或狀態(tài)信息35發(fā)送到應(yīng)用程序計(jì)算裝置20(1 )。在一個(gè)方面中,圖形裝置2可使 用圖形驅(qū)動(dòng)程序18A的API追蹤模塊118及/或狀態(tài)/性能數(shù)據(jù)模塊116發(fā)送經(jīng)更新的指 令/ fn息35。如果圖形裝置2尚未完成處理用于一個(gè)或一個(gè)以上圖形圖像或圖像幀的信息 (125),則圖形裝置可針對(duì)多個(gè)圖像或一圖形圖像的多個(gè)幀重復(fù)圖形指令30的發(fā)送、狀態(tài)/ 性能信息32的發(fā)送、所請(qǐng)求修改34的接收以及經(jīng)更新的指令/信息35的發(fā)送。在一些情 況下,圖形裝置2可根據(jù)圖形指令30及狀態(tài)/性能信息32在顯示裝置6上顯示一個(gè)或一 個(gè)以上圖形圖像。圖7為根據(jù)一個(gè)方面的可由應(yīng)用程序計(jì)算裝置20通過(guò)模擬應(yīng)用程序觀(圖1)或模擬應(yīng)用程序四(圖幻于處理器22上的執(zhí)行來(lái)執(zhí)行的方法的流程圖。應(yīng)用程序計(jì)算裝置 20從外部圖形裝置接收多個(gè)圖形指令(例如,來(lái)自外部圖形裝置2的圖形指令30) (130)。 由圖形裝置2來(lái)執(zhí)行圖形指令30以在顯示裝置6上顯示例如三維(3D)圖形圖像等一個(gè)或 一個(gè)以上圖形圖像。在一個(gè)方面中,圖形指令30包含在執(zhí)行時(shí)渲染圖形圖像的調(diào)用流。在 一個(gè)方面中,所述調(diào)用流包含根據(jù)應(yīng)用程序編程接口(API)指令產(chǎn)生的二進(jìn)制指令。應(yīng)用程序計(jì)算裝置20可從圖形裝置2接收狀態(tài)及/或性能信息32 (132)。狀態(tài)/ 性能信息32是與圖形指令30于圖形裝置2上的執(zhí)行相關(guān)聯(lián)。狀態(tài)/性能信息32可包括 指示圖形裝置2在其渲染圖形圖像時(shí)的一個(gè)或一個(gè)以上狀態(tài)的狀態(tài)信息。狀態(tài)信息可包括 來(lái)自圖形裝置2的執(zhí)行圖形指令30的一個(gè)或一個(gè)以上處理器(例如,控制處理器10、圖形 處理器12、頂點(diǎn)處理器14及/或顯示處理器16)的狀態(tài)信息。狀態(tài)/性能信息32在一些 情況下可包括圖形數(shù)據(jù)(例如,基元數(shù)據(jù)及/或光柵化數(shù)據(jù))。應(yīng)用程序計(jì)算裝置20可根據(jù)圖形指令30及狀態(tài)/性能信息32顯示一個(gè)或一個(gè) 以上圖形圖像的表示(134)。以此方式,應(yīng)用程序計(jì)算裝置20能夠在模擬圖形裝置2的模 擬環(huán)境內(nèi)顯示這些圖形圖像的表示??山?jīng)由模擬應(yīng)用程序觀于應(yīng)用程序計(jì)算裝置20的處 理器22上的執(zhí)行來(lái)提供所述模擬環(huán)境。應(yīng)用程序計(jì)算裝置20在顯示裝置M上顯示圖形指令30及狀態(tài)/性能信息32的 至少一部分(136)。在一些情況下,當(dāng)圖形指令30包括二進(jìn)制指令時(shí),應(yīng)用程序計(jì)算裝置 20顯示圖形指令30的視覺(jué)表示。如先前所描述,應(yīng)用程序計(jì)算裝置20可使用指令映射信 息31來(lái)將圖形指令30映射到指令30的表示。所述表示可包含可視覺(jué)地顯示于顯示裝置 M上的相關(guān)聯(lián)的圖形應(yīng)用程序編程接口(API)指令。還可在顯示裝置M上顯示狀態(tài)/性 能信息32的視覺(jué)表示。如果存在更多幀要處理(138),則可針對(duì)所述一個(gè)或一個(gè)以上圖形 圖像的多個(gè)圖像幀重復(fù)圖形指令的接收(130)、狀態(tài)信息的接收(132)、圖形圖像的表示的 顯示(134)以及指令及狀態(tài)信息的顯示(136)。以此方式,應(yīng)用程序計(jì)算裝置20能夠在顯 示裝置M上顯示靜態(tài)圖形圖像與移動(dòng)圖形圖像(包括3D圖像)兩者。在一個(gè)方面中,處理器22可執(zhí)行模擬應(yīng)用程序觀以在顯示裝置M上顯示導(dǎo)航控 制器。用戶(例如,應(yīng)用程序開(kāi)發(fā)者)可與顯示于顯示裝置M上的圖形用戶接口內(nèi)的所述 導(dǎo)航控制器視覺(jué)交互。圖形用戶接口可接收來(lái)自應(yīng)用程序開(kāi)發(fā)者的用戶輸入以與導(dǎo)航控制 器交互,以改變所述一個(gè)或一個(gè)以上所顯示的圖形圖像的透視圖。可接著基于到導(dǎo)航控制 器的用戶輸入而將圖形圖像的經(jīng)修改的透視圖顯示于圖形用戶接口中。大體來(lái)說(shuō),在將所述一個(gè)或一個(gè)以上圖形圖像視覺(jué)地表示及顯示于顯示裝置M 上之后,模擬應(yīng)用程序28 (在于處理器22上執(zhí)行期間)可接收用戶輸入以修改圖形圖像。 舉例來(lái)說(shuō),如將在下文進(jìn)一步詳細(xì)描述,應(yīng)用程序計(jì)算裝置20可接收用戶輸入,所述用戶 輸入指定對(duì)由外部圖形裝置2 (其中圖形裝置2相對(duì)于應(yīng)用程序計(jì)算裝置20來(lái)說(shuō)為外部 的)對(duì)圖形指令30的執(zhí)行的一個(gè)或一個(gè)以上所請(qǐng)求修改34。在接收到此用戶輸入后,應(yīng)用 程序計(jì)算裝置20即刻將所請(qǐng)求修改34發(fā)送到圖形裝置2以供處理。圖形裝置2可接著處 理所請(qǐng)求修改34,如先前所描述。在一個(gè)方面中,所請(qǐng)求修改34可包括以下請(qǐng)求中的至少 一者用于停用圖形指令30中的一者或一者以上于圖形裝置2上的執(zhí)行的請(qǐng)求、用于在圖 形裝置2上修改圖形指令30中的一者或一者以上的請(qǐng)求,以及用于在圖形裝置2上修改狀 態(tài)/性能信息32的請(qǐng)求。
應(yīng)用程序計(jì)算裝置20可隨后從圖形裝置2接收多個(gè)經(jīng)更新的圖形指令及/或信 息35。所述經(jīng)更新的圖形指令/信息35可與所請(qǐng)求修改34相關(guān)聯(lián)。經(jīng)更新的指令/信 息35可包括與對(duì)由圖形裝置2對(duì)圖形指令30的執(zhí)行的所請(qǐng)求修改34相關(guān)聯(lián)的經(jīng)更新的 狀態(tài)信息。在接收到經(jīng)更新的指令/信息35后,應(yīng)用程序計(jì)算裝置20即刻可根據(jù)經(jīng)更新 的指令/信息35顯示所述一個(gè)或一個(gè)以上圖形圖像的經(jīng)更新的版本。圖8為根據(jù)本發(fā)明的一個(gè)方面的可由應(yīng)用程序計(jì)算裝置20通過(guò)模擬應(yīng)用程序 觀(圖1)或模擬應(yīng)用程序四(圖2、于處理器22上的執(zhí)行來(lái)執(zhí)行的方法的流程圖。在此方 面中,應(yīng)用程序計(jì)算裝置20可從圖形裝置2接收?qǐng)D形指令30 (150)。應(yīng)用程序計(jì)算裝置20 還可從圖形裝置2接收狀態(tài)及/或性能信息32 (152)。在接收到圖形指令30及狀態(tài)/性能 信息32后,應(yīng)用程序計(jì)算裝置20即刻可根據(jù)圖形指令30及狀態(tài)/性能信息32顯示一個(gè) 或一個(gè)以上圖形圖像的表示(巧4)。在創(chuàng)建這些圖像期間或在創(chuàng)建這些圖像后,應(yīng)用程序計(jì)算裝置20可接收輸入以 識(shí)別一個(gè)或一個(gè)以上性能問(wèn)題(156)。舉例來(lái)說(shuō),在一些情況下,應(yīng)用程序計(jì)算裝置20可自 動(dòng)地接收來(lái)自模擬應(yīng)用程序觀的輸入以基于圖形指令30的執(zhí)行及/或基于由圖形裝置2 提供的狀態(tài)/性能信息32的分析而識(shí)別圖形指令30的執(zhí)行中的潛在瓶頸。這些瓶頸可能 與圖形指令30于圖形裝置2的處理管線(例如,控制處理器10、圖形處理器12、頂點(diǎn)處理 器14及/或顯示處理器16)內(nèi)的執(zhí)行相關(guān)聯(lián)。在一些情況下,應(yīng)用程序計(jì)算裝置20可接 收來(lái)自用戶(例如,應(yīng)用程序開(kāi)發(fā)者)的指定或以其它方式識(shí)別在圖形指令30于應(yīng)用程序 計(jì)算裝置20上執(zhí)行期間的一個(gè)或一個(gè)以上性能問(wèn)題的輸入,以創(chuàng)建圖形圖像。在一個(gè)方面中,狀態(tài)/性能信息32包括與圖形指令30于圖形裝置2上的執(zhí)行相 關(guān)聯(lián)的性能信息。應(yīng)用程序計(jì)算裝置20可分析所述性能信息以識(shí)別在圖形裝置2執(zhí)行圖 形指令30期間圖形裝置2上的一個(gè)或一個(gè)以上性能問(wèn)題。在一些情況下,所述性能信息可 包括從可在圖形裝置2上執(zhí)行圖形指令30的處理器10、12、14或16中的一者或一者以上 所搜集的性能量度。當(dāng)應(yīng)用程序計(jì)算裝置20分析從圖形裝置2所接收的性能信息時(shí),其可 識(shí)別這些處理器10、12、14或16中的一者或一者以上中的減小的性能。在識(shí)別到所述問(wèn)題后,應(yīng)用程序計(jì)算裝置20可將對(duì)圖形指令30的執(zhí)行的一個(gè)或 一個(gè)以上所請(qǐng)求修改34發(fā)送到圖形裝置2(158)。在一些情況下,應(yīng)用程序計(jì)算裝置20可 接收指定所請(qǐng)求修改34中的一者或一者以上的用戶輸入。在一個(gè)方面中,所請(qǐng)求修改34 可包括以下請(qǐng)求中的至少一者用于停用圖形指令30中的一者或一者以上在圖形裝置2上 的執(zhí)行的請(qǐng)求、用于在圖形裝置2上修改圖形指令30中的一者或一者以上的請(qǐng)求,以及用 于在圖形裝置2上修改狀態(tài)/性能信息32的請(qǐng)求。在圖形裝置2已處理所請(qǐng)求修改34 (例如先前所描述)之后,應(yīng)用程序計(jì)算裝置 20可從圖形裝置2接收多個(gè)經(jīng)更新的指令及/或信息35 (160)。經(jīng)更新的指令/信息35 可包括經(jīng)更新的圖形指令及/或經(jīng)更新的性能信息。任何經(jīng)更新的圖形指令及/或性能信 息可與對(duì)圖形裝置2對(duì)圖形指令30的執(zhí)行的所請(qǐng)求修改34相關(guān)聯(lián)。應(yīng)用程序計(jì)算裝置20 可接著根據(jù)所述經(jīng)更新的圖形指令及經(jīng)更新的性能信息在顯示裝置M上顯示所述一個(gè)或 一個(gè)以上圖形圖像的經(jīng)更新的表示。應(yīng)用程序計(jì)算裝置20可接著分析所述經(jīng)更新的性能信息以確定先前所識(shí)別的性 能問(wèn)題中的一者或一者以上是否已得到解決(162)。在一些情況下,應(yīng)用程序計(jì)算裝置20可能夠自動(dòng)地分析或處理經(jīng)更新的指令/信息35以確定特定性能問(wèn)題是否已得到解決或 以其它方式得到緩和。在一些情況下,在應(yīng)用程序開(kāi)發(fā)者分析經(jīng)更新的指令/信息35及/ 或?qū)忛喴扬@示于顯示裝置M上的圖形圖像的經(jīng)更新的表示后,應(yīng)用程序開(kāi)發(fā)者即刻可能 夠經(jīng)由用戶輸入向應(yīng)用程序計(jì)算裝置20指示特定性能問(wèn)題已得到解決或以其它方式得到 緩和。應(yīng)用程序計(jì)算裝置20以迭代方式重復(fù)以下動(dòng)作識(shí)別現(xiàn)有性能問(wèn)題,將所請(qǐng)求修 改34發(fā)送到圖形裝置2,以及接收經(jīng)更新的指令及/或信息35,直到所識(shí)別的性能問(wèn)題已 得到解決或以其它方式得到緩和為止。應(yīng)用程序計(jì)算裝置20還針對(duì)視覺(jué)地表示于顯示裝 置M上的所述一個(gè)或一個(gè)以上圖形圖像的多個(gè)圖像幀重復(fù)圖8中所展示的動(dòng)作(164)。 以此方式,應(yīng)用程序計(jì)算裝置20能夠在顯示裝置M上顯示靜態(tài)圖形圖像與移動(dòng)圖形圖像 (包括3D圖像)兩者。圖9為說(shuō)明根據(jù)一個(gè)方面的耦合到用于在圖形窗口 203中顯示信息的顯示裝置 201的圖形裝置200的實(shí)例的概念圖。如果(例如)圖形裝置200為圖形裝置2 (圖1)的 部分,則顯示裝置201可為應(yīng)用程序計(jì)算裝置20中的圖形裝置M的部分。圖形裝置200 能夠顯示3D圖形圖像202。顯示裝置201能夠基于圖形指令及從圖形裝置200發(fā)送的狀態(tài) /性能信息而在窗口 203內(nèi)顯示為圖形圖像202的表示的3D圖形圖像210。顯示裝置201還可能夠顯示這些指令及狀態(tài)/性能信息的視覺(jué)表示,以使得開(kāi)發(fā) 者可改變這些指令及信息以修改圖形圖像210或包括圖形圖像210的整個(gè)場(chǎng)景。顯示裝置 201可包括在耦合到圖形裝置200且能夠從圖形裝置200接收所述指令及狀態(tài)/性能信息 的任何類型的計(jì)算裝置(未圖示)內(nèi)。出于簡(jiǎn)單的目的,在圖10中所展示的概念圖中已省 去包括顯示裝置201的計(jì)算裝置。如先前所描述,圖形裝置200能夠顯示3D圖形圖像202(其在圖9的實(shí)例中為立 方體)。圖形裝置200還具有小鍵盤(pán)204。用戶可與小鍵盤(pán)204交互以操縱圖形裝置200。 小鍵盤(pán)204可包括若干個(gè)鍵及/或按鈕。圖形裝置200能夠經(jīng)由連接器206將圖形指令及 狀態(tài)/性能信息發(fā)送到包括圖形裝置201的裝置(例如,應(yīng)用程序計(jì)算裝置20)。在一個(gè)方 面中,連接器206包含通用串行總線(USB)連接器。在其它方面中,可使用不同形式的連接 器,例如電氣電子工程師協(xié)會(huì)(IEEE) 1394連接器。在一些方面中,無(wú)線通信可替換連接器 206。如圖9的實(shí)例中所展示,顯示裝置201可在圖形用戶接口內(nèi)顯示各種類型的信息。 在此實(shí)例中,顯示裝置201在圖形用戶接口內(nèi)顯示圖形窗口 203。窗口 203包括顯示區(qū)域 211、圖形指令區(qū)域208以及狀態(tài)/性能信息區(qū)域214。顯示區(qū)域211包括3D圖形圖像210, 其如先前所描述為3D圖形圖像202的表示。在此實(shí)例中,3D圖形圖像包含立方體。根據(jù) 一個(gè)方面,顯示于顯示裝置201上的信息包含顯示于圖形裝置202上的信息的表示或模擬 (用于調(diào)試及測(cè)試的目的)。在圖9的實(shí)例中,圖形指令區(qū)域208包括已從圖形裝置200接收的一個(gè)或一個(gè)以 上圖形指令的視覺(jué)表示。如先前所描述,所述指令的視覺(jué)表示可包含所述指令的表示。舉 例來(lái)說(shuō),如果圖形裝置200發(fā)送二進(jìn)制圖形指令,則顯示裝置201可以另一形式顯示所述二 進(jìn)制指令的表示,例如較高級(jí)應(yīng)用程序編程接口(API)指令(例如,OpenGL指令)??墒褂?映射信息(例如,圖1中所展示的映射信息31)來(lái)將所接收的二進(jìn)制指令映射成可在圖形指令區(qū)域208內(nèi)顯示的另一格式。狀態(tài)/性能信息區(qū)域214包括已從圖形裝置200接收的選定狀態(tài)及/或性能信息 的視覺(jué)表示。可使用所接收的圖形指令及狀態(tài)/性能信息來(lái)在顯示區(qū)域內(nèi)顯示3D圖形圖 像210。在一個(gè)方面中,圖形裝置200可利用實(shí)施狀態(tài)/性能數(shù)據(jù)模塊(例如,圖5中所展 示的狀態(tài)/性能數(shù)據(jù)模塊116)的圖形驅(qū)動(dòng)程序來(lái)提供各種狀態(tài)及/或性能數(shù)據(jù)。所接收 的狀態(tài)/性能信息可包括圖形數(shù)據(jù)(例如,基元數(shù)據(jù)及/或光柵化數(shù)據(jù))。窗口 203還包括一個(gè)或一個(gè)以上選擇器212A到212N。用戶可選擇這些選擇器 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)求修改發(fā)送回到圖形裝置 200。圖形裝置200可接著處理這些修改,且提供可接著顯示于圖形指令區(qū)域208及/或狀 態(tài)/性能信息區(qū)域214內(nèi)的經(jīng)更新的指令及/或信息。還可使用所述經(jīng)更新的指令及/或 信息來(lái)在顯示區(qū)域211內(nèi)顯示3D圖形圖像210的經(jīng)修改版本。在一個(gè)方面中,可由包括顯示裝置201的計(jì)算裝置(例如,圖1中所展示的應(yīng)用程 序計(jì)算裝置20)來(lái)分析可顯示于區(qū)域214內(nèi)的狀態(tài)及/或性能信息以識(shí)別在圖形指令于圖 形裝置200上執(zhí)行期間的潛在瓶頸。最終,用戶(例如,應(yīng)用程序開(kāi)發(fā)者)可能希望在調(diào)試 過(guò)程期間檢視窗口 203中所呈現(xiàn)的信息以優(yōu)化圖形指令于圖形裝置200上的執(zhí)行。如先前 所描述,可能在圖形裝置200中的圖形處理管線內(nèi)的任何處引入瓶頸,且應(yīng)用程序開(kāi)發(fā)者 可能難以隔離所述瓶頸以實(shí)現(xiàn)性能優(yōu)化。通過(guò)狀態(tài)及/或性能信息的分析,可在窗口 203 中(例如,在一個(gè)或一個(gè)以上子窗口或彈出窗口內(nèi),或在窗口 203的區(qū)域214內(nèi))顯示潛在 瓶頸及可能的暫時(shí)解決方法。在一個(gè)方面中,窗口 203可顯示關(guān)于從圖形裝置200所接收的圖形指令的調(diào)用流 中所遭遇的瓶頸的報(bào)告,且還可顯示可能的暫時(shí)解決方法。在一些情況下,可將這些可能的 暫時(shí)解決方法作為“如果-則”情形呈現(xiàn)給用戶。舉例來(lái)說(shuō),渲染調(diào)用流中的非優(yōu)化三角形 列表可作為一個(gè)可能情形呈現(xiàn),而貫穿三角形條帶優(yōu)化框架預(yù)先處理所述列表可作為第二 可能情形呈現(xiàn)。用戶可選擇這些可能的暫時(shí)解決方法情形中的任一者作為所請(qǐng)求修改,且 接著將所述所請(qǐng)求修改發(fā)射回到圖形裝置200,在圖形裝置200處可測(cè)量性能。圖形裝置 200接著發(fā)送經(jīng)更新的指令/信息,其可呈現(xiàn)于圖形指令區(qū)域208及/或狀態(tài)/性能信息 區(qū)域214內(nèi)。用戶可接著檢視結(jié)果,且比較各種不同潛在暫時(shí)解決方法的結(jié)果以識(shí)別最佳 解決方案。用戶可使用此過(guò)程來(lái)迅速地識(shí)別可采取以便從其應(yīng)用程序移除瓶頸的一系列步 馬聚ο用戶可迭代地繼續(xù)在窗口 203內(nèi)作出調(diào)整以用于試驗(yàn)或試錯(cuò)調(diào)試的目的。用戶可 試驗(yàn)圖形指令及狀態(tài)/性能信息的各種不同形式或組合以識(shí)別顯示于顯示區(qū)域211內(nèi)的圖像或場(chǎng)景的改變。用戶可使用由窗口 203的內(nèi)容提供的模擬環(huán)境來(lái)交互地檢視并修改圖形 指令(其可為調(diào)用流的部分)以及由圖形裝置200提供的狀態(tài),而不必重新編譯源代碼且 在圖形裝置200上重新執(zhí)行所編譯的代碼。在一些情況下,用戶可操縱按鈕212A到212N中的一者或一者以上以操縱圖形導(dǎo) 航控制器(例如,圖形相機(jī)),以修改圖形圖像210的透視圖??蓪⑺霾倏v捕獲為接著發(fā) 送回到圖形裝置200的所請(qǐng)求修改。接著使用由圖形裝置200提供的經(jīng)更新的指令/信息 來(lái)修改圖形圖像210的透視圖。在一些情況下,可在窗口 203的區(qū)域214中作為可修改的實(shí)體提供各種紋理及/ 或狀態(tài)信息。另外,用戶甚至可選擇(例如)顯示區(qū)域211內(nèi)的圖形圖像210的像素,以便 識(shí)別圖形指令區(qū)域208內(nèi)的一個(gè)或一個(gè)以上對(duì)應(yīng)指令。以此方式,用戶可有效地向后操演 到用于渲染或創(chuàng)建所述像素或圖形圖像210的其它部分的渲染指令或調(diào)用。因?yàn)閳D形裝置 201可在窗口 203中創(chuàng)建圖像210,完全如同其呈現(xiàn)于圖形裝置200上,所以用戶能夠迅速 地隔離其應(yīng)用程序中的問(wèn)題(所述應(yīng)用程序可基于顯示于圖形指令區(qū)域208中的各種圖形 指令),且將狀態(tài)/性能區(qū)域214內(nèi)的任何狀態(tài)修改成原型新效應(yīng)。圖10為說(shuō)明根據(jù)一個(gè)方面的耦合到在圖形窗口 220內(nèi)顯示信息的顯示裝置201 的圖形裝置200的另一實(shí)例的概念圖。在此方面中,窗口 220包括各種指令信息以及量度 fn息ο舉例來(lái)說(shuō),在圖形指令區(qū)域208內(nèi),展示各種圖形指令對(duì)2。圖形指令242可為由 圖形裝置200提供的圖形指令的子集。舉例來(lái)說(shuō),如果圖形裝置200為圖形裝置2的部分, 則圖形指令242可為圖形指令30的子集。在一些情況下,可使用映射信息(例如,圖1中所 展示的映射信息31或圖2中所展示的映射信息3 來(lái)將從圖形裝置200所接收的傳入指 令映射到這些指令的視覺(jué)表示,這些指令的視覺(jué)表示經(jīng)實(shí)質(zhì)化為顯示于圖形指令區(qū)域208 內(nèi)的指令M2。舉例來(lái)說(shuō),如果所接收的指令處于二進(jìn)制形式,則指令242可包含用于產(chǎn)生 呈二進(jìn)制形式的指令的API指令。如圖10的實(shí)例中所展示,圖形指令242包括高級(jí)指令與低級(jí)指令兩者。用戶(例 如,應(yīng)用程序開(kāi)發(fā)者)可使用滾動(dòng)條244來(lái)檢視指令M2的整個(gè)集合。特定高級(jí)指令可包 括一個(gè)或一個(gè)以上低級(jí)指令(例如,較低級(jí)API指令)。應(yīng)用程序開(kāi)發(fā)者在一些情況下可選 擇(例如,例如通過(guò)點(diǎn)擊)特定高級(jí)指令以便檢視為相關(guān)聯(lián)的高級(jí)指令的部分或由相關(guān)聯(lián) 的高級(jí)指令執(zhí)行的任何低級(jí)指令。如先前所描述,使用所接收的圖形指令(例如,指令M2) 來(lái)產(chǎn)生圖形圖像202的表示,所述表示包含展示于窗口 220的顯示區(qū)域211中的圖形圖像 210。在圖10中在狀態(tài)/性能信息區(qū)域214的下方展示各種選擇按鈕。這些選擇按鈕包 括紋理按鈕236、超馳按鈕238以及量度按鈕M0。在圖10的實(shí)例中,應(yīng)用程序開(kāi)發(fā)者已選 擇量度按鈕對(duì)0。在選擇此按鈕后,即刻可顯示各種量度選項(xiàng)。舉例來(lái)說(shuō),可在狀態(tài)/性能區(qū) 域214的上方顯示一個(gè)或一個(gè)以上量度按鈕234A到234N。每一量度按鈕234A到234N可 與特定量度相關(guān)聯(lián)。在一些情況下,這些量度中的一者或一者以上可為預(yù)定義或預(yù)配置的 量度類型,且在一些情況下,應(yīng)用程序開(kāi)發(fā)者可選擇或定制所述量度中的一者或一者以上。 實(shí)例量度可包括(例如)以下各項(xiàng)中的任何一者或一者以上每秒幀數(shù)、忙碌百分比(針對(duì) 一個(gè)或一個(gè)以上處理器)、總線忙碌、存儲(chǔ)器忙碌、頂點(diǎn)忙碌、每秒頂點(diǎn)數(shù)、每秒三角形數(shù)、每秒像素時(shí)鐘數(shù)、每秒片段數(shù)等。應(yīng)用程序開(kāi)發(fā)者可選擇量度按鈕234A到234N中的任一者 以檢視關(guān)于選定量度的額外細(xì)節(jié)。舉例來(lái)說(shuō),如果量度按鈕234A與每秒幀數(shù)相關(guān)聯(lián),則應(yīng)用程序開(kāi)發(fā)者可選擇量度 按鈕234A以檢視關(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中,或選擇圖形圖像210的一部分以 用于應(yīng)用量度按鈕234A。舉例來(lái)說(shuō),開(kāi)發(fā)者可在選擇量度按鈕234A之后選擇圖形圖像210 的一部分,且接著關(guān)于所述選定部分的每秒幀數(shù)的詳細(xì)信息可顯示于狀態(tài)/性能信息區(qū)域 214內(nèi)。以此方式,開(kāi)發(fā)者可基于量度按鈕234A到234N中的一者或一者以上的選擇及甚至 圖形圖像210 (或其一部分)的可能選擇來(lái)檢視針對(duì)任何數(shù)目的不同量度類型的性能數(shù)據(jù)。在一個(gè)方面中,可由圖形裝置200的圖形驅(qū)動(dòng)程序(例如,圖5中所展示的圖形驅(qū) 動(dòng)程序18)來(lái)提供可顯示于窗口 220內(nèi)的量度數(shù)據(jù)。此圖形驅(qū)動(dòng)程序可實(shí)施硬件計(jì)數(shù)器模 塊(例如,圖5的硬件計(jì)數(shù)器模塊114)及/或處理器使用模塊(例如,圖5的處理器使用 模塊11 以提供可接著作為量度數(shù)據(jù)顯示于窗口 220內(nèi)的各種數(shù)據(jù)。 開(kāi)發(fā)者在一些情況下還可選擇紋理按鈕236。在選擇后,即刻可由圖形裝置201來(lái) 顯示與圖形圖像210有關(guān)的各種形式的紋理信息。舉例來(lái)說(shuō),紋理信息可顯示于窗口 220 內(nèi),例如顯示于狀態(tài)/性能信息區(qū)域214內(nèi)。在一些情況下,紋理信息可顯示于額外(例 如,彈出)窗口(未圖示)內(nèi)。開(kāi)發(fā)者可檢視所顯示的紋理信息,但在一些情況下還可修改 紋理信息。在這些情況下,可將對(duì)紋理信息的任何修改作為所請(qǐng)求修改傳播回到圖形裝置 200。在從圖形裝置200接收到經(jīng)更新的指令/信息后,即刻可在顯示區(qū)域211內(nèi)顯示對(duì)圖 形圖像210的改變。圖11包括可在選擇紋理按鈕236后即刻被顯示的特定紋理信息。開(kāi)發(fā)者在一些情況下還可選擇超馳按鈕238。在選擇超馳按鈕238之后,可顯示 (例如,在窗口 220或另一窗口內(nèi))可由開(kāi)發(fā)者修改或超馳的特定信息(例如,指令及/或 狀態(tài)信息)。任何修改或超馳可包括在發(fā)送到圖形裝置200的一個(gè)或一個(gè)以上所請(qǐng)求修改 內(nèi)。在一個(gè)方面中,圖形裝置200可實(shí)施例如圖形驅(qū)動(dòng)程序18A(圖5)等圖形驅(qū)動(dòng)程序,以 處理任何所請(qǐng)求修改。舉例來(lái)說(shuō),圖形裝置200可使用超馳模塊120來(lái)處理包含一個(gè)或一 個(gè)以上超馳的所述所請(qǐng)求修改。在一些情況下,開(kāi)發(fā)者可超馳展示于圖形指令區(qū)域208內(nèi)的圖形指令M2中的一 者或一者以上。在這些情況下,開(kāi)發(fā)者可鍵入或以其它方式在圖形指令區(qū)域208內(nèi)輸入信 息以修改或超馳圖形指令M2中的一者或一者以上。可接著將這些修改發(fā)送到圖形裝置 200,圖形裝置200將提供經(jīng)更新的指令/信息以更新圖形圖像210于顯示區(qū)域211內(nèi)的顯 示。開(kāi)發(fā)者可改變(例如)圖形指令242的參數(shù)、排序、類型等以超馳由指令242提供的一 個(gè)或一個(gè)以上功能。在一個(gè)方面中,可使用映射信息31 (圖1)或映射信息33 (圖2)來(lái)將對(duì) 圖形指令242的改變映射或轉(zhuǎn)換成可接著提供到圖形裝置200的另一格式的對(duì)應(yīng)指令(例 如,二進(jìn)制指令)。在一些情況下,開(kāi)發(fā)者還可選擇超馳按鈕238以超馳與圖形裝置200實(shí)施的處理 管線相關(guān)聯(lián)的一個(gè)或一個(gè)以上功能。圖12展示可在選擇超馳按鈕238后即刻被顯示給開(kāi) 發(fā)者的超馳屏幕的實(shí)例。
窗口 220進(jìn)一步包括選擇按鈕230及232。選擇按鈕230為統(tǒng)計(jì)按鈕,且選擇按鈕 232為導(dǎo)航按鈕。開(kāi)發(fā)者可選擇統(tǒng)計(jì)按鈕230以檢視與圖形圖像210的顯示相關(guān)聯(lián)的統(tǒng)計(jì) 信息。此統(tǒng)計(jì)信息可包含一個(gè)或一個(gè)以上曲線圖、表格,或其它形式的統(tǒng)計(jì)信息。圖11提 供可在用戶選擇統(tǒng)計(jì)按鈕230后即刻被顯示的特定統(tǒng)計(jì)及紋理信息的實(shí)例。開(kāi)發(fā)者可檢視 統(tǒng)計(jì)信息以獲得與圖形圖像210的顯示相關(guān)聯(lián)的各種性能或其它相關(guān)問(wèn)題的較佳理解。開(kāi)發(fā)者可選擇導(dǎo)航按鈕232以在顯示區(qū)域211內(nèi)導(dǎo)航,且甚至可能改變顯示區(qū)域 211內(nèi)的圖形圖像210的透視圖。舉例來(lái)說(shuō),在選擇導(dǎo)航按鈕232后,即刻可顯示3D圖形相 機(jī)或?qū)Ш娇刂破鳌i_(kāi)發(fā)者可與所述控制器交互以導(dǎo)航到顯示區(qū)域211內(nèi)的任何區(qū)域。開(kāi)發(fā) 者還可使用所述控制器來(lái)(例如)通過(guò)使圖形圖像210旋轉(zhuǎn)或放大/縮小而改變圖形圖像 210的透視圖。在一個(gè)方面中,可將經(jīng)由導(dǎo)航按鈕232的選擇及與圖形導(dǎo)航控制器的交互進(jìn)行的 任何開(kāi)發(fā)者起始的改變作為所請(qǐng)求修改(例如,圖1中所展示的所請(qǐng)求修改84的部分)傳 播回到圖形裝置200??山又褂媒又蓤D形裝置200提供的經(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的替代透視、定 向、視圖等可如何影響圖形裝置200的性能及狀態(tài)。這對(duì)于開(kāi)發(fā)者優(yōu)化用于在顯示于顯示 裝置201上的模擬環(huán)境中創(chuàng)建及渲染圖形圖像210的圖形指令242且有效地優(yōu)化顯示于圖 形裝置200上的圖形圖像202可為非常有用的。在一個(gè)方面中,還可將基于窗口 220內(nèi)的 開(kāi)發(fā)者起始的選擇及控制的圖形圖像210的位置、透視、定向等的任何改變視為在測(cè)試過(guò) 程期間對(duì)可顯示于圖形裝置200上的圖形圖像202的改變。通過(guò)與圖形用戶接口內(nèi)的圖形窗口 220的交互,應(yīng)用程序開(kāi)發(fā)者可試圖識(shí)別在圖 形指令242的執(zhí)行期間的性能問(wèn)題及/或瓶頸,圖形指令242為由圖形裝置200執(zhí)行以創(chuàng) 建圖形圖像202的圖形指令的視覺(jué)表示?;谟蓤D形裝置200接收的圖形指令242及狀態(tài) /性能數(shù)據(jù)將圖形圖像202的表示(S卩,圖形圖像210)顯示于顯示區(qū)域211內(nèi)。通過(guò)檢視 圖形指令對(duì)2、圖形圖像210及狀態(tài)/性能信息以及基于對(duì)這些中的一者或一者以上的用戶 起始的修改的效應(yīng),應(yīng)用程序開(kāi)發(fā)者可交互地且動(dòng)態(tài)地進(jìn)行試錯(cuò)或調(diào)試過(guò)程以優(yōu)化指令于 圖形裝置200上的執(zhí)行,且消除或緩和指令執(zhí)行期間的任何性能問(wèn)題(例如,瓶頸)。圖11為說(shuō)明根據(jù)一個(gè)方面的可由圖10的顯示裝置201顯示的統(tǒng)計(jì)及/或紋理信 息250的實(shí)例的圖。舉例來(lái)說(shuō),可在用戶選擇紋理按鈕236后即刻顯示統(tǒng)計(jì)/紋理信息250 的一個(gè)或一個(gè)以上部分。還可在用戶選擇統(tǒng)計(jì)按鈕230后即刻顯示統(tǒng)計(jì)/紋理信息250的 一個(gè)或一個(gè)以上部分。圖11中所展示的統(tǒng)計(jì)/紋理信息250包括各自可具有一個(gè)或一個(gè)以上值的若干 個(gè)實(shí)例統(tǒng)計(jì)及/或紋理字段。舉例來(lái)說(shuō),信息250包括用于渲染及顯示圖形圖像210可能 需要的渲染調(diào)用的數(shù)目(與圖形指令242相關(guān)聯(lián))的值。因?yàn)榇翱?220中所展示的數(shù)據(jù)是 基于圖形裝置200的模擬,所以渲染調(diào)用的數(shù)目可有效地指示在圖形裝置200上渲染及顯 示圖形圖像202可能需要的調(diào)用的數(shù)目。渲染調(diào)用可與圖形指令242中的一者或一者以上 (例如,一個(gè)或一個(gè)以上高級(jí)指令及/或低級(jí)指令)相關(guān)聯(lián)。統(tǒng)計(jì)/紋理信息250還包括每渲染調(diào)用的平均紋理改變及每渲染調(diào)用的平均狀態(tài)改變的值。這些值可向開(kāi)發(fā)者提供關(guān)于可影響總體性能的紋理及/或狀態(tài)改變的數(shù)目的信 肩、ο對(duì)于圖形圖像210中的圖像數(shù)據(jù)的特定幀,統(tǒng)計(jì)/紋理信息250可包括經(jīng)渲染以 創(chuàng)建圖像數(shù)據(jù)的所述幀的基元的頂點(diǎn)數(shù)目及三角形數(shù)目的值。另外,還顯示每渲染調(diào)用的 平均三角形數(shù)及每渲染調(diào)用的平均頂點(diǎn)數(shù)的值。這些值對(duì)于應(yīng)用程序開(kāi)發(fā)者估計(jì)通過(guò)圖形 指令實(shí)施的渲染調(diào)用的效率可為有幫助的。統(tǒng)計(jì)/紋理信息250還包括紋理大小信息。如圖11的底部附近處所展示,信息250 可提供一個(gè)或一個(gè)以上紋理大小的值(例如,64X64、64X128、U8X128、256X256),其指 示用于圖形圖像210的每一紋理大小的數(shù)字。另外,統(tǒng)計(jì)/紋理信息250還包括與渲染性能及效率有關(guān)的各種值。舉例來(lái)說(shuō),信 息250包括用于圖形圖像210的優(yōu)化紋理的百分比的值。在一些情況下,包括顯示裝置201 的計(jì)算裝置(例如,應(yīng)用程序計(jì)算裝置20)可基于圖形指令及/或從圖形裝置200所接收的 狀態(tài)/性能信息而計(jì)算此值。應(yīng)用程序開(kāi)發(fā)者可能通常想要此百分比值盡可能高。如果此 百分比值低于所要值,則開(kāi)發(fā)者可操縱或改變圖形指令、狀態(tài)信息、性能信息或窗口 220內(nèi) 的其它參數(shù)以將一個(gè)或一個(gè)以上所請(qǐng)求修改提供到圖形裝置200。在從圖形裝置200接收 到經(jīng)更新的指令/信息后,即刻可針對(duì)優(yōu)化紋理的百分比顯示經(jīng)更新的值。開(kāi)發(fā)者可(例 如)在調(diào)試或試錯(cuò)會(huì)話期間繼續(xù)此過(guò)程,以優(yōu)化提供于窗口 220中的模擬環(huán)境內(nèi)的紋理。開(kāi) 發(fā)者可能夠以有效且高效的方式進(jìn)行此操作,而不必重新編譯任何代碼/指令。統(tǒng)計(jì)/紋理信息250進(jìn)一步包括經(jīng)編索引及條帶化的頂點(diǎn)的百分比的值。這些值 可指示用于圖形圖像210的渲染及顯示的優(yōu)化三角形的百分比。應(yīng)用程序開(kāi)發(fā)者可能通 常想要經(jīng)編索引及條帶化的頂點(diǎn)的百分比值盡可能高。如果所述百分比值低于所要值,則 開(kāi)發(fā)者可操縱或改變圖形指令、狀態(tài)信息、性能信息或窗口 220內(nèi)的其它參數(shù)以將一個(gè)或 一個(gè)以上所請(qǐng)求修改提供到圖形裝置200。在從圖形裝置200接收到經(jīng)更新的指令/信息 后,即刻可針對(duì)這些百分比值顯示經(jīng)更新的值。開(kāi)發(fā)者可繼續(xù)此過(guò)程以獲得優(yōu)化數(shù)目的三 角形,而不必重新編譯任何代碼/指令或?qū)D形裝置200進(jìn)行耗時(shí)或冗長(zhǎng)的調(diào)試操作。圖12為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置201上顯示 的超馳屏幕260的屏幕圖。應(yīng)用程序開(kāi)發(fā)者可檢視超馳屏幕260且作出對(duì)顯示于超馳屏幕 260內(nèi)的信息的一個(gè)或一個(gè)以上選擇以超馳由圖形裝置200提供的一個(gè)或一個(gè)以上功能, 進(jìn)而更改圖形裝置200上的指令執(zhí)行的流程。在一些情況下,可在用戶選擇超馳按鈕238后即刻顯示超馳屏幕沈0。超馳屏幕 260可作為屏幕220的部分來(lái)顯示,或可作為單獨(dú)窗口(例如,彈出窗口)來(lái)顯示。超馳屏 幕260展示可由圖形裝置200實(shí)施的圖形處理管線的視覺(jué)表示。在一個(gè)方面中,圖形裝置 200可包含圖1中所展示的圖形裝置2,在所述情況下,圖形裝置200可包括控制處理器、頂 點(diǎn)處理器、圖形處理器及顯示處理器。因此,超馳屏幕沈0中所展示的圖形處理管線的視覺(jué) 表示可包括控制處理器圖標(biāo)沈2、頂點(diǎn)處理器圖標(biāo)沈4、圖形處理器圖標(biāo)沈6以及顯示處理 器圖標(biāo)洸8。每一圖標(biāo)沈2、沈4、266及268是與圖形裝置200內(nèi)的對(duì)應(yīng)處理器相關(guān)聯(lián)。這些圖 標(biāo)可包含圖形圖標(biāo)、文本圖標(biāo)或其它形式的圖標(biāo)。應(yīng)用程序開(kāi)發(fā)者可(例如)通過(guò)在超馳屏 幕沈0內(nèi)點(diǎn)擊圖標(biāo)來(lái)選擇圖標(biāo)沈2、沈4、266或沈8中的一者或一者以上。在選擇圖標(biāo)(例如,圖形處理器圖標(biāo)沈6)后,超馳屏幕沈0即刻顯示與圖標(biāo)266相關(guān)聯(lián)的對(duì)應(yīng)菜單271 (例 如,下拉式菜單)。在圖12的實(shí)例中,菜單271包括四個(gè)可選擇的選項(xiàng)選項(xiàng)270(用于停用α/透明 度操作)、選項(xiàng)272 (用于停用摻合操作)、選項(xiàng)274 (用于停用Z拒絕操作)以及選項(xiàng)276 (用 于停用深度測(cè)試操作)。與選項(xiàng)270、272、274及276相關(guān)聯(lián)的操作中的每一者對(duì)應(yīng)于可由 圖形裝置200內(nèi)的圖形處理器執(zhí)行的操作。圖12展示已針對(duì)用于停用α (透明度)操作的選項(xiàng)270作出用戶選擇。在用戶 選擇選項(xiàng)270后,即刻可將所請(qǐng)求修改發(fā)送到圖形裝置200以停用α操作。如果圖形裝置 200實(shí)施圖5中所展示的圖形驅(qū)動(dòng)程序18Α,則圖形裝置200可使用超馳模塊120來(lái)處理所 請(qǐng)求修改或超馳。超馳模塊120可接著將超馳請(qǐng)求發(fā)送到對(duì)應(yīng)圖形處理器(例如,圖1中 所展示的圖形處理器12)以停用α操作。類似地,應(yīng)用程序編程員可選擇選項(xiàng)272以停用圖形處理器上的摻合操作。開(kāi)發(fā) 者可選擇選項(xiàng)274以停用Z拒絕操作。開(kāi)發(fā)者可選擇選項(xiàng)276以停用與圖形處理器內(nèi)的深 度測(cè)試有關(guān)的操作。在圖12的實(shí)例中,開(kāi)發(fā)者可(例如)通過(guò)停用可能先前已啟用的一個(gè)或一個(gè)以上 操作來(lái)超馳與圖形裝置200的圖形處理器相關(guān)聯(lián)的一個(gè)或一個(gè)以上功能。在一些情況下, 開(kāi)發(fā)者可使用類似于菜單271的另一菜單來(lái)重新啟用先前停用的任何操作,例如α、摻合、 Z拒絕及/或深度測(cè)試操作。因此,開(kāi)發(fā)者可連續(xù)地且迭代地超馳或改變圖形處理器的各種功能及操作,且接 著確定所述改變?nèi)绾斡绊懶阅?。舉例來(lái)說(shuō),開(kāi)發(fā)者可通過(guò)選擇菜單選項(xiàng)270來(lái)停用α操作, 且接著檢視在停用所述操作后即刻由圖形裝置200提供的經(jīng)更新的狀態(tài)/性能信息,以確 定任何先前的性能問(wèn)題(例如,與圖形裝置200的圖形處理器有關(guān)的那些性能問(wèn)題)是否 已得到解決或緩和。開(kāi)發(fā)者還可審閱統(tǒng)計(jì)信息(例如,圖11中所展示的實(shí)例信息的類型), 以基于α操作的停用來(lái)評(píng)估性能的改變或可能的改進(jìn)。另外,可在停用α操作后即刻在 窗口 220(圖10)中顯示圖形圖像210的經(jīng)更新的版本及經(jīng)更新的指令M2。當(dāng)然,在其它情形中,應(yīng)用程序開(kāi)發(fā)者可停用或啟用與圖形處理器相關(guān)聯(lián)的其它 功能。另外,開(kāi)發(fā)者可停用或啟用與圖形裝置200中的其它處理器(例如,控制處理器、頂 點(diǎn)處理器及/或顯示處理器)相關(guān)聯(lián)的功能。舉例來(lái)說(shuō),開(kāi)發(fā)者可選擇控制處理器圖標(biāo)沈2 以檢視類似于菜單271的菜單,所述菜單可包括用于停用或啟用與控制處理器(例如,圖1 中所展示的控制處理器10)相關(guān)聯(lián)的一個(gè)或一個(gè)以上功能的一個(gè)或一個(gè)以上可選擇的選 項(xiàng)??蓪?duì)這些功能的任何改變提供為發(fā)送到圖形裝置200以供(例如)超馳模塊120處 理的一個(gè)或一個(gè)以上所請(qǐng)求修改??山又蓤D形裝置200提供經(jīng)更新的指令及/或其它信 息(例如,狀態(tài)及/或性能信息)以更新窗口 220中所展示的信息,使得開(kāi)發(fā)者可確定與控 制處理器有關(guān)的任何性能問(wèn)題或瓶頸是否已得到解決或以其它方式得到緩和。圖13為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置201上顯示 的超馳信息的實(shí)例的屏幕圖。在此方面中,超馳信息展示于圖形窗口觀0內(nèi)。圖形圖像210 展示于顯示區(qū)域211內(nèi)。如先前所描述,用戶可請(qǐng)求一個(gè)或一個(gè)以上超馳以修改圖形圖像 210于顯示區(qū)域211內(nèi)的顯示。在一種情形中,用戶可選擇超馳按鈕238(圖10)來(lái)作出一 個(gè)或一個(gè)以上超馳選擇。圖13展示可在用戶選擇超馳按鈕238后即刻被顯示于窗口 280內(nèi)的超馳信息的實(shí)例。圖13展示三個(gè)實(shí)例超馳超馳A、超馳B、超馳C。這三個(gè)實(shí)例超馳中的每一者可 對(duì)應(yīng)于任何超馳功能,例如停用功能、啟用功能或其類似者(包括圖12中所展示的那些功 能)。另外,這三個(gè)實(shí)例超馳中的每一者可與一個(gè)或一個(gè)以上處理器的功能性相關(guān)聯(lián)。因此, 用戶可選擇所述超馳中的一者或一者以上以更改一個(gè)或一個(gè)以上處理器的行為,以便啟用 或停用這些處理器的特定操作。每一超馳(超馳A、超馳B及超馳C)可具有可由用戶選擇或以其它方式配置的對(duì) 應(yīng)參數(shù)或選項(xiàng)。舉例來(lái)說(shuō),超馳A具有超馳參數(shù)2微,超馳B具有超馳參數(shù)^2B,且超馳C 具有超馳參數(shù)^2C。用戶可通過(guò)修改對(duì)應(yīng)參數(shù)而定制所述超馳中的每一者。舉例來(lái)說(shuō),如 果超馳A對(duì)應(yīng)于用于停用摻合的超馳,則用戶可選擇或改變超馳參數(shù)以修改或定制用 于停用摻合的超馳功能性。超馳參數(shù)觀2々還可包括一個(gè)或一個(gè)以上處理器的識(shí)別。舉例 來(lái)說(shuō),如果用戶希望停用一圖形處理器上的摻合,則超馳參數(shù)282A可包括所述圖形處理器 的識(shí)別??蓪⒂脩羲?qǐng)求的任何超馳包括在發(fā)送回到圖形裝置的所請(qǐng)求修改34內(nèi)。圖形 裝置可接著處理所述所請(qǐng)求修改34,如先前所描述,且提供經(jīng)更新的指令/信息35。經(jīng)更 新的指令/信息35可用于更新圖形圖像210于顯示區(qū)域211內(nèi)的顯示。圖14為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置201上顯示 的紋理信息的實(shí)例的屏幕圖。在此方面中,紋理信息展示于圖形窗口四0內(nèi)。圖形圖像210 展示于顯示區(qū)域211內(nèi)。用戶可修改圖形圖像210的一個(gè)或一個(gè)以上紋理,所述一個(gè)或一 個(gè)以上紋理可接著展示于顯示區(qū)域211內(nèi)。舉例來(lái)說(shuō),在圖14中,用戶可選擇紋理四4、296及/或四8中的任一者。在圖14 中,假定用戶已選擇紋理四4,如圖所示??稍诖翱谒?內(nèi)顯示及選擇任何數(shù)目的不同紋理, 且僅出于說(shuō)明的目的而展示圖14中所顯示的紋理。在用戶選擇紋理294后,選定紋理294的放大表示即刻展示于紋理區(qū)域300中。用 戶可接著將紋理294應(yīng)用于圖形圖像210的一個(gè)或一個(gè)以上部分。在一種情形中,用戶可 將紋理294從紋理區(qū)域300拖曳到顯示區(qū)域211中且將所述紋理應(yīng)用于圖形圖像210的所 要部分。在圖14的實(shí)例中,用戶已將紋理294應(yīng)用于圖形圖像210的所指示部分。以此方 式,用戶可選擇一個(gè)或一個(gè)以上紋理(例如,紋理四4、四6、四8)中的任一者且將所述紋理 應(yīng)用于圖形圖像210,且還檢視顯示區(qū)域211內(nèi)的圖形圖像210的對(duì)應(yīng)改變。可將由用戶選定或應(yīng)用的任何紋理包括在發(fā)送回到圖形裝置的所請(qǐng)求修改34 內(nèi)。圖形裝置可接著處理所述所請(qǐng)求修改34,如先前所描述,且提供經(jīng)更新的指令/信息 35。經(jīng)更新的指令/信息35可用于更新圖形圖像210于顯示區(qū)域211內(nèi)的顯示。圖15為說(shuō)明根據(jù)本發(fā)明的一個(gè)方面的可在圖10中所展示的圖形裝置201上顯示 的性能信息的實(shí)例的屏幕圖。在此方面中,性能信息展示于圖形窗口 302內(nèi)。在圖15的實(shí) 例中,由性能曲線304表示性能信息。曲線304沿著橫軸展示時(shí)間,且沿著縱軸展示處理器 使用百分比(%)。處理器使用百分比可對(duì)應(yīng)于圖形處理系統(tǒng)內(nèi)的一個(gè)或一個(gè)以上處理器 (例如,控制處理器、顯示處理器、頂點(diǎn)處理器及/或圖形處理器)的百分比使用。通過(guò)連續(xù)地監(jiān)視性能曲線304,用戶可能夠評(píng)估所請(qǐng)求修改34內(nèi)的對(duì)圖形裝置所 進(jìn)行的或發(fā)送回到圖形裝置的任何改變的有效性。舉例來(lái)說(shuō),用戶可更新圖形指令,更新?tīng)顟B(tài)/性能信息,修改圖形圖像的透視圖,起始一個(gè)或一個(gè)以上超馳,改變紋理,或進(jìn)行其它 修改以嘗試解決或以其它方式緩和在圖形應(yīng)用程序的執(zhí)行期間所觀測(cè)到的任何性能問(wèn)題 或瓶頸。特定改變可通過(guò)減小百分比使用(或處理器利用)來(lái)改進(jìn)性能,而其它改變可增 加處理器利用。為了幫助識(shí)別對(duì)圖形應(yīng)用程序的最佳或合意的解決方案或改變(例如,導(dǎo) 致較低或減小的處理器利用的那些解決方案或改變),用戶可連續(xù)地監(jiān)視性能曲線304以 查明任何所實(shí)施的改變(例如,所請(qǐng)求修改;34內(nèi)所包括的那些改變)隨時(shí)間的效應(yīng)。本發(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ō)明的各種組件可通過(guò)硬件、軟件、固件或其任何組合的任何合適組合 來(lái)實(shí)現(xiàn)。在圖式中,各種組件經(jīng)描繪為單獨(dú)單元或模塊。然而,參看這些圖式所描述的各種 組件的全部或若干者可集成為共用硬件及/或軟件內(nèi)的組合單元或模塊。因此,將特征表 示為組件、單元或模塊既定突出顯示特定功能特征以易于說(shuō)明,且未必需要通過(guò)單獨(dú)硬件 或軟件組件來(lái)實(shí)現(xiàn)所述特征。在一些情況下,各種單元可實(shí)施為由一個(gè)或一個(gè)以上處理器 執(zhí)行的可編程處理程序。本文中作為模塊、裝置或組件而描述的任何特征(包括圖形裝置100及/或其組 成組件)可共同實(shí)施于集成式邏輯裝置中或單獨(dú)實(shí)施為離散但可互操作的邏輯裝置。在各 種方面中,所述組件可至少部分地形成為可統(tǒng)稱為集成電路裝置(例如,集成電路芯片或 芯片組)的一個(gè)或一個(gè)以上集成電路裝置。所述電路可提供于單一集成電路芯片裝置中或 多個(gè)可互操作的集成電路芯片裝置中,且可用于多種圖像、顯示、音頻或其它多媒體應(yīng)用程 序及裝置中的任一者中。在一些方面中,舉例來(lái)說(shuō),所述組件可形成移動(dòng)裝置(例如,無(wú)線 通信裝置手持機(jī))的部分。如果以軟件來(lái)實(shí)施,則可至少部分地通過(guò)計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)媒體來(lái)實(shí)現(xiàn)所述技 術(shù),所述計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)媒體包含具有在由一個(gè)或一個(gè)以上處理器執(zhí)行時(shí)執(zhí)行上文所 描述的方法中的一者或一者以上的指令的代碼。計(jì)算機(jī)可讀媒體可形成計(jì)算機(jī)程序產(chǎn)品的 部分,所述計(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ù)可至少部分地通過(guò)計(jì)算機(jī)可讀通信媒體來(lái)實(shí)現(xiàn),所述計(jì) 算機(jī)可讀通信媒體以指令或數(shù)據(jù)結(jié)構(gòu)的形式載運(yùn)或傳送代碼且可由一個(gè)或一個(gè)以上處理 器來(lái)存取、讀取及/或執(zhí)行??蓪⑷魏芜B接適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來(lái)說(shuō),如果使 用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無(wú)線電及微波等無(wú)線技 術(shù)而從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)射軟件,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅 外線、無(wú)線電及微波等無(wú)線技術(shù)包括在媒體的定義中。上述各項(xiàng)的組合也應(yīng)包括在計(jì)算機(jī) 可讀媒體的范圍內(nèi)。所利用的任何軟件可由一個(gè)或一個(gè)以上處理器來(lái)執(zhí)行,例如一個(gè)或一 個(gè)以上DSP、通用微處理器、ASIC、FPGA或其它等效集成或離散邏輯電路。在本發(fā)明中已描述了各種方面。這些及其它方面屬于所附權(quán)利要求書(shū)的范圍內(nèi)。
權(quán)利要求
1.一種方法,其包含從外部圖形裝置接收?qǐng)D形指令,其中所述圖形指令由所述外部圖形裝置執(zhí)行以顯示圖 形圖像;從所述外部圖形裝置接收狀態(tài)信息,其中所述狀態(tài)信息是與所述圖形指令在所述外部 圖形裝置上的執(zhí)行相關(guān)聯(lián);及根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像的表示。
2.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含針對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的所述接收、所述狀態(tài)信息的所述接收 及所述圖形圖像的所述表示的所述顯示。
3.根據(jù)權(quán)利要求1所述的方法,其中所述狀態(tài)信息指示在所述外部圖形裝置渲染所述 圖形圖像時(shí)所述外部圖形裝置的一個(gè)或一個(gè)以上狀態(tài)。
4.根據(jù)權(quán)利要求1所述的方法,其中所述狀態(tài)信息包含來(lái)自所述外部圖形裝置的執(zhí)行 所述圖形指令的一個(gè)或一個(gè)以上處理器的狀態(tài)信息。
5.根據(jù)權(quán)利要求1所述的方法,其中所述狀態(tài)信息包含與所述圖形指令在所述外部圖 形裝置上的執(zhí)行相關(guān)聯(lián)的數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含接收用戶輸入,所述用戶輸入指定對(duì)所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的 所請(qǐng)求修改;及將所述所請(qǐng)求修改發(fā)送到所述外部圖形裝置以供處理。
7.根據(jù)權(quán)利要求6所述的方法,其進(jìn)一步包含從所述外部圖形裝置接收多個(gè)經(jīng)更新的圖形指令,其中所述經(jīng)更新的圖形指令是與對(duì) 所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);從所述外部圖形裝置接收經(jīng)更新的狀態(tài)信息,其中所述經(jīng)更新的狀態(tài)信息是與對(duì)所述 外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);及根據(jù)所述經(jīng)更新的圖形指令及所述經(jīng)更新的狀態(tài)信息顯示所述圖形圖像的經(jīng)更新的 版本。
8.根據(jù)權(quán)利要求6所述的方法,其中所述所請(qǐng)求修改包含以下請(qǐng)求中的至少一者用 于停用所述圖形指令中的一者或一者以上在所述外部圖形裝置上的執(zhí)行的請(qǐng)求、用于在所 述外部圖形裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于在所述外部圖 形裝置上修改所述狀態(tài)信息的請(qǐng)求。
9.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含顯示所述圖形指令的視覺(jué)表示;及顯示所述狀態(tài)信息的視覺(jué)表示。
10.根據(jù)權(quán)利要求9所述的方法,其中顯示所述圖形指令的所述視覺(jué)表示包含將所述 圖形指令映射到相關(guān)聯(lián)的圖形應(yīng)用程序編程接口(API)指令;及顯示所述圖形API指令。
11.根據(jù)權(quán)利要求1所述的方法,其中顯示所述圖形圖像的所述表示包含在模擬所述 外部圖形裝置的模擬環(huán)境內(nèi)顯示所述圖形圖像的所述表示。
12.根據(jù)權(quán)利要求1所述的方法,其中所述圖形指令包含根據(jù)應(yīng)用程序編程接口(API)指令所產(chǎn)生的二進(jìn)制指令。
13.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含 顯示導(dǎo)航控制器;接收用戶輸入以與所述導(dǎo)航控制器交互;及基于所述用戶輸入而顯示所述圖形圖像的經(jīng)修改的透視圖。
14.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含 接收用戶輸入以修改所述圖形圖像;及根據(jù)所述用戶輸入顯示所述圖形圖像的經(jīng)修改的版本。
15.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含從所述外部圖形裝置接收性能信息,其中所述性能信息是與所述圖形指令在所述外部 圖形裝置上的執(zhí)行相關(guān)聯(lián);及分析所述性能信息以識(shí)別在所述外部圖形裝置執(zhí)行所述圖形指令期間所述外部圖形 裝置上的一個(gè)或一個(gè)以上性能問(wèn)題。
16.根據(jù)權(quán)利要求15所述的方法,其中所述性能信息包含從在所述外部圖形裝置上執(zhí) 行所述圖形指令的一個(gè)或一個(gè)以上處理器所搜集的性能量度。
17.根據(jù)權(quán)利要求16所述的方法,其中分析所述性能信息包含識(shí)別在所述圖形指令的 執(zhí)行期間所述外部圖形裝置的所述處理器中的一者或一者以上中的減小的性能。
18.根據(jù)權(quán)利要求15所述的方法,其進(jìn)一步包含接收用戶輸入,所述用戶輸入指定對(duì)所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的 所請(qǐng)求修改;將所述所請(qǐng)求修改發(fā)送到所述外部圖形裝置以供處理;從所述外部圖形裝置接收多個(gè)經(jīng)更新的圖形指令,其中所述經(jīng)更新的圖形指令是與對(duì) 所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);從所述外部圖形裝置接收經(jīng)更新的性能信息,其中所述經(jīng)更新的性能信息是與對(duì)所述 外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);及分析所述經(jīng)更新的性能信息以確定所述性能問(wèn)題中的一者或一者以上是否已得到解決。
19.根據(jù)權(quán)利要求18所述的方法,其中所述所請(qǐng)求修改包含以下請(qǐng)求中的至少一者 用于停用所述圖形指令中的一者或一者以上在所述外部圖形裝置上的執(zhí)行的請(qǐng)求、用于在 所述外部圖形裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于在所述外部 圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
20.根據(jù)權(quán)利要求18所述的方法,其進(jìn)一步包含根據(jù)所述經(jīng)更新的圖形指令及所述經(jīng)更新的性能信息顯示所述圖形圖像的經(jīng)更新的表不。
21.一種計(jì)算機(jī)可讀媒體,其包含用于致使一個(gè)或一個(gè)以上處理器進(jìn)行以下操作的指令從外部圖形裝置接收?qǐng)D形指令,其中所述圖形指令由所述外部圖形裝置執(zhí)行以顯示圖 形圖像;從所述外部圖形裝置接收狀態(tài)信息,其中所述狀態(tài)信息是與所述圖形指令在所述外部圖形裝置上的執(zhí)行相關(guān)聯(lián);及根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像的表示。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令針對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的所述接收、所述狀態(tài)信息的所述接收 及所述圖形圖像的所述表示的所述顯示。
23.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其中所述狀態(tài)信息指示在所述外部圖形 裝置渲染所述圖形圖像時(shí)所述外部圖形裝置的一個(gè)或一個(gè)以上狀態(tài)。
24.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其中所述狀態(tài)信息包含來(lái)自所述外部圖 形裝置的執(zhí)行所述圖形指令的至少一個(gè)處理器的狀態(tài)信息。
25.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其中所述狀態(tài)信息包含與所述圖形指令 在所述外部圖形裝置上的執(zhí)行相關(guān)聯(lián)的數(shù)據(jù)。
26.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令接收用戶輸入,所述用戶輸入指定對(duì)所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的 所請(qǐng)求修改;及將所述所請(qǐng)求修改發(fā)送到所述外部圖形裝置以供處理。
27.根據(jù)權(quán)利要求沈所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令從所述外部圖形裝置接收多個(gè)經(jīng)更新的圖形指令,其中所述經(jīng)更新的圖形指令是與對(duì) 所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);從所述外部圖形裝置接收經(jīng)更新的狀態(tài)信息,其中所述經(jīng)更新的狀態(tài)信息是與對(duì)所述 外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);及根據(jù)所述經(jīng)更新的圖形指令及所述經(jīng)更新的狀態(tài)信息顯示所述圖形圖像的經(jīng)更新的 版本。
28.根據(jù)權(quán)利要求沈所述的計(jì)算機(jī)可讀媒體,其中所述所請(qǐng)求修改包含以下請(qǐng)求中的 至少一者用于停用所述圖形指令中的一者或一者以上在所述外部圖形裝置上的執(zhí)行的請(qǐng) 求、用于在所述外部圖形裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于 在所述外部圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
29.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令顯示所述圖形指令的視覺(jué)表示;及顯示所述狀態(tài)信息的視覺(jué)表示。
30.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀媒體,其中所述用于致使所述一個(gè)或一個(gè)以上 處理器顯示所述圖形指令的所述視覺(jué)表示的指令包含用于致使所述一個(gè)或一個(gè)以上處理 器進(jìn)行以下操作的指令將所述圖形指令映射到相關(guān)聯(lián)的圖形應(yīng)用程序編程接口(API)指令;及顯示所述圖形API指令。
31.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其中所述用于致使所述一個(gè)或一個(gè)以上處理器顯示所述圖形圖像的所述表示的指令包含用于致使所述一個(gè)或一個(gè)以上處理器在 模擬所述外部圖形裝置的模擬環(huán)境內(nèi)顯示所述圖形圖像的所述表示的指令。
32.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其中所述圖形指令包含根據(jù)應(yīng)用程序編 程接口(API)指令所產(chǎn)生的二進(jìn)制指令。
33.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令顯示導(dǎo)航控制器;接收用戶輸入以與所述導(dǎo)航控制器交互;及基于所述用戶輸入而顯示所述圖形圖像的經(jīng)修改的透視圖。
34.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令接收用戶輸入以修改所述圖形圖像;及根據(jù)所述用戶輸入顯示所述圖形圖像的經(jīng)修改的版本。
35.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令從所述外部圖形裝置接收性能信息,其中所述性能信息是與所述圖形指令在所述外部 圖形裝置上的執(zhí)行相關(guān)聯(lián);及分析所述性能信息以識(shí)別在所述外部圖形裝置執(zhí)行所述圖形指令期間所述外部圖形 裝置上的一個(gè)或一個(gè)以上性能問(wèn)題。
36.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀媒體,其中所述性能信息包含從所述外部圖形 裝置的在所述外部圖形裝置上執(zhí)行所述圖形指令的至少一個(gè)處理器所搜集的性能量度。
37.根據(jù)權(quán)利要求36所述的計(jì)算機(jī)可讀媒體,其中所述用于致使所述一個(gè)或一個(gè)以上 處理器分析所述性能信息的指令包含用于致使所述一個(gè)或一個(gè)以上處理器識(shí)別在所述圖 形指令的執(zhí)行期間所述外部圖形裝置的至少一個(gè)處理器中的減小的性能的指令。
38.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令接收用戶輸入,所述用戶輸入指定對(duì)所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的 所請(qǐng)求修改;將所述所請(qǐng)求修改發(fā)送到所述外部圖形裝置以供處理;從所述外部圖形裝置接收多個(gè)經(jīng)更新的圖形指令,其中所述經(jīng)更新的圖形指令是與對(duì) 所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);從所述外部圖形裝置接收經(jīng)更新的性能信息,其中所述經(jīng)更新的性能信息是與對(duì)所述 外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);及分析所述經(jīng)更新的性能信息以確定所述性能問(wèn)題中的一者或一者以上是否已得到解決。
39.根據(jù)權(quán)利要求38所述的計(jì)算機(jī)可讀媒體,其中所述所請(qǐng)求修改包含以下請(qǐng)求中的 至少一者用于停用所述圖形指令中的一者或一者以上在所述外部圖形裝置上的執(zhí)行的請(qǐng) 求、用于在所述外部圖形裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于 在所述外部圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
40.根據(jù)權(quán)利要求38所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令根據(jù)所述經(jīng)更新的圖形指令及所述經(jīng)更新的性能信息顯示所述圖形圖像的經(jīng)更新的表示。
41.一種裝置,其包含顯示裝置;及一個(gè)或一個(gè)以上處理器,其經(jīng)配置以從外部圖形裝置接收?qǐng)D形指令,其中所述圖形指令由所述外部圖形裝置執(zhí)行以顯示圖 形圖像;從所述外部圖形裝置接收狀態(tài)信息,其中所述狀態(tài)信息是與所述圖形指令在所述外部 圖形裝置上的執(zhí)行相關(guān)聯(lián);及根據(jù)所述圖形指令及所述狀態(tài)信息在所述顯示裝置上顯示所述圖形圖像的表示。
42.根據(jù)權(quán)利要求41所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以針 對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的所述接收、所述狀態(tài)信息的所述接收及所述 圖形圖像的所述表示的所述顯示。
43.根據(jù)權(quán)利要求41所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以在 所述顯示裝置上顯示所述圖形指令的視覺(jué)表示,且在所述顯示裝置上顯示所述狀態(tài)信息的 視覺(jué)表示。
44.根據(jù)權(quán)利要求41所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以在 所述顯示裝置上顯示導(dǎo)航控制器,接收用戶輸入以與所述導(dǎo)航控制器交互,且基于所述用 戶輸入而在所述顯示裝置上顯示所述圖形圖像的經(jīng)修改的透視圖。
45.根據(jù)權(quán)利要求41所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以從 所述外部圖形裝置接收性能信息,其中所述性能信息是與所述圖形指令在所述外部圖形裝 置上的執(zhí)行相關(guān)聯(lián),且分析所述性能信息以識(shí)別在所述外部圖形裝置執(zhí)行所述圖形指令期 間所述外部圖形裝置上的一個(gè)或一個(gè)以上性能問(wèn)題。
46.根據(jù)權(quán)利要求45所述的裝置,其中所述性能信息包含從所述外部圖形裝置的在所 述外部圖形裝置上執(zhí)行所述圖形指令的至少一個(gè)處理器所搜集的性能量度。
47.根據(jù)權(quán)利要求46所述的裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以至少通過(guò) 識(shí)別在所述圖形指令的執(zhí)行期間所述外部圖形裝置的所述處理器中的一者或一者以上中 的減小的性能來(lái)分析所述性能信息。
48.根據(jù)權(quán)利要求45所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以 接收用戶輸入,所述用戶輸入指定對(duì)所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所請(qǐng) 求修改;將所述所請(qǐng)求修改發(fā)送到所述外部圖形裝置以供處理;從所述外部圖形裝置接收多個(gè)經(jīng)更新的圖形指令,其中所述經(jīng)更新的圖形指令是與對(duì) 所述外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);從所述外部圖形裝置接收經(jīng)更新的性能信息,其中所述經(jīng)更新的性能信息是與對(duì)所述 外部圖形裝置對(duì)所述圖形指令的所述執(zhí)行的所述所請(qǐng)求修改相關(guān)聯(lián);及分析所述經(jīng)更新的性能信息以確定所述性能問(wèn)題中的一者或一者以上是否已得到解決。
49.根據(jù)權(quán)利要求48所述的裝置,其中所述所請(qǐng)求修改包含以下請(qǐng)求中的至少一者 用于停用所述圖形指令中的一者或一者以上在所述外部圖形裝置上的執(zhí)行的請(qǐng)求、用于在 所述外部圖形裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于在所述外部 圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
50.根據(jù)權(quán)利要求48所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以根 據(jù)所述經(jīng)更新的圖形指令及所述經(jīng)更新的性能信息在所述顯示裝置上顯示所述圖形圖像 的經(jīng)更新的表示。
51.一種裝置,其包含用于從外部圖形裝置接收?qǐng)D形指令的裝置,其中所述圖形指令由所述外部圖形裝置執(zhí) 行以顯示圖形圖像;用于從所述外部圖形裝置接收狀態(tài)信息的裝置,其中所述狀態(tài)信息是與所述圖形指令 在所述外部圖形裝置上的執(zhí)行相關(guān)聯(lián);及用于根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像的表示的裝置。
52.一種方法,其包含將圖形指令從圖形裝置發(fā)送到計(jì)算裝置,其中所述圖形指令由所述圖形裝置執(zhí)行以顯 示圖形圖像;將狀態(tài)信息從所述圖形裝置發(fā)送到所述計(jì)算裝置,其中所述狀態(tài)信息是與所述圖形裝 置對(duì)所述圖形指令的執(zhí)行相關(guān)聯(lián);從所述計(jì)算裝置接收用于修改所述圖形裝置對(duì)所述圖形指令的所述執(zhí)行的一個(gè)或一 個(gè)以上所請(qǐng)求修改;及基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的狀態(tài)信息從所述圖形裝置發(fā)送到 所述計(jì)算裝置。
53.根據(jù)權(quán)利要求52所述的方法,其進(jìn)一步包含根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像。
54.根據(jù)權(quán)利要求52所述的方法,其進(jìn)一步包含基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的圖形指令從所述圖形裝置發(fā)送到 所述計(jì)算裝置。
55.根據(jù)權(quán)利要求52所述的方法,其進(jìn)一步包含針對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的發(fā)送、狀態(tài)信息的發(fā)送、接收一個(gè)或 一個(gè)以上所請(qǐng)求修改以及發(fā)送經(jīng)更新的狀態(tài)信息。
56.根據(jù)權(quán)利要求52所述的方法,其中所述狀態(tài)信息包含來(lái)自所述圖形裝置的執(zhí)行所 述圖形指令的一個(gè)或一個(gè)以上處理器的狀態(tài)信息或數(shù)據(jù)。
57.根據(jù)權(quán)利要求52所述的方法,其中所述一個(gè)或一個(gè)以上所請(qǐng)求修改包含以下請(qǐng)求 中的至少一者用于停用所述圖形指令中的一者或一者以上在所述圖形裝置上的執(zhí)行的請(qǐng) 求、用于在所述外部裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于在所 述圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
58.根據(jù)權(quán)利要求52所述的方法,其中所述圖形指令包含根據(jù)應(yīng)用程序編程接口 (API)指令所產(chǎn)生的二進(jìn)制指令。
59.根據(jù)權(quán)利要求52所述的方法,其中所述狀態(tài)信息包含從在所述圖形裝置上執(zhí)行所 述圖形指令的一個(gè)或一個(gè)以上處理器所搜集的性能量度。
60.一種裝置,其包含存儲(chǔ)媒體,其經(jīng)配置以存儲(chǔ)指令;及 一個(gè)或一個(gè)以上處理器,其經(jīng)配置以將所述指令從所述裝置發(fā)送到外部計(jì)算裝置,其中所述指令由所述裝置執(zhí)行以顯示圖 形圖像;將狀態(tài)信息從所述裝置發(fā)送到所述外部計(jì)算裝置,其中所述狀態(tài)信息是與所述裝置對(duì) 所述指令的執(zhí)行相關(guān)聯(lián);從所述外部計(jì)算裝置接收用于修改所述裝置對(duì)所述指令的所述執(zhí)行的一個(gè)或一個(gè)以 上所請(qǐng)求修改;及基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的狀態(tài)信息從所述裝置發(fā)送到所述 外部計(jì)算裝置。
61.根據(jù)權(quán)利要求60所述的裝置,其進(jìn)一步包含顯示裝置,其中所述一個(gè)或一個(gè)以上 處理器進(jìn)一步經(jīng)配置以根據(jù)所述圖形指令及所述狀態(tài)信息在所述顯示裝置上顯示所述圖 形圖像。
62.根據(jù)權(quán)利要求60所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以基 于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的圖形指令從所述圖形裝置發(fā)送到所述計(jì)算裝置。
63.根據(jù)權(quán)利要求60所述的裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以針 對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的發(fā)送、狀態(tài)信息的發(fā)送、接收一個(gè)或一個(gè)以 上所請(qǐng)求修改以及發(fā)送經(jīng)更新的狀態(tài)信息。
64.根據(jù)權(quán)利要求60所述的裝置,其中所述狀態(tài)信息包含來(lái)自所述圖形裝置的執(zhí)行所 述圖形指令的所述一個(gè)或一個(gè)以上處理器的狀態(tài)信息或數(shù)據(jù)。
65.根據(jù)權(quán)利要求60所述的裝置,其中所述一個(gè)或一個(gè)以上所請(qǐng)求修改包含以下請(qǐng)求 中的至少一者用于停用所述圖形指令中的一者或一者以上在所述圖形裝置上的執(zhí)行的請(qǐng) 求、用于在所述外部裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于在所 述圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
66.根據(jù)權(quán)利要求60所述的裝置,其中所述圖形指令包含根據(jù)應(yīng)用程序編程接口 (API)指令所產(chǎn)生的二進(jìn)制指令。
67.根據(jù)權(quán)利要求60所述的裝置,其中所述狀態(tài)信息包含從在所述圖形裝置上執(zhí)行所 述圖形指令的所述一個(gè)或一個(gè)以上處理器所搜集的性能量度。
68.根據(jù)權(quán)利要求60所述的裝置,其中所述一個(gè)或一個(gè)以上處理器中的每一者包含顯 示處理器、圖形處理器、頂點(diǎn)處理器或控制處理器。
69.根據(jù)權(quán)利要求60所述的裝置,其中所述裝置包含無(wú)線通信裝置手持機(jī)。
70.根據(jù)權(quán)利要求60所述的裝置,其中所述裝置包含一個(gè)或一個(gè)以上集成電路裝置。
71.一種計(jì)算機(jī)可讀媒體,其包含用于致使一個(gè)或一個(gè)以上處理器進(jìn)行以下操作的指令將圖形指令從圖形裝置發(fā)送到計(jì)算裝置,其中所述圖形指令由所述圖形裝置執(zhí)行以顯示圖形圖像;將狀態(tài)信息從所述圖形裝置發(fā)送到所述計(jì)算裝置,其中所述狀態(tài)信息是與所述圖形裝 置對(duì)所述圖形指令的執(zhí)行相關(guān)聯(lián);從所述計(jì)算裝置接收用于修改所述圖形裝置對(duì)所述圖形指令的所述執(zhí)行的一個(gè)或一 個(gè)以上所請(qǐng)求修改;及基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的狀態(tài)信息從所述圖形裝置發(fā)送到 所述計(jì)算裝置。
72.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像。
73.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的圖形指令從所述圖形裝置發(fā)送到 所述計(jì)算裝置。
74.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包含用于致使所述一個(gè)或一個(gè) 以上處理器進(jìn)行以下操作的指令針對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的發(fā)送、狀態(tài)信息的發(fā)送、接收一個(gè)或 一個(gè)以上所請(qǐng)求修改以及發(fā)送經(jīng)更新的狀態(tài)信息。
75.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其中所述狀態(tài)信息包含來(lái)自所述圖形裝 置的執(zhí)行所述圖形指令的一個(gè)或一個(gè)以上處理器的狀態(tài)信息或數(shù)據(jù)。
76.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其中所述一個(gè)或一個(gè)以上所請(qǐng)求修改包 含以下請(qǐng)求中的至少一者用于停用所述圖形指令中的一者或一者以上在所述圖形裝置上 的執(zhí)行的請(qǐng)求、用于在所述外部裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以 及用于在所述圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
77.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其中所述圖形指令包含根據(jù)應(yīng)用程序編 程接口(API)指令所產(chǎn)生的二進(jìn)制指令。
78.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀媒體,其中所述狀態(tài)信息包含從在所述圖形裝 置上執(zhí)行所述圖形指令的一個(gè)或一個(gè)以上處理器所搜集的性能量度。
79.一種裝置,其包含用于將圖形指令從圖形裝置發(fā)送到計(jì)算裝置的裝置,其中所述圖形指令由所述圖形裝 置執(zhí)行以顯示圖形圖像;用于將狀態(tài)信息從所述圖形裝置發(fā)送到所述計(jì)算裝置的裝置,其中所述狀態(tài)信息是與 所述圖形裝置對(duì)所述圖形指令的執(zhí)行相關(guān)聯(lián);用于從所述計(jì)算裝置接收用于修改所述圖形裝置對(duì)所述圖形指令的所述執(zhí)行的一個(gè) 或一個(gè)以上所請(qǐng)求修改的裝置;及用于基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的狀態(tài)信息從所述圖形裝置發(fā) 送到所述計(jì)算裝置的裝置。
80.根據(jù)權(quán)利要求79所述的裝置,其進(jìn)一步包含用于根據(jù)所述圖形指令及所述狀態(tài)信息顯示所述圖形圖像的裝置。
81.根據(jù)權(quán)利要求79所述的裝置,其進(jìn)一步包含用于基于所述一個(gè)或一個(gè)以上所請(qǐng)求修改而將經(jīng)更新的圖形指令從所述圖形裝置發(fā) 送到所述計(jì)算裝置的裝置。
82.根據(jù)權(quán)利要求79所述的裝置,其進(jìn)一步包含用于針對(duì)所述圖形圖像的多個(gè)幀重復(fù)所述圖形指令的發(fā)送、狀態(tài)信息的發(fā)送、接收一 個(gè)或一個(gè)以上所請(qǐng)求修改以及發(fā)送經(jīng)更新的狀態(tài)信息的裝置。
83.根據(jù)權(quán)利要求79所述的裝置,其中所述狀態(tài)信息包含來(lái)自所述圖形裝置的執(zhí)行所 述圖形指令的一個(gè)或一個(gè)以上處理器的狀態(tài)信息或數(shù)據(jù)。
84.根據(jù)權(quán)利要求79所述的裝置,其中所述一個(gè)或一個(gè)以上所請(qǐng)求修改包含以下請(qǐng)求 中的至少一者用于停用所述圖形指令中的一者或一者以上在所述圖形裝置上的執(zhí)行的請(qǐng) 求、用于在所述外部裝置上修改所述圖形指令中的一者或一者以上的請(qǐng)求,以及用于在所 述圖形裝置上修改所述狀態(tài)信息的請(qǐng)求。
85.根據(jù)權(quán)利要求79所述的裝置,其中所述圖形指令包含根據(jù)應(yīng)用程序編程接口 (API)指令所產(chǎn)生的二進(jìn)制指令。
86.根據(jù)權(quán)利要求79所述的裝置,其中所述狀態(tài)信息包含從在所述圖形裝置上執(zhí)行所 述圖形指令的一個(gè)或一個(gè)以上處理器所搜集的性能量度。
全文摘要
大體來(lái)說(shuō),本發(fā)明涉及用于使用從圖形裝置接收的圖形指令及狀態(tài)信息來(lái)視覺(jué)地創(chuàng)建圖形圖像的技術(shù)。還可進(jìn)行性能分析以識(shí)別在所述圖形裝置上的指令執(zhí)行期間的潛在瓶頸。一種實(shí)例裝置包括顯示裝置及一個(gè)或一個(gè)以上處理器。所述一個(gè)或一個(gè)以上處理器經(jīng)配置以從外部圖形裝置接收多個(gè)圖形指令,其中所述圖形指令由所述外部圖形裝置執(zhí)行以顯示圖形圖像;且從所述外部圖形裝置接收狀態(tài)信息,其中所述狀態(tài)信息是與所述圖形指令在所述外部圖形裝置上的執(zhí)行相關(guān)聯(lián)。所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以根據(jù)所述圖形指令及所述狀態(tài)信息在所述顯示裝置上顯示所述圖形圖像的表示。
文檔編號(hào)G06F11/36GK102105868SQ200980129094
公開(kāi)日2011年6月22日 申請(qǐng)日期2009年7月24日 優(yōu)先權(quán)日2008年7月25日
發(fā)明者安格斯·多別, 巴巴科·埃爾米哈, 托馬斯·福捷, 詹姆斯·P·里茨 申請(qǐng)人:高通股份有限公司