TW201015485A - Performance analysis during visual creation of graphics images - Google Patents

Performance analysis during visual creation of graphics images Download PDF

Info

Publication number
TW201015485A
TW201015485A TW98125261A TW98125261A TW201015485A TW 201015485 A TW201015485 A TW 201015485A TW 98125261 A TW98125261 A TW 98125261A TW 98125261 A TW98125261 A TW 98125261A TW 201015485 A TW201015485 A TW 201015485A
Authority
TW
Taiwan
Prior art keywords
image
instructions
external
status information
updated
Prior art date
Application number
TW98125261A
Other languages
English (en)
Inventor
Baback Elmieh
James P Ritts
Angus Dorbie
Thomas Fortier
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/507,732 external-priority patent/US8587593B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201015485A publication Critical patent/TW201015485A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

201015485 六、發明說明: 【發明所屬之技術領域】 本發明係關於圖像影像之顯示。 根據35 U.S.C. §119規定主張優先權 本專利申請案主張2008年7月25曰申請的名為 「 PERFORMANCE ANALYSIS DURING VISUAL CREATION OF GRAPHICS IMAGES」之臨時申請案第 61/083,656號的優先權,且該案已讓與給其受讓人並在此 以引用的方式明確地併入本文中。 參照同在申請中之專利申請案 本專利申請案與以下同在申請中之美國專利申請案有 關. 2008年7月25日申請之61/083,659,代理人檔案號碼 080969P1,與本申請案同時申請,該案已讓與給其受讓 人,且以引用的方式明確地併入本文中;及 2008年7月25日申請之61/083,665,代理人檔案號碼 08097 IP 1,與本申請案同時申請,該案已讓與給其受讓 人,且以引用的方式明確地併入本文中。 【先前技術】 圖像處理器廣泛用於顯現用於各種應用程式之兩維(2D) 及三維(3D)影像,該等應用程式諸如視訊遊戲、圖像程 式、電腦輔助設計(CAD)應用程式、模擬及視覺化工具及 成像。顯示處理器可用於顯示圖像處理器之經顯現之輸出 以供經由顯示裝置呈現給使用者。 142233.doc 201015485
OpenGL®(開放圖像程式庫)為一定義可在撰寫產生2D圖 像及3D圖像之應用程式時使用之API(應用程式設計介面) 的標準規範。諸如Java之其他語言可經由其自有之標準處 理程序定義至OpenGL API之繫結。介面包括可用於自簡單 基元緣製場景之多個函式呼叫或指令。圖像處理器、多媒 體處理器及甚至通用CPU可接著執行使用0penGL函式呼 » 叫撰寫之應用程式。OpenGL ES(嵌入式系統)為0penGL之 變體’其經設計以用於諸如行動無線電話、數位多媒體播 # 放機、個人數位助理(PDA)或視訊遊戲控制台之嵌入式裝 置。 諸如3D圖像應用程式之圖像應用程式可藉由調用八^或 指令來描述或定義場景之内容,該等API或指令又使用基 礎圖像硬體(諸如,圖像裝置中之一或多個處理器)來產生 影像。圖像硬體可能經歷經由此等API實行之一系列狀態 轉變。用於每一 API呼叫(諸如’繪圖呼叫(draw call)或指 令)之狀態之整個集合可描述由硬體藉以顯現影像之程 •序。 【發明内容】 大體而言’本發明係關於用於捕獲及分析圖像指令或呼 叫流以及自諸如行動裝置之圖像裝置發送之狀態資訊的技 術。可自應用程式設計介面令產生或編譯該等圖 像指令。該等圖像指令及狀態資訊可跨越一通信媒體而傳 輸至諸如個人電腦之應用程式計算裝置,且用以在一模擬 環境内顯示圖像影像(諸如,3D影像)。 142233.doc 201015485 該所顯不之圖像影像可為-顯示於圖像裝置上之影像之 一表示。該模擬環境能夠重新創造影像或場景(其可包含 一系列影像)。因為該模擬環境可創造場景,如同其呈現 於該圖像裝4上’所以應用程式開發者可隔離其圖像應用 程式中之效能問題或瓶頸與原型修改,此可改良該等應用 程式之總效能。 在一態樣中,一方法包含自一外部圖像裝置接收複數個 圖像指令,其中該等圖像指令由該外部圖像裝置執行以顯 示一圖像影像,及自該外部圖像裝置接收狀態資訊,其中 該狀態資訊與該等圖像指令於該外部圖像裝置上之執行相 關聯。該方法進一步包括根據該等圖像指令及該狀態資訊 顯示該圖像影像之一表示。在特定狀況下,該方法進一步 包括針對該圖像影像之多個圖框重複該等圖像指令之接 收、該狀態資訊之接收’及顯示該圖像影像之該表示。在 特定狀況下’該方法進一步包括自該外部圖像裝置接收效 能資訊’其中該效能資訊與該等圖像指令於該外部圖像裝 置上之執行相關聯,及分析該效能資訊以識別在該外部圖 像裝置執行該等圖像指令期間該外部圖像裝置上之一或多 個效能問題。 本發明中所描述之技術可以硬體、軟體、勒體,或其任 何組合來實施。若以軟體來實施,則可在處理器中執行該 軟體,該處理器可指一或多個處理器’諸如微處理器、特 殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或數位 信號處理器(DSP),或其他等效積體邏輯電路或離散邏輯 142233.doc 201015485 電路。最初可將包含用於執行該等技術之指令之軟體儲存 於一電腦可讀媒體中且由—處理器來載入並執行。 因此,本發明亦涵蓋包含用於使得一處理器執行如本發 明中所描述之多種技術中之任一者的指令的電腦可讀媒 體》在一些狀況下,該電腦可讀媒體可形成一可出售給製 造商及/或用於一裝置中之電腦程式產品的一部分。該電 腦程式產品可包括該電腦可讀媒體,且在一些狀況下,亦 可包括封裝材料。 在下文之附圖及描述中闌述一或多個態樣之細節。其他 特徵'目標及優點將自該描述及圖式以及申請專利範圍而 顯而易見。 【實施方式】 圖1為說明一根據本發明之一態樣之圖像裝置2的方塊 圖,該圖像裝置2可將圖像指令3〇以及狀態及/或效能資訊 32提供至一應用程式計算裝置2〇。圖像裝置]可為一獨立 裝置或可為一較大系統之部分。舉例而言,圖像裝置2可 包含無線通信裝置(諸如,無線行動手機),或可為數位相 機、視訊相機、數位多媒體播放機、個人數位助理 (PDA)、視訊遊戲控制台、其他視訊裝置或專用檢視站 (viewing station)(諸如’電視)之部分。圖像裝置2亦可包 含個人電腦或膝上型裝置。圖像裝置2亦可包括在可用於 上文所插述之裝置中之一些或全部中的一或多個積體電路 或晶片中。 在一些狀況下,圖像裝置2可能夠執行各種應用程式, 142233.doc 201015485 諸如圖像應用程式、視訊應用程式、音訊應用程式及/或 其他多媒體應用程式。舉例而言,圖像裝置2可用於圖像 應用程式、視訊遊戲應用程式、視訊播放應用程式、數位 相機應用程式、即時訊息傳遞應用程式、視訊電傳會議應 用程式、行動應用程式’或視訊串流應用程式。 圖像裝置2可能夠處理多種不同的資料類型及格式。舉 例而言,如將在下文更詳細描述的,圖像裝置2可處理靜 態影像資料、移動影像(視訊)資料或其他多媒體資料。影 像資料可包括電腦產生之圖像資料。在圖1之實例中,圖 像裝置2包括圖像處理系統4、儲存媒體8(其包含記憶體), 及顯示裝置6。 可程式化處理器1〇、12、14及16可包括在圖像處理系統 4内。可程式化處理器為一控制或通用處理器。可程式 化處理器12為一圖像處理器,可程式化處理器14為一頂點 處理器,且可程式化處理器10為一顯示處理器。控制處理 器10可能夠控制圖像處理器12、頂點處理器M及/或顯示 處理器16。在一態樣中,圖像處理系統4可包括其他形式 之多媒體處理器。 在圖像裝置2中,圖像處理系統4既耦接至儲存媒體8又 耦接至顯示裝置6。儲存媒體8可包括能夠儲存指令及/或 資料之任何永久或揮發性記憶體’諸如,同步動態隨機存 取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存 取記憶體(NVRAM)、嵌入式動態隨機存取記憶體 (eDRAM)、靜態隨機存取記憶體(SRAM)或快閃記憶體。 142233.doc 201015485 顯不裝置6可為用於顯示目的之能夠顯示影像資料之任何 裝置,諸如,LCD(液晶顯示器)、電漿顯示裝置,或其他 電視(TV)顯示裝置。 頂點處理器14能夠管理頂點資訊並處理頂點變換。在一 • I、樣中,頂點處理器14可包含數位信號處理器(DSP)。圖 . 像處理器12可為一用以顯現、操縱及顯示電腦化圖像之專 用圖像顯現裝X。圖像處理器12可實施與各種複雜圖像有 關之廣算法。舉例而言,複雜演算法可對應於兩維或三維 • 冑腦化圖像之表示。圖像處理器12可實施諸多所謂的「基 70」圖像操作(諸如,形成點、線及三角形或其他多邊形 表面),以在諸如顯示裝置6之顯示器上創造複雜的三維影 像。 圖像處理器12可執行儲存於儲存媒體8中之指令。健存 媒體8此夠儲存用於應用程式(諸如,圖像或視訊應用程式) 之應用程式指令21以及一或多個圖像驅動程式18。應用程 籲 式指令21可自儲存媒體8載入至圖像處理系統4中以供執 行。舉例而言,控制處理器1〇、圖像處理器12及顯示處理 器16中之一或多者可執行指令21。在一態樣中,應用程式 扣21可包含以空中方式動態地下載至儲存媒體8中之一 或多個可下載模組。在一態樣中,應用程式指令21可包含 自由應用程式開發者創造之應用程式設計介面(API)指令 產生或編譯之二進位指令的呼叫流。 圖像驅動程式18亦可自儲存媒體8載入至圖像處理系統4 中以供執行。舉例而言,控制處理器1 〇、圖像處理器12及 142233.doc 201015485 顯示處理器16中之一岑容去亦批p *人 ^ 4夕者可執仃來自圖像驅動程式18之 特“”在一實例態樣中,由圖像處理器12載入並執行 圖像驅動程式18。將在下文進—步壯描述圖像驅 18 ° 、 亦如圖1中所展示,圖像處理系統4包括一或多個緩衝器 心控制處理㈣、圖像處理器12、頂點處理器14及,或 顯不處理器16各自能夠存取緩衝器15,且可將資料储存於 緩衝器15中或自緩衝器15擷取資料。緩衝器"可包含快取 記憶體,且可能夠儲存資料與指令兩者。舉例而言,緩衝 器15可包括已自儲存媒體8載人至圖像處理系統*中的應用 程式指令21中的—或多者或來自圖像驅動程式18之一或多 個指令。緩衝器15及/或儲存媒體8亦可含有在指令執行期 間使用之圖像資料。 丄應用程式指令21在特定狀況下可包括用於圖像應用程式 (諸如,3D圖像應用程式)之指令。應用程式指令21可包含 描述或定義包括一或多個圖像影像之圖像場景之内容的指 令。當將應用程式指令21載入至圖像處理系統4中且由^ 像處理系統4執行時,圖像處理系統4可經歷—系列狀熊轉 變。亦可在應用程式指令21之執行期間執行圖像驅動程式 18内之-或多個指令以在顯示裝置6上顯現或顯示圖像影 用於諸如繪圖呼叫之指令之狀態的整個集合可描述一由 圖像處理系統4藉以顯現影像之程序。然而,撰寫應用程 式指令21之應用程式開發者常常可能具有為了對描述或顯 142233.doc -10· 201015485 現一所定義場景中之影像之替代方法進行除錯或實驗之目 的而互動地檢視或修改此等狀態的有限能力。另外,不同 硬體平台(諸如,圖2中所展示之圖像處理系統17之平台)可 能具有此等狀態及/或狀態轉變之不同硬體設計及實施。
因此,在一態樣中,應用程式開發者可使用圖丨中所展 不之應用程式計算裝置20來輔助處理對用於描述或顯現一 場景中之影像之替代方法的除錯及實驗。應用程式計算裝 置20柄接至圖像裝置2。舉例而言,在一態樣中,應用程 式计算裝置2G經由通用串列匯流排(USB)連接而㈣至圖 像裝置2。在其他態樣中,可使用其他類型之連接,諸如 無線或其他形式之有線連接。 應用程式計算裝置2G包括—或多個處理器22、—顯示裝 及儲存媒體26。根據一態樣,處理器22可包括控 制處理器、圖像處理器、頂點處理器及顯示處理器中之一 或多者。儲存媒體26可包括能夠儲存指令及/或資料之任 揮發性記憶體,諸如,同步動態隨機存取記憶體 (NVRAM/、唯讀記憶體(R〇M)、非揮發性隨機存取記憶體 顯、靜態隨機存取記憶體(SRAM)或快閃記憶體。 顯不裝置24可為用认狀_ 穿 ,、”:顯不目的之能夠顯示影像資料之任何 (液晶顯示器)、電漿顯示裝置,或其他 電視(TV)顯示裝置。 〜六〜 應用程式計算券 圖像裝置2發送之;捕獲及分析圖像指令30以及自 像驅動程式㈣㈣及/或效能資訊32。在一態樣中,圖 、〜、从將圖像指令30及狀態/效能資訊32 I42233.doc •11- 201015485 發送至應用程式計算裝置20。圖像指令3〇可包括應用程式 指令21中之一或多者’且狀態/效能資訊32可在圖像指令 30於圖像處理系統4内之執行期間產生或捕獲。 狀態/效能資訊3 2包括關於在指令執行期間圖像處理系 統4之狀態及效能之資訊,且將在下文更詳細地描述。狀 態/效能資訊32可包括可與圖像指令3〇一起使用或以其他 方式與圖像指令30相關聯之圖像資料(例如,基元及/或光 栅化圖像資料)。圖像處理系統4可執行圖像指令3 〇以在顯 不裝置6上顯示一影像或一影像場景。應用程式計算裝置 20能夠使用圖像指令30以及狀態/效能資訊32來創造亦展 示於圖像裝置2之顯示裝置6上的圖像影像或場景。 模擬應用程式28可由應用程式計算裝置2〇之處理器以執 行以在接收到圖像指令30及狀態/效能資訊32後即創造圖 像影像或場景,並在顯示裝置24上顯示該影像或影像場 景。模擬應用程式28可包含含有諸多應用程式指令之軟體 模組。模擬應用程式28儲存於儲存媒體26中,且可由處理 器22載入及執行。可將模擬應用程式28預先載入至儲存媒 體26中,且可定製模擬應用程式28以與圖像裝置2 一起操 作。在一態樣中,模擬應用程式28模擬圖像裝置2之硬體 操作。可將模擬應用程式28之不同版本儲存於儲存媒體% 中且由處理器22來執行以用於具有不同硬體設計之不同圖 像裝置m兄下,亦可將結合模擬應用程式職用 之軟體程式庫儲存於儲存媒體26内。在一態樣中,模擬應 用程式28可為通用應用程式,且特定硬體或圖像裝置模擬 142233.doc -12- 201015485 功此性可包括在可在執行期間與模擬應用程式28鏈接之每 一單獨程式庫内。 在一態樣中’可在顯示裝置24上將狀態/效能資訊32之 一視覺表示顯示給應用程式開發者。另外,亦可顯示圖像 指令30之一視覺表示。因為在許多狀況下,圖像指令3〇可 .包含二進位指令,故應用程式計算裝置2〇可使用指令映射 資訊31來在顯示裝置24上產生圖像指令3〇之視覺表示。指 令映射資訊31儲存於儲存媒體26内且可載入至處理器22中 Φ 以便顯示圖像指令3〇之視覺表示。 在一態樣中’指令映射資訊31可包括(諸如)查找表内的 用於將圖像指令30映射至先前在產生圖像指令3〇時可能已 編譯之對應API指令的映射資訊。應用程式開發者可撰寫 使用API指令之程式,但此等Αρι指令通常編譯成諸如圖像 才a令3 0(其包括在應用程式指令21内)之二進位指令以用於 在圖像裝置2上執行。可將圖像指令3〇内之一或多個指令 映射至個別API指令。可接著在顯示裝置24上將經映射之 馨 API指令顯示給應用程式開發者以提供實際上執行之圖像 指令30之視覺表示。 - 在一態樣中,諸如應用程式開發者之使用者可能希望改 . 變圖像指令30中之一或多者以判定(例如)該等改變對效能 之影響。在此態樣中,使用者可改變圖像指令3〇之視覺表 示。可接著使用映射資訊31來將圖像指令30之視覺表示内 之此等改變映射至二進位指令,如將在下文更詳細描述 的’該等二進位指令可接著在所請求修改34内提供回至圖 142233.doc -13- 201015485 像裝置2。 之圖 如上所述’顯示於應用程式計算裝置2〇之顯示裝置24上 像影像可為顯示於圖像裝置2上之影像之一表示。因 為模擬應用程式28可使用圖像指令3〇及狀態/效能資訊32 來創造一影像或場景,完全如同其呈現於圖像裝置2上, 故使用應用程式計算裝置2〇之應用程式開發者可能夠在圖 像應用程式30之執行期間迅速地識別潛在的效能問題或瓶 頸,及甚至原型修改以改良圖像應用程式3〇之總效能。 舉例而δ,應用程式開發者可在模擬應用程式28於應用 程式計算裝置20上之執行及影像於顯示裝置24上之顯示期 間選擇對圖像指令30及/或狀態/效能資訊32作出一或多個 所請求修改34。任何該等所請求修改34可係基於在圖像指 ^之執行或狀態/效能資訊32之分析期間所觀測到的效 I門題或瓶頸。可接著將此等所請求修改自應用程式計 算裝置20發送至圖像裝置2,在圖像裝置2處,此等所請求 修改34由圖像處理系統4來處理。在一態樣中,在圖像處 理系統4内執行圖像驅動程式18中之—或多者以處理所請 ^多改34。所請求修改34在—些狀況下可包括經修改之指 錢tr況下’所請求修改可包括經修改之狀態及/ 中^處=請求修改34後’即(諸如)藉由圖像驅動程式18 Υ之一或多者將經更新之指令 程式呼筲肤* 兄貝訊35發送回至應用 ”算裝置20。經更新之指令/資訊 由圖像J匕栝用於基於 置2處理的所請求修改34而執行的經更新之圖像 142233.doc 201015485 指令。經更新之指令/資訊35亦可包括基於由圖像裝置2處 理的所請求修改34的經更新之狀態及/或效能資訊。 經更新之指令/資訊35藉由模擬應用程式28來處理以更 新影像資訊於顯示裝置24上之顯示,且亦將經更新之指 令/資訊35之一視覺表示提供給應用程式開發者(其可包括 再次使用指令映射資訊31)。應用程式開發者可接著檢視 顯示裝置24上之經更新之影像資訊以及經更新之指令/資 訊35之視覺表示,以判定效能問題是否已得到解決或緩 ❹ 和。應用程式開發者可使用一迭代程序來對圖像指令30或 原型修改進行除錯以改良圖像應用程式3〇之總效能。 圖2為說明一根據本發明之另一態樣之圖像裝置52的方 塊圖,該圖像裝置52可將圖像指令80以及狀態及/或效能 資訊82提供至應用程式計算裝置2〇。在此態樣中,圖像裝 置52具有一不同於圖1中所展示之圖像裝置2之硬體設計及 架構。然而,應用程式計算裝置2〇仍能夠與圖像裝置52互 動且藉由使用另一模擬應用程式29創造影像資訊並顯示用 馨 於圖像裝置52之效能資訊。在圖1中,模擬程式28經設計 及疋製以用於與圖像裝置2 —起使用。在圖2中,模擬程式 - 29經設計及定製以用於與圖像裝置52—起使用。 • 如在圖2中所展示’圖像裝置52包括圖像處理系統54、 顯示裝置56,及儲存媒體58。與圖像處理系統4(圖1}不 同’圖像處理系統54不包括頂點處理器。圖像處理系統54 包括控制處理器60、圖像處理器62、顯示處理器66,及一 或多個緩衝器65。控制處理器60可控制圖像處理器62及/ 142233.doc 15 201015485 或顯示處理器66 理器66中之每一 料或指令。 。控制處理器6〇、圖像處理器62及顯示處 者能夠存取緩衝器65,緩衝器“可含有資 ^於儲存㈣8(㈣,圖像裝置52之儲存媒體Μ能夠 儲料令及驅動程式。如圖2中所展示,儲存媒體(包含記 憶旬包括應用程式指令71及-或多個圓像驅動程式I 應=程式指令71可包含用於圖像應用程式之以,且圖像 驅動程式68可包含用於在顯示裝置56上顯示影像資料之指 令及用於與應用程式計算裝置2G通信之指令。可將應用程 式指令”及圖像驅動程式68載入至圖像處理系統54中之控 制處理器60、圖像處理器62及/或顯示處理器“令且由該 等處理器來執行。在一些狀況下,可將應用程式指令Μ 之一或多者及來自圖像驅動程式68之—或多個指令載入至 緩衝器65中以用於在圖像處理系統54内執行。 在應用程式指令71於圖像處理系賴内執行期間,圖像 驅動程式辦之-或多者亦可在執行期間將圖像指令⑼及 狀態及/或效能資訊82發送至應用程式計算裝置2〇。圖像 指令80可包含應用程式指令71之—部分或—子集。狀態/ 效能資訊82可係基於圖像指令8〇在控制處理器6〇、圖像處 理器62及顯示處理器66中之一或多者内的執行。 可將模擬應用程式29載入至處理器22中之一或多者中且 由處理器22中之-或多者來執行以處理圖像指令8。及狀態 /效能資訊82。如上所注,模擬應用程式29可經特定設計 以模擬圖像裝置52之操作。可經由創造及執行對應模擬應 142233.doc •16. 201015485 用程式來在應用程式計算裝置20上模擬圖像裝置之各種類 型之設計。 模擬應用程式29可使得處理器22根據所接收之圖像指令 80及狀態/效能資訊82在顯示裝置24上顯示圖像影像或場 景之一表示。此影像或場景可能最初已顯示於圖像裝置52 之顯示裝置56上,但其表示顯示於顯示裝置24上。另外, 模擬應用程式29可使得處理器22在顯示裝置24上顯示狀 態/效能資訊82之一視覺表示。應用程式計算裝置2〇亦可 使用指令映射資訊33來在顯示裝置24中提供圖像指令80之 一視覺表示。 應用程式開發者亦可在模擬應用程式29之執行期間選擇 對圖像指令80及/或狀態/效能資訊82作出一或多個所請求 修改84 ^任何該等所請求修改84可係基於在圖像指令8〇之 執行或狀態/效能資訊82之分析期間所觀測到的效能問題 或瓶頸。可接著將此等所請求修改84自應用程式計算裝置 20發送至圖像裝置52,在圖像裝置52處,此等所請求修改 84由圖像驅動程式68中之一或多者來處理。 在處理所請求修改84後,即由圖像驅動程式68中之該一 或多者將經更新之指令及/或資訊85發送回至應用程式計 算裝置20。經更新之指令/資訊85可包括經更新之圖像指 令、經更新之狀態資訊,及/或經更新之效能資訊。 經更新之指令/資訊85藉由模擬應用程式29來處理以更 新影像資訊於顯示裝置24上之顯示,且亦將經更新之指 令/資訊85之一視覺表示提供給應用程式開發者。應用程 142233.doc -17- 201015485 式開發者可檢視顯示裝置24上之經更新之影像資訊以及經 更新之指令/資訊8 5之視覺表示’以判定效能問題是否已 得到解決或緩和。應用程式開發者可使用一迭代程序來對 圖像指令80或原型修改進行除錯以改良圖像應用程式8〇之 總效能。 圖3為說明根據一態樣的圖1中所展示之圖像處理系統 4、圖像驅動程式18及應用程式計算裝置2〇之特定細節的 方塊圖。在圖3中,假定應用程式計算裝置2〇耦接至裝置2 之圖像處理系統4。然而,此僅係出於說明目的而展示。 在其他情況下,應用程式計算裝置2〇可耦接至許多其他形 式之圖像處理系統及裝置,諸如,裝置52之圖像處理系統 54(圖 2)〇 如圖3中所展示,圖像處理系統4包括四個可程式化處理 器:控制處理器10、頂點處理器M、圖像處理器n,及顯 不處理器16,該等處理器亦展示於圖丨中。控制處理器1〇 可控制頂點處理器I4、圖像處理器12或顯示處理器16中之 任一者。在許多狀況下,此等處理器1〇、1;2、^及“可為 系統4内之圖像處理管線之部分。 控制處理器10可控制穿過該管線之資料或指令執行之流 程的:或多個態樣’且亦可將用於—圖像影像之幾何形狀 資訊提供至頂點處理器14。頂點處理器i4可管理可根據多 個頂點U基70幾何形狀形式描述或定義之圖像影像之頂點 變換或幾何形狀處理。頂點處理器14可將其輸出提供至圖 像處理器12,圖像處理器12可對圖像影像執行顯現或光拇 H2233.doc 201015485 :操作。圖像處理器12可將其輸出提供至顯示處理器16, 顯示處理器16以像素形式準備圖像影像以供顯示。圖像處 理器12亦可對像素資料執行各_作,諸如加陰影或按比 例調整。
常常可在圖像才曰令30之執行期間在此處理管線中處理 圖像影像資料’圖像指令3〇可為應用程式指令2ι(間之部 1因此可由控制處理器1G、頂點處理器Μ、圖像處理 器12及顯不處理^ 16巾之_或多者來執行圖像指令%。應 用程式開發者通常可能並不很瞭解或不能很好地控制圖像 處理系統4内之哪些特定處理器執行圖像指令川中之哪些 者在些狀況下,控制處理器1 〇、頂點處理器丨4、圖像 處理器12及顯示處理器16中之—或多者在圖像指令3〇之執 行期間可能具有效能問題,或充當處理管線内之潛在的瓶 頌。在此等狀況下,圖像處理系統4内之總效能可能劣 化,且應用程式開發者可能希望對圖像指令3〇作出改變以 改良效能。然而,開發者可能未必知曉處理器丨〇、i 2、丄4 或16中之哪些者可能為具有效能問題之處理器。 為了辅助識別效能瓶頸及潛在的解決方法之問題,圖像 裝置2之圖像驅動程式18A可自圖像處理系統4捕獲或收集 圖像指令30且將其投送至應用程式計算裝置2〇,如圖3中 所展示。圖像驅動程式18A為圖1中所展示之圖像驅動程式 18之部分。圖像驅動程式18A可由控制處理器1〇、頂點處 理器14、圖像處理器12及顯示處理器16中之一或多者載入 及執行。另外,圖像驅動程式18A亦可自控制處理器1〇、 142233.doc • 19- 201015485 頂點處理器14、圖像處理器12及顯示處理器16中之一或多 者收集狀態及/或效能資訊32且亦將此資訊32投送至應用 程式計算裝置20。在一態樣中,當圖像指令30包括可能已 自OpenGL ES API指令產生或編譯之二進位指令時,圖像 驅動程式18A可包含一 OpenGLES驅動程式。 各種形式之狀態資料可包括在狀態/效能資訊32内。舉 例而言’狀態資料可包括在圖像指令30之執行期間使用或 以其他方式與圖像指令30相關聯之圖像資料。狀態資料可 與一頂點陣列有關,諸如位置、色彩、座標、大小或重量 資料。狀態資料可進一步包括紋理狀態資料、點狀態資 料、線狀態資料、多邊形狀態資料、剔除(culling)狀態資 料、α測試(alpha test)狀態資料、摻合狀態資料、深度狀 態資料、模板狀態資料’或色彩狀態資料。如先前所描 述’狀態資料可包括狀態資訊與實際資料兩者。在一些狀 況下’狀態資料可包含與一或多個OpenGL符記相關聯之 資料。 各種形式之效能資料亦可包括在狀態/效能資訊32内。 大體而言’此效能資料可包括來自控制處理器1〇、頂點處 理器14、圖像處理器12及顯示處理器16中之一或多者之量 度或硬體計量器資料。效能資料可包括圖框率或週期資 料。週期資料可包括用於造型(profiling)、命令陣列、頂 點及索引資料或其他操作之週期的資料。在各種態樣中, 各種形式之狀態及效能資料可包括在由圖像驅動程式18A 自圖像處理系統4收集之狀態/效能資訊32内。 142233.doc •20- 201015485 如先前所描述,應用程式計算裝置2〇可根據所接收之圖 像指令30及狀態/效能資訊32顯示圖像影像之一表示。應 用程式計算裝置20亦可顯示狀態/效能資訊32之一視覺表 示。藉由檢視重新創造之圖像影像及/或狀態/效能資訊” 之視覺表示且與其互自,應用程式開I者可能夠在圖像指 令30之執行期間迅速地識別並解決圖像裝置2之圖像處理 系統4内的效能問題。舉例而言,應用程式開發者可能夠 識別處理器H)、12、14及/或16中之哪些特定者可能具有 效能問題。 在用於識別對任何所識別之效能問題之暫時解決方案 (workaround)或解決方法的嘗試中,開發者可在應用程式 計算裝置20上起始一或多個所請求修改34。舉例而言開 發者可與重新創造之影像或狀態/效能資訊32之表示互動 以創造所請求修改34。在一些狀況下,如在下文更詳細描 述,開發者甚至可直接改變狀態/效能資訊32以產生所請 求修改34。在特定狀況下,所請求修改34可包括用於停用 圖像指令30中之-或多者於圖像裝置2之圖像處理系統种 的執行之一或多個請求,或用於修改圖像指令3〇中之一或 多者之請求。 將所請求修改34自應用程式計算裝置2〇發送至圖像驅動 程式18A,圖像驅動程式18A處置在操作期間針對圖像裝 置2之請求。在許多狀況下,所請求修改34可包括用於修 改在圖像指令30之執行期間在圖像處理系統4内之處理器 10、12、14或16中之一或多者内的狀態資訊(可包括資料) 142233.doc -21- 201015485 的請求。圖像驅動程式18A可接著實施所請求修改34内所 包括的圖像處理系統4内之改變。此等改變可變更處理器 10、12、14及/或16執行圖像指令30之執行流程。在特定 狀況下,圖像指令30中之一或多者可根據所請求修改“而 在於圖像處理系統4中執行期間停用。 圖像驅動程式18A能夠回應於所請求修改34之處理而將 , 經更新之指令及/或資訊35發送至應用程式計算裝置2〇 ^ , 經更新之指令/資訊35可包括由圖像驅動程式18A自圖像處 理系統4收集的經更新之狀態資訊,包括效能資訊、經更 _ 新之指令/資訊3 5亦可包括經更新之圖像指令。 應用程式計算裝置20可使用經更新之指資訊Μ來顯 示圖像影像之-經更新之表示,以及經更新之指令/資訊 35之一視覺表示。應用程式開發者接著可能夠評估先前所 識別之效㈣題是否已得到解決或以其他方式得到處理。 舉例而言,應用程式開發者可能夠分析經更新之影像以及 經更新之指令/資訊35之視覺表示,以判㈣技理、多 邊形或其他特徵是否已得以最佳化,或其他效能參數是$ 〇 已得到改良。 =式上,應用程式開發者可能夠快速且有效地對模擬 圖像裝置2上之圖像處理系統4之操作的應用程式計算裝置 20上之環境内的圖像指入^ +批/ 幻圓像知7 30之執行進行除錯或分析。開發 者可迭代地與應用程十畔曾 • #應用^式汁算裝置2〇上所顯示之及 〜、/效能資訊互動,以分析一 ^^ %景或多個影像圖框_之多 個嶋像以最大化圖像指令3。之執行效能。將在下文更 142233.doc -22· 201015485 詳細呈現應用程式計算裝置20上之該互動及所顯示資訊的 實例。 圖4為說明根據一態樣的可由控制處理器丨〇、圖像處理 器12、頂點處理器14及顯示處理器16執行之操作之額外細 節的流程圖。圖4亦展示用於圖框緩衝器儲存ι〇〇及顯示 1〇2之操作。在一態樣中,控制處理器1〇、頂點處理器 M、圖像處理器12及/或顯示處理器16執行由於圖像指令 30中之一或多者之執行產生的各種操作。 如先前所描述,控制處理器10可控制穿過圖像處理管線 之資料或指令執行之流程的一或多個態樣,且亦可將幾何 形狀資訊提供至頂點處理器如圖4中所展示,控制處 理器10可在90處執行幾何形狀儲存。在一些狀況下,可由 控制處理器10將用於一或多個基元之幾何形狀資訊儲存於 緩衝器15(圖1)中。在一些狀況下,可將幾何形狀資訊儲存 於儲存媒體8中。 頂點處理器14可接著在92處獲得由控制處理器提供及/ 或儲存於緩衝器15中的用於給定基元之幾何形狀資訊以供 處理。在特定狀況下,頂點處理器14可管理幾何形狀資訊 之頂點變#。在特定狀況了,頂點處理器14可冑幾何形狀 資訊執行照明操作(lighting operation)。 頂點處理器14可將其輸出提供至圖像處理器12,圖像處 理器12可在94處對資料執行顯現或光柵化操作。圖像處理 器12可將其輸出提供至顯示處理器16,顯示處理器16以像 素形式準備—或多個圖像影像以供顯示。顯示處理器16可 142233.doc •23· 201015485 在轉對像素資料執行各種操作包括用 種片段之片段處理。在特&此 貧枓之各 特弋狀況下,此可包括如此項技術 已知之深度職、模板測試、摻合或紋理映射中之一 ^多者田執仃紋理映射時,顯示處理器μ可在%處併有 士理儲子及過濾資訊。在—些狀況下圖像處理 ^化資料執行其他操作,諸如加陰影或按比例調整操 框=Γ:6提供輸出像素資訊以供在_處儲存至圖 參 …圖υ卜在其絲、兄可包括在緩衝器 /下,圖框緩衝器可包括在儲存媒體 内。圖f儲存影像資料之—或多個圖框,影像資 = 圖框可接著在102處顯示,諸如在顯示裝 置b上顯不。 參 如先前所描述,可由控制處理㈣、頂點處理器14、圖 像處理器奴_處㈣16巾之—❹者來執行圖像指令 3〇。應隸式開發者通常可能並純瞭解μ能很好地控 制圖像處理系統4内之哪些特定處理器執行圖像指令30中 之哪些者。在特定狀況下,控制處理器ig、頂點處理器 14、圖像處理器12及顯示處理器16中之—或多者在圖㈣ 令3〇之執行期間可能具有效能問題’或充當處理管線内之 潛在瓶頸。應用程式開發者可能常常難以查明瓶頸之位 置,或如何最佳地解決或緩和此種瓶頸之影響。因此,在 -態樣中’可將圖像指令3〇及/或狀態資訊自圖像裝置2提 供至一外部計算裝置(諸如,應用程式計算裝置20)。狀態 142233.doc -24· 201015485 資訊可包括來自控制處理器10、頂點處理器14、圖像處理 器12及顯不處理器16中之一或多者的關於在圖像指令3〇之 執行期間發生之各種操作(諸如,圖4中所展示之彼等操作) 的資料。應用程式計算裝置20可創造一圖像影像,該圖像 影像展示於裝置2上,以便幫助以一高效且有效之方式識 別並解決瓶頸。 圖5為說明根據一態樣的圖3中所展示之圖像驅動程式 18A之額外細節的方塊圖。如先前所描述,圖像驅動程式 18A可包含可在圖像處理系統4内執行(諸如,由控制處理 器10、頂點處理器14、圖像處理器12及顯示處理器μ中之 一或多者執行)且可為圖像驅動程式18之部分的指令。圖 像驅動程式18A之執行允許圖像處理系統4與應用程式計算 裝置20通信。在一態樣中,圖像驅動程式18A可包含可在 圖像處理系統54内執行且可為圖像驅動程式68之部分的指 令0 圖像驅動程式18A在執行時包括各種功能區塊,該等功 能區塊在圖5中展示為輸送介面11〇、處理器使用模組 112、硬體計量器模組114、可管理其他狀態及/或效能資 料之狀態/效能資料模組116、API跡線模組118,及超覆模 組120。圖像驅動程式18A使用輸送介面模組11〇來與應用 程式計算裝置20通信。 處理器使用模組112收集並維護用於控制處理器1〇、頂 點處理器14、圖像處理器12及顯示處理器16中之一咬多者 之處理器使用資訊。處理器使用資訊可包括處理器週期 142233.doc -25· 201015485 或效能資訊。週期資料可包括用於造型、命令陣列、 點及索引資料或其他操作之週期的資料。處理器使用模 可接著紅由輸送介面模組】1〇將該處理器使用資訊提 I、至應用程式計算贺署Μ 如 松心 裝置20在一些狀況下,當處理器使用 、,、·且112接㈣此f訊時,其以1时方式將此資訊提 供至裝置2〇。在其他狀況下,處理器使用模組⑴可在接 收到來自裝置2G之請求後即提供該資訊。 硬體計量器模組i i 4收集並維護在指令由控制處理器 1〇、圖像處理器12、頂點處理器14或顯示處理器16中之一 或多者執行期間的各種硬體計量器。計量器可追蹤關於圖 像處理系統4内之指令執行之各種狀態指示符及/或量度。 硬體計量器模組114可非同步地將資訊提供至裝置或在 請求後即將資訊提供至裝置2〇。 狀態/效能資料模組116收集並維護用於圖像處理系統4 中之控制處理器10、圖像處理器12、頂點處理器14及顯示 處理器16中之一或多者的其他狀態及/或效能資料。舉例 而言’狀態資料在一些狀況下可包含圖像資料。狀態資料 可包括與一頂點陣列有關之資料,諸如位置、色彩、座 標、大小或重量資料。狀態資料可進一步包括紋理狀態資 料、點狀態資料、線狀態資料、多邊形狀態資料、剔除狀 態資料、α測試狀態資料、摻合狀態資料、深度狀態資 料、模板狀態資料’或色彩狀態資料。效能資料可包括各 種其他量度或週期資料。狀態/效能資料模組116可非同步 地將資訊提供至裝置20或在請求後即將資訊提供至裝置 142233.doc • 26- 201015485 20 - API跡線模組118管理由圖像處理系統4執行且經由輸送 介面模組11 0輸送至應用程式計算裝置20之圖像指令之流 程及/或跡線。如先前所描述,圖像裝置2將由圖像處理系 統4在其處理管線中執行之圖像指令3〇之一複本提供至裝 置20。API跡線模組11 8管理此等圖像指令3〇之捕獲及輸 送。API跡線模組Π8亦可提供與用於將圖像指令3〇映射至 圖像指令30之視覺表示之指令映射資訊31(圖丨)一起使用的 特疋資訊,諸如,可能已用於產生圖像指令3〇之指 超覆模組120允許圖像驅動程式丨8A改變或超覆圖像處理 系統4内之特定指令之執行。如先前所描述應用程式計 算裝置20可將-或多個所請求修改(諸如修改3句發送至 圖像裝置2。在㈣狀況下,所請求修改34可包括用於停 用圖像指令30中之-或多者於圖像處理系統4中的執行之
一或多個請求,或用於修改圖像指令3〇中之一或多者之請 求。在-些狀況下,所請求修改34可包括用於改變狀態/ 效能資訊32之請求。 “ 超覆模組120可接受並處理所請求修改Μ。舉例而士, 超覆模組m可自裝置2G接㈣於修改圖像指令辦:一 或=之任何請求’以及用於修改狀態/效能資㈣ 何请求,且將料請求發送 _、圖像處理器12、頂點處理統4控制處理 一 頂,占處理态14及顯示處理器16中之 ^ ° I處理此等請求並產生經更新之指令/資訊 I42233.doc •27- 201015485 超覆模組120可接著將經更新之指令/資訊35發送至應 用程式計算裝置20以供處理,如先前所描述。 以該方式,圖像驅動程式丨8A在圖像裝置2與應用程式計 算裝置20之間提供—介面。圖像驅動程式18八能夠將圖像 指令及狀態/效能資訊32提供至應用程式計算裝置2〇,且 亦自應用程式計算裝置2G接收所請求修改34。在處理該等 所叫求t改34之後,圖像驅動程式丨8A隨後能夠將經更新 之指令/資訊35提供回至應用程式計算裝置2〇。 圖6為根據本發明之一態樣的可由圖工中所展示之圖像裝 置2或圖2中所展示之圖像裝置52執行之方㈣流程圖。僅 出於說明之目@,將假定在隨後描述中,由圖像裝置2來 執行圖6之方法。 圖像裝置2可將複數個圖像指令發送至一諸如應用程式 计算裝置20之計算|置(121)。由圖像裳置2來執行諸如圖 像扣7 3 0之圖像指令以顯示一圖像影像。圖像指令3 〇可包 含自應用程式設計介面(API)s令產生之二進位指令。在 忍樣中,圖像裝置2可使用圖像驅動程式丨8A之Apl跡線 模組118(圖5)發送圖像指令3G 圖像裝置2亦將狀態/效能 資訊32發送至應用程式計算裝置2()(122)。狀態/效能資訊 32與由圖像裝置2對圖像指令3〇之執行相關聯。在一態樣 中,圖像裝置2可使用圖像驅動程式18A之狀態/效能資料 模組U6發送狀態/效能資訊32。狀態/效能資訊仍包含來 自圖像裝置2之執行圖像指令3〇之處理器1〇、12、14或16 中的-或多者之狀態資訊或資料,且可包括圖像資料。狀 142233.doc •28· 201015485 態/效能資訊32亦可包含自此等處理器1〇、12、14或16中 之一或多者所搜集之效能量度。在此等狀況下,圖像裝置 2可使用圖像驅動程式18A之處理器使用模組112及/或硬體 計量器模組114發送狀態/效能資訊32。 圖像裝置2亦能夠自應用程式計算裝置2〇接收一或多個 所清求修改34(123)。此等所請求修改34可使得圖像裝置2 修改由圖像裝置2對圖像指令30之執行。所請求修改34可 包括以下請求中之一或多者:用於停用圖像指令3〇中之一 攀 或多者於圖像裝置2上之執行的請求、用於在圖像裝置2上 修改圖像指令30中之一或多者之請求,或用於在圖像裝置 2上修改狀態資訊之請求。在一態樣中,圖像裝置2可使用 圖像驅動程式18A之超覆模組120、API跡線模組118及/或 狀態/效能資料模組116接收所請求修改34。 在處理所請求修改34後’圖像裝置2即可基於所請求修 改34將經更新之指令及/或狀態資訊35發送至應用程式計 算裝置20(124)。在一態樣中’圖像裝置2可使用圖像驅動 程式18A之API跡線模組11 8及/或狀態/效能資料模組丨丨6發 送經更新之指令/資訊3 5。 :¾圖像裝置2未完成處理用於一或多個圖像影像咸影像 圖框之資訊(125),則圖像裝置可針對多個影像或一圖像影 像之多個圖框重複圖像指令30之發送、狀態/效能資訊32 之發送、所請求修改34之接收’及經更新之指令/資訊35 之發送。在一些狀況下,圖像裝置2可根據圖像指令30及 狀態/效能資訊32在顯示裝置6上顯示一或多個圖像影像。 142233.doc -29- 201015485 圖7為根據—態樣料由應隸式計算裝㈣經由模擬 "用程式28(圖1)或模擬應用程式巧(圖於處理器u上之 執行來執行的方法之流_。應用程式計算裝置20自一外 部圖像裝置接收複數個圖像指令(諸如,I自外部圖像裝 置之圖像才"30)(13〇)。由圖像裝置2來執行圖像指令% 以在顯不裝置6上顯示諸如三維⑽圖像影像之—或多個 圖像影像。在-態樣中,圖像指令3〇包含-在執行時顯現 圖像影像之呼叫流。力—能接 rk 在 I、樣中,該呼叫流包含自應用程 式設計介面(API)指令產生之二進位指令。 •應用程式计算裝置20可自圖像裝置2接收狀態及/或效能 資訊32(132)。狀態/效能資訊32與圖像指令3〇於圖像裝置2 上之執行相關聯。狀態/效能資訊32可包括指示圖像裝置2 在其顯現圖像影像時之—或多個狀態之狀態資訊。狀態資 訊可包括來自圖像裝置2之執行圖像指令3〇之一或多個處 理器(諸如,控制處理器丨0、圖像處理器丨2、頂點處理器 14,及/或顯示處理器16)的狀態資訊。狀態/效能資訊32在 一些狀況下可包括圖像資料(例如,基元資料及/或光栅化 資料)》 應用程式計算裝置20可根據圖像指令3〇及狀態/效能資 訊32顯示一或多個圖像影像之一表示(134)。以該方式,應 用程式計算裝置20能夠在模擬圖像裝置2之模擬環境内顯 示此等圖像影像之一表示。可經由模擬應用程式28於應用 程式計算裝置20之處理器22上之執行來提供該模擬環境。 應用程式§十算裝置20在顯示裝置24上顯示圖像指令30及 142233.doc •30- 201015485 狀態/效能資訊32之至少一部分(136)。在一些狀況下,當 圖像指令30包括二進位指令時,應用程式計算裝置2〇顯示 圖像扣令30之一視覺表示。如先前所描述,應用程式計算 裝置20可使用指令映射資訊31來將圖像指令%映射至指令 30之一表示。該表示可包含可視覺地顯示於顯示裝置24上 的相關聯之圖像應用程式設計介面(API)指令。亦可在顯 不裝置24上顯示狀態/效能資訊32之一視覺表示。若尚存 在待處理之圖框(138),則可針對該一或多個圖像影像之多 籲 ㈤影像圖框重複圖像指令之接收(130)、狀態資訊之接收 (132)、圖像影像之表示的顯示(134)以及指令及狀態資訊 之顯不〇36)。以此方式,應用程式計算裝置20能夠在顯示 裝置24上顯示靜態圖像影像與移動圖像影像(包括3d影像) 兩者。 在一態樣中,處理器22可執行模擬應用程式28以在顯示 裝置24上顯示一導覽控制器(navigation controller)。使用 泰者(諸如,應用程式開發者)可與顯示於顯示裝置24上之圖 像使用者介面内之該導覽控制器視覺地互動。圖像使用者 ;丨面可接收來自應用程式開發者之使用者輸入以與導覽控 制器互動,以改變該一或多個所顯示之圖像影像之透視 圖。可接著基於至導覽控制器之使用者輸入將圖像影像之 一經修改之透視圖顯示於圖像使用者介面中。 大體而言,在將該一或多個圖像影像視覺地表示及顯示 於顯示裝置24上之後,模擬應用程式28(在處理器22上之 執仃期間)可接收使用者輸入以修改圖像影像。舉例而 142233.doc • 31 - 201015485 言,如將在下文進-步詳細播述的,應用程式計算裝置2〇 可接收使用者輸人,該使用者輪人指^對由外部圖像裝置 其中圖像裝置2相對於應用程式計算裝置2G為外部)對圖 像指令30之執行的-或多個所請求較34。在接收到此使 用者輸人後,應用程式計算裝置細卩將所請求修改Μ發送 至圖像裝置2以供處理。圖像裝置2可接著處理所請求修改 34,如先前所描述。在一態樣中,所請求修改“可包括以 下請求中之至少一者:用於停用圖像指令3〇中之—或多者 於圖像裝置2上之執行的請求、用於在圖像裝置2上修改圖 像指令30中之一或多者之請求,及用於在圖像裝置2上修 改狀態/效能資訊32之請求。 應用程式計算裝置20可隨後自圖像裝置2接收複數個經 更新之圖像指令及/或資訊3 5。該等經更新之圖像指令/資 訊35可與所請求修改34相關聯。經更新之指令/資訊^可 包括與對由圖像裝置2對圖像指令30之執行的所請求修改 34相關聯的經更新之狀態資訊。在接收到經更新之指令/ 資訊35後’應用程式計算裝置2〇即可根據經更新之指令/ 資sil 35顯示該一或多個圖像影像之一經更新之版本。 圖8為根據本發明之一態樣的可由應用程式計算裝置2〇 經由模擬應用程式28(圖1)或模擬應用程式29(圖2)於處理 器22上之執行來執行的方法之流程圖。在此態樣中,應用 程式計算裝置2〇可自圖像裝置2接收圖像指令30(150)。應 用程式計算裝置20亦可自圖像裝置2接收狀態及/或效能資 訊32(1 52)。在接收到圖像指令3〇及狀態/效能資訊32後, 142233.doc -32- 201015485 應用程式計算裝置20即可根據圖像指令30及狀態/效能資 訊32顯示一或多個圖像影像之一表示(I54)。
在創造此等影像期間或創造此等影像後,應用程式計算 裝置20可接收輸入以識別一或多個效能問題(156)。舉例而 言’在一些狀況下,應用程式計算裝置20可自動地接收來 自模擬應用程式28之輸入以基於圖像指令30之執行及/或 基於由圖像裝置2提供之狀態/效能資訊32之分析來識別圖 像指令30之執行中之潛在瓶頸。此等瓶頸可能與圖像指令 30於圖像裝置2之處理管線(諸如’控制處理器1〇、圖像處 理器12、頂點處理器14,及/或顯示處理器16)内之執行相 關聯。在一些狀況下,應用程式計算裝置2〇可接收來自使 用者(諸如,應用程式開發者)的指定或以其他方式識別在 圖像指令30於應用程式計算裝置2〇上執行期間的一或多個 效能問題的輸入,以創造圖像影像。 在-態樣中,狀態/效能資訊32包括與圖像指令3〇於圖 像裝置2上之執行相關聯的效能資訊。應用程式計算裝置 2 〇可分析該效能資訊以識別在圖像裝置2執行圖像指令⑼ 期間圖像裝置2上之一或多個效能問題。在一些狀況下, 該效能資訊可包括自可於圖像襄置2上執㈣像指令取 處理器1〇、12、14或16中的-或多者所搜集之效能量产。 當應用程式計算裝置20分析自圖像 恭展置2所接收之效能資 訊時,其可識別此等處理器1〇 14或16中之一或吝去 中的減小之效能。 ^夕有 在識別到該等問題後 應用程式計算裝置20可將對圖像 142233.doc • 33 - 201015485 參 指令30之執行的—或多個所請求修改抑送至圖像裝置 2(間。在-些狀況下’應用程式計算裝置2〇可接收指定 所請求修改34中之-或多者的使用者輸人。在—態樣中, 所請求修改34可包括以下請求中之至少一者:用^停用圖 像指令30中之-或多者於圖像裝置2上之執行的請求用 於在圖像裝置2上修改圖像指令3〇中之一或多者之請求, 及用於在圖像裝置2上修改狀態/效能資訊32之請求f 在圖像裳置2已處理所請求修改34(諸如先前所描述)之 後,應用程式計算裝置20可自圖像裝置2接收複數個經更 新之指令及/或資訊35(160)。經更新之指資訊35可包括 經更新之圖像指令及/或經更新之效能資訊。任何經更新 之圖像指令及/或效能資訊可與對由圖像裝置2對圖像指令 30之執行的所請求修改34相關聯。應用程式計算裝置可 接著根據該等經更新之圖像指令及經更新之效能資訊在顯 不裝置24上顯示該一或多個圖像影像之一經更新之表示。
應用程式計算裝置2G可接著分析該經更新之效能資訊以 判定先前所識別之效能問題中之—或多者是否已得到解決 ⑽)。在-些狀況下,應用程式計算裝置2()可能夠自動地 分析或處理經更新之指令/資 訊3 5以判定特定效能問題是 否已得到解決或以其他方式得到緩和。在一些狀況下,在 應用程式開發者分析經更新之指令/資訊35及/或查核已顯 示於顯示裝置24上的圖像影像之經更新之表示後,應用程 式開發者即可能夠經由使用者輸入向應用程式計算裝置2〇 才日不特疋效能問題已得到解決或以其他方式得到緩和。 I42233.doc -34- 201015485 應用程式計算裝置2G以—迭代方式重複以下動作:識別 現有效能問題,將所請求修改34發送至圖像裝置2,及接 收經更新之指令及/或資訊35,直至所識別之效能問題已 得到解決或以其他方式得到緩和為止。應用程式計算裝置 20亦針對視覺地表示於顯示裝置24上之該—或多個圖像影 像之多個影像圖框重複圖8中所展示之動作(164)。以此方 式’應用程式計算裝置20能夠在顯示裝置24上顯示靜態圖 像影像與移動圖像影像(包括3D影像)兩者。 圖9為說明根據一態樣的柄接至用於在圖像窗2〇3中顯示 資訊之顯示裝置2(H的圖像裝置2⑽之—實例的概念圖。若 (例如)圖像裝置200為圖像裝置2(圖υ之部分,則顯示裝置 2(Η可為應用程式計算裝置2〇中之圖像裝置24之部分。圖 像裝置2〇〇能夠顯示-则像影像2〇2。顯示裝置2〇1能夠 基於圖像指令及自圖像裝置2〇〇發送之狀態/效能資訊在窗 203内顯示為圖像影像202之一表示之3D圖像影像21〇。 顯示裝置201亦可能夠顯示此等指令及狀態/效能資訊之 視覺表示,以使得開發者可改變此等指令及資訊以修改圖 像影像210或包括圖像影像21〇之整個場景。顯示裝置 可包括在耦接至圖像裝置2〇〇且能夠自圖像裝置200接收該 等指令及狀態/效能資訊的任何類型之計算裝置(未展示) 内。出於簡單之目的,在圖1〇中所展示之概念圖中省去包 括顯示裝置201之計算裝置。 如先前所描述,圖像裝置200能夠顯示3D圖像影像 2〇2(其在圖9之實例中為一立方體)。圖像裝置2〇〇亦具有小 142233.doc -35- 201015485 鍵盤204。使用者可與小鍵盤2〇4互動以操縱圖像裝置 2〇〇。小鍵盤204可包括若干個鍵及/或按鈕。圖像裝置2〇〇 能夠經由連接器206將圖像指令及狀態/效能資訊發送至— 包括圖像裝置201之裝置(例如’應用程式計算裝置2〇)。在 一態樣中,連接器206包含一通用串列匯流排(USB)連接 器。在其他態樣中,可使用不同形式之連接器,諸如,美 國電氣電子工程師學會(IEEE)1394連接器。在一些態樣 中,無線通信可替換連接器206。 如圖9之實例中所展示,顯示裝置2〇1可在圖像使用者介 面内顯示各種類型之資訊。在此實例中,顯示裝置2〇ι在 圖像使用者介面内顯示圖像窗203。窗2〇3包括顯示區 211、圖像指令區208,及狀態/效能資訊區214。顯示區 211包括3D圖像影像210,其如先前所描述為3〇圖像影像 202之一表示。在此實例中,3D圖像影像包含立方體。根 據一態樣,顯示於顯示裝置201上之資訊包含顯示於圖像 裝置202上之資訊之一表示或模擬(用於除錯及測試之目 的)。 在圖9之實例中,圖像指令區2〇8包括已自圖像裝置· 接收之-或多個圖像指令之-視覺表示。如先前所描述, 該等指令之視覺表*可包含料指令之—表舉例而 言,若圖像裝置200發送二進位圖像指♦,則顯示裝置2〇ι 可以另-形式顯示該等二進位指令之一表示,諸如較高階 應用程式設計介面(API)指令(例如,〇_证指令)。可使 用映射資訊(諸如,圖!中所展示之映射資訊31)來將所接收 142233.doc -36- 201015485 之二進位指令映射成可在圖像指令區208内顯示之另一格 式。 狀態/效能資訊區214包括已自圖像裝置200接收的選定 狀態及/或效能資訊之一視覺表示。可使用所接收之圖像 指令及狀態/效能資訊來在顯示區内顯示3D圖像影像21〇。 在一態樣中,圖像裝置200可利用一實施狀態/效能資料模 組(諸如,圖5中所展示之狀態/效能資料模組116)之圖像驅 動程式來提供各種狀態及/或效能資料。所接收之狀萍、/效 # 能資訊可包括圖像資料(例如,基元資料及/或光柵化資 料)。 窗203亦包括一或多個選擇器212A-212N。使用者可選 擇此等選擇器212A-212N中之任一者。如將在下文更詳細 描述的,每一選擇器212A_212N可與不同功能(諸如,統計 及導覽功能)相關聯。窗203進一步包括選擇器216A_216N 及218A-218N,該等選擇器中之每一者可供使用者選擇。 如將在下文參看圖更詳細描述的,每一選擇器216A_ 216N及218A-218N亦可與不同功能(諸如,量度功能、超 覆功能,及/或紋理功能)相關聯。 f用者(諸如’應用程式開發者)可改變顯示於窗内
Hi舉例* a,使用者可修改顯示於圖像指令區· 内之才日7中之-或多者,或狀態/效能資訊區川内之狀態/ 效能資訊中之任一者。 了接著將窗203内由你用jjL. jt〇 門田使用者起始之任何改變作為所請求 修改發送回至圖像I署 置00。圖像裝置2〇〇可接著處理此等 142233.doc •37- 201015485 修改,且提供可接著顯示於圖像指令區208及/或狀態/效能 資訊區214内的經更新之指令及/或資訊。亦可使用該等經 更新之心令及/或資訊在顯示區211内顯示3d圖像影像21〇 之一經修改版本。 籲 在一態樣中,可由包括顯示裝置201之計算裝置(諸如, 圖1中所展示之應用程式計算裝置20)來分析可顯示於區 214内之狀態及/或效能資訊以識別在圖像指令於圖像裝置 200上之執行期間的潛在瓶頸。最終,使用者(諸如,應用 程式開發者)可能希望在除錯程序期間檢視窗2〇3中所呈現 之資訊以最佳化圖像指令於圖像裝置2〇〇上之執行。如先 前所描m在圖像裝置200中之圖像處理管線内之任 何處引入瓶頸,且應用程式開發者可能難以隔離該等瓶頸 以用於效能最佳化。經由狀態及/或效能資訊之分析,可 在窗203中(諸如,在一或多個子窗或彈出窗内,或在窗 203之區214内)顯示潛在瓶頸及可能的暫時解決方案。 二中’窗2°3可顯示一關於自圖像裝置2°〇所接收 可於的::Γ叫流中所遭遇的瓶頸之報告,且亦可顯示 時:…案。在一些狀況下,可將此等可能的暫 二=為「若-則」情況呈現給使用者。舉例而 :況呈現,=之非最佳化三角形清單可作為-可能的 單可作為一第條帶最佳化框架預先處理彼清 暫時解決方案情、兄二呈:。使用者可選擇此等可能的 該等所請求修改= 所請求修改,且接著將 傳輸回至圖像裝置2〇〇,在圖像裝置200處 142233.doc •38- 201015485 可量測效能。圖像裝置200接著發送可呈現於圖像指令區 208及/或狀態/效能資訊區214内的經更新之指令/資訊。使 用者可接著檢視結果,且比較各種不同潛在暫時解決方案 之結果以識別一最佳解決方法。使用者可使用此程序來迅 速地識別可採取以便自其應用程式移除瓶頸之一系列步 驟。 使用者可迭代地繼續在窗2〇3内作出調整以用於實驗或 試/錯(trial/error)除錯之目的。使用者可實驗圖像指令及狀 態/效能資訊之各種不同形式或組合以識別顯示於顯示區 211内之影像或場景之改變。使用者可使用由窗2〇3之内容 提供之模擬環境來迭代地檢視並修改圖像指令(其可為一 呼叫流之部分),及由圖像裝置2〇〇提供之狀態,而不必重 新編譯原始碼(source code)且在圖像裝置2〇〇上重新執行所 編譯之程式碼。 在一些狀況下,使用者可操縱按鈕212A_212N中之一或 多者以操縱一圖像導覽控制器(諸如,圖像相機),以修改 圖像影像210之透視圖。可將該操縱捕獲為接著發送回至 圖像裝置200之所請求修改。接著使用由圖像裝置2〇〇提供 之經更新之指令/資訊來修改圖像影像21 〇之透視圖。 在一些狀況下,可在窗203之區214中作為可修改之實體 提供各種紋理及/或狀態資訊。另外,使用者甚至可選擇 (例如)顯示區211内之圖像影像210之一像素,以便識別圖 像指令區208内之一或多個對應指令。以此方式,使用者 可有效地向後操演至一用於顯現或創造彼像素或圖像影像 142233.doc -39- 201015485 210之其他部分之顯現指令或呼叫。因為圖像裝置2〇1可在 由203中創造影像210,完全如同其呈現於圖像裝置2〇〇 上,故使用者能夠迅速地隔離其應用程式中之問題(該應 用程式可係基於顯示於圖像指令區2〇8中之各種圖像指 令),且將狀態/效能區214内之任何狀態修改成原型新效 應。 圖10為說明根據一態樣的耦接至在圖像窗22〇内顯示資 訊之顯示裝置2〇1的圖像裝置200之另一實例的概念圖。在 此態樣中’窗220包括各種指令資訊以及量度資訊。 舉例而s ’在圖像指令區208内,展示各種圖像指令 242。圖像指令242可為由圖像裝置2〇〇提供之圖像指令之 一子集。舉例而言,若圖像裝置200為圖像裝置2之部分, 則圖像指令242可為圖像指令30之一子集。在一些狀況 下,可使用映射資訊(諸如,圖丨中所展示之映射資訊31或 圖2中所展示之映射資訊33)來將自圖像裝置2〇〇所接收的 傳入指令映射至此等指令之一視覺表示,此等指令之視覺 表示經實質化為顯示於圖像指令區208内之指令242。舉例 而言,若所接收之指令處於二進位形式,則指令242可包 含用於產生二進位形式之指令之API指令。 如圖10之實例中所展示,圖像指令242包括高階指令與 低階指令兩者。使用者(諸如,應用程式開發者)可使用滚 動條244來檢視指令242之整個集合。特定高階指令可包括 一或多個低階指令(諸如,較低階API指令)。應用程式開 發者在一些狀況下可選擇(例如,諸如藉由點選)一特定高 142233.doc •40- 201015485 階指令以便檢視為相關聯之高階指令之部分或由相關聯之 高階指令執行之任何低階指令。如先前所描述,使用所接 收之圖像指令(諸如,指令242)來產生圖像影像202之表 示’該表示包含展示於窗22〇之顯示區211中之圖像影像 210 〇 在圖10中之狀態/效能資訊區214之下方展示各種選擇按 奴。此等選擇按鈕包括紋理按鈕236、超覆按鈕238,及量 度按紐240。在圖10之實例中’應用程式開發者已選擇量 _ 度按紐240。在選擇此按鈕後,即可顯示各種量度選項。 舉例而言’可在狀態/效能區214之上方顯示一或多個量度 按鈕234A-234N。每一量度按鈕234A-234N可與一特定量 度相關聯。在一些狀況下,此等量度中之一或多者可為預 定義或預組態之量度類型,且在一些狀況下,應用程式開 發者可選擇或定製該等量度中之一或多者。實例量度可包 括(例如)以下中之任何一或多者:每秒圖框數、忙碌百分 比(針對一或多個處理器)、匯流排忙碌、記憶體忙碌、頂 籲 點忙碌、每秒頂點數、每秒三角形數、每秒像素時脈數、 每秒片段數等。應用程式開發者可選擇量度按鈕234a_ . 234N中之任一者以檢視關於選定量度之額外細節。 .舉例而言,若量度按紐234A與每秒圖框數相關聯,則應 用程式開發者可選擇量度按鈕234a以檢視關於圖像影像 210的每秒圖框數(與效能有關)之額外細節,或選擇圖像影 像21 0之部分。開發者在一些狀況下可選擇量度按紐 234A’或將量度按鈕234A拖曳至狀態/效能資訊區214中。 142233.doc •41 - 201015485 關於每秒圖框數之詳細資訊可顯示於狀態/效能資訊區214 内。開發者亦可將量度按鈕234A拖曳至顯示區211中,或 選擇圖像影像210之一部分以用於應用量度按鈕234a。舉 例而言,開發者可在選擇量度按鈕234A之後選擇圖像影像 210之一部分,且接著關於彼選定部分的每秒圖框數之詳 細資訊可顯示於狀態/效能資訊區214内。以該方式,開發 者可基於量度按鈕234A-234N中之一或多者之選擇及甚至 圖像影像210(或其一部分)之可能選擇來檢視針對任何數目 之不同量度類型的效能資料。 在一態樣中’可由圖像裝置200之圖像驅動程式(例如, 圖5中所展示之圖像駆動程式a)來提供可顯示於窗内 之量度資料。此圖像驅動程式可實施硬體計量器模組(例 如,圖5之硬體計量器模組114)及/或處理器使用模組㈠列 如,圖5之處理器使用模組112)以提供可接著作為量度資 料顯示於窗220内之各種資料。 開發者在一些狀況下亦可選擇紋理按鈕236。在選擇 後,即可由圖像裝置201來顯示與圖像影像21〇有關的各種 形式之紋理資訊。舉例而言,紋理資訊可顯示於窗22〇 内’諸如’顯示於狀態/效能資訊區214内。在一些狀況 下,紋理資訊可顯示於一額外(例如,彈出)窗(未展示) 内。開發者可檢視所顯示之紋理資訊,但在一些狀況下亦 可修改紋理資訊。在此等狀況下,可將對紋理資訊之任何 修改作為所請求修改傳播回至圖像裝置200。在自圖像裝 置200接收到經更新之指令/資訊後,即可在顯示區之“内 142233.doc -42 - 201015485 顯示對圖像影像210之改變。圖“包括可在選擇紋理按鈕 236後即被顯示之特定紋理資訊。 開發者在一些狀況下亦可選擇超覆按紐238。在選擇超 覆按鈕238之後,可顯示(例如,在窗22〇或另一窗内)可由 開發者修改或超覆之特定資訊(諸如,指令及/或狀態資 訊)任何修改或超覆可包括在發送至圖像裝置2〇〇之一或 多個所請求修改内。在一態樣中,圖像裝置2〇〇可實施一 諸如圖像驅動程式18A(圖5)之圖像驅動程式,以處理任何 # 所請求修改。舉例而言,圖像裝置200可使用超覆模組120 來處理包含一或多個超覆之該等所請求修改。 在一些狀況下,開發者可超覆展示於圖像指令區2〇8内 之圖像指令242中之一或多者。在此等狀況下,開發者可 鍵打或以其他方式在圖像指令區2〇8内鍵入資訊以修改或 超覆圖像指令242中之一或多者。可接著將此等修改發送 至圖像裝置200,圖像裝置2〇〇將提供經更新之指令/資訊 鲁以更新圖像影像21 〇於顯示區211内之顯示。開發者可改變 (例如)圖像指令242之參數、排序、類型等以超覆由指令 242提供之一或多個功能。在一態樣中,可使用映射資訊 3i(圖1)或映射資訊33(圖2)來將對圖像指令242之改變映射 或轉換成可接著提供至圖像裝置2〇〇之另一格式之對應指 令(例如,二進位指令)。 在些狀況下’開發者亦可選擇超覆按紐238以超覆與 由圖像裝置200實施之處理管線相關聯的一或多個功能。 圖12展示一可在選擇超覆按鈕238後即被顯示給開發者的 142233.doc •43- 201015485 超覆螢幕(override screen)之一實例。 窗220進一步包括選擇按鈕23〇及232。選擇按鈕23〇為一 統計按紐’且選擇按鈕232為一導覽按鈕。開發者可選擇 統計按鈕2 3 0以檢視與圖像影像2丨〇之顯示相關聯之統計資 sfl。此統計資訊可包含一或多個曲線圖、表格,或其他形 式之統計資訊。圖11提供可在使用者選擇統計按鈕23〇後 即被顯示之特定統計及紋理資訊之一實例。開發者可檢視 統計資訊以獲得與圖像影像21〇之顯示相關聯的各種效能 或其他相關問題之較佳理解。 0 開發者可選擇導覽按紐232以在顯示區211内導覽,且甚 至可能改變顯示區211内之圖像影像21〇之透視圖。舉例而 吕,在選擇導覽按鈕232後,即可顯示一 3D圖像相機或導 覽控制器。開發者可與該控制器互動以導覽至顯示區2ιι 内之任何區。開發者亦可使用該控制器來(諸如)藉由使圖 像影像210旋轉或將圖像影像21〇放大/縮小改變圖像影像 2 10之透視圖。 在一態樣中,可將經由導覽按鈕232之選擇及與圖像導 ❹ 覽控制器之互動進行的任何開發者起始之改變作為所請求 修改(例如,圖1中所展示的所請求修改84之部分)傳播回至 圖像裝置2GG。可接著使用接著由圖像|置2⑻提供之經更 · 新之指令/資訊來更新圖像影像210之顯示(例如,透視 圖)。另外,經更新之指令可顯示於圖像指令區2〇8内。經 更新之狀態/效能資訊亦可顯示於狀態/效能資訊區214内。 因此’開發者可有效且高效地判定用於顯現及顯示圖像 142233.doc 44· 201015485 影像210之替代透視、定向、視圖等可如何影響圖像裝置 200之效能及狀態。此對於開發者最佳化用於在顯示於顯 示裝置201上之模擬環境中創造及顯現圖像影像21〇之圖像 指令242且有效地最佳化顯示於圖像裴置2〇〇上之圖像影像 202可係非常有用的。在一態樣中,亦可將基於窗22〇内的 開發者起始之選擇及控制的圖像影像210之位置、透視、 定向等之任何改變視為在測試程序期間對可顯示於圖像裝 置200上之圖像影像202之改變。 經由與圖像使用者介面内之圖像窗220之互動,應用程 式開發者可試圖識別在圖像指令242之執行期間的效能問 題及/或瓶頸,圖像指令242為由圖像裝置200執行以創造 圖像影像202之圖像指令之一視覺表示。基於由圖像裝置 2〇〇接收之圖像指令242及狀態/效能資料將圖像影像2〇2之 一表示(亦即’圖像影像210)顯示於顯示區211内。藉由檢 視圖像指令242、圖像影像210及狀態/效能資訊以及基於 對此等中之一或多者的使用者起始之修改的效應,應用程 式開發者可互動地且動態地進行試誤或除錯處理以最佳化 指令於圖像裝置200上之執行,且消除或緩和指令執行期 間之任何效能問題(例如,瓶頸)。 圖11為說明根據一態樣的可由圖1〇之顯示裝置2〇1顯示 的統計及/或紋理資訊250之一實例的圖。舉例而言,可在 使用者選擇紋理按鈕236後即顯示統計/紋理資訊25〇之一 或多個部分。亦可在使用者選擇統計按鈕23〇後即顯示統 計/紋理資訊250之一或多個部分。 142233.doc -45- 201015485 圖11中所展示之統計/紋理資訊250包括各自可具有一或 多個值之若干個實例統計及/或紋理欄位。舉例而言,資 訊250包括用於顯現及顯示圖像影像210可能需要之若干個 顯現呼叫(與圖像指令242相關聯)之值。因為窗22〇中所展 示之資料係基於圖像裝置200之模擬,所以顯現呼叫之數 目可有效地指示在圖像裝置200上顯現及顯示圖像影像202 可能需要的呼叫之數目。一顯現呼叫可與圖像指令242中 之一或多者(諸如’ 一或多個高階指令及/或低階指令)相關 聯。 統計/紋理資訊25 0亦包括每顯現呼叫之平均紋理改變及 每顯現呼叫之平均狀態改變的值。此等值可為開發者提供 關於可影響總效能的紋理及/或狀態改變之數目之資訊。 對於圖像影像210中之影像資料之一特定圖框,統計/紋 理資訊250可包括經顯現以創造影像資料之該圖框之基元 的頂點之數目及三角形之數目的值。另外,亦顯示每顯現 呼叫之平均三角形數及每顯現呼叫之平均頂點數的值。此 等值對於應用程式開發者估計藉由圖像指令實施之顯現呼 叫之效率可係有幫助的。 統計/紋理資訊250亦包括紋理大小資訊。如圖u之接近 底部處所展示,資訊250可提供一或多個紋理大小之值(例 如,64x64、64x128 ' 128x128、256x256),其指示用於圖 像影像210之每一紋理大小之數字。 另外,統計/紋理資訊250亦包括與顯現效能及效率有關 之各種值。舉例而言,資訊25〇包括用於圖像影像21〇之最 142233.doc -46 - 201015485 佳化紋理之百分比的值。在一些狀況下,包括顯示裝置 201之計算裝置(例如,應用程式計算裝置2〇)可基於圖像指 令及/或自圖像裝置200所接收之狀態/效能資訊計算此值。 應用程式開發者可能通常想要此百分比值儘可能高。若此 百分比值低於所要值,則開發者可操縱或改變圖像指令、 狀態資訊、效能資訊,或窗220内之其他參數以將一或多 個所請求修改提供至圖像裝置2〇〇。在自圖像裝置2〇〇接收 到經更新之指令/資訊後,可顯示針對最佳化紋理之百分 比的經更新值/開發者可(諸如)在除錯或試誤作業階段 (session)期間繼續此程序,以最佳化提供於窗22〇中之模擬 環境内之紋理。開發者可能夠以一有效且高效之方式進行 此操作’而不必重新編譯任何程式碼/指令。 統計/紋理資訊250進一步包括經編索引及條帶化之頂點 之百分比的值。此等值可指示用於圖像影像21〇之顯現及 顯示之最佳化三角形的百分比。應用程式開發者可能通常 想要經編索引及條帶化之頂點之百分比值儘可能高。若該 等百分比值低於所要值,則開發者可操縱或改變圖像指 令、狀態資訊、效能資訊,或窗22〇内之其他參數以將一 或多個所請求修改提供至圖像裝置2〇〇 ^在自圖像裝置2〇〇 接收到經更新之指令/資訊後,可顯示針對此等百分比值 的經更新值。開發者可繼續此程序以獲得最佳化數目之三 角形,而不必重新編譯任何程式碼/指令或對圖像裝置2⑽ 進行耗時或冗長之除錯操作。 圖12為說明根據本發明之一態樣的可在圖1〇中所展示之 142233.doc -47- 201015485 圖像裝置201上顯示之超覆螢幕26〇的螢幕圖。應用程式開 發者可檢視超覆螢幕260且作出顯示於超覆螢幕260内之資 訊之一或多個選擇以超覆由圖像裝置2〇〇提供之一或多個 功此’藉此變更圖像裝置2〇〇上之指令執行之流程。 在一些狀況下’可在使用者選擇超覆按鈕238後即顯示 超覆螢幕260。超覆螢幕260可作為螢幕220之部分顯示, 或可作為單獨窗(例如,彈出窗)顯示。超覆螢幕260展示可 由圖像裝置200實施之圖像處理管線之一視覺表示。在一 態樣中,圖像裝置200可包含圖1中所展示之圖像裝置2, 在該狀況下’圖像裝置200可包括控制處理器、頂點處理 器、圖像處理器及顯示處理器。因此,超覆螢幕26〇中所 展示之圖像處理管線之視覺表示可包括控制處理器圖示 262、頂點處理器圖示264、圖像處理器圖示266,及顯示 處理器圖示268。 每一圖示262、264、266及268與圖像裝置200内之對應 處理器相關聯。此等圖示可包含圖像的、紋理的或其他形 式之圖示。應用程式開發者可(諸如)藉由在超覆螢幕260内 之一圖示上點選來選擇圖示262、264、266或268中之一或 多者。在選擇一圖示(諸如,圖像處理器圖示266)後,超覆 螢幕260即顯示一與圖示266相關聯之對應選單271(諸如, 下拉式選單)。 在圖12之實例中,選單271包括四個可選擇之選項:選 項270(用於停用α/透明度操作)、選項272(用於停用摻合操 作)、選項274(用於停用Z拒絕(Z-reject)操作),及選項 142233.doc -48- 201015485 276(用於停用深度測試操作)。與選項謂、272、⑺及w 相關聯之操作中之每一者對應於可由圖像裝置⑽内之圖 像處理器執行之操作。 圖12展謂於用於停(透明度)操作之選項270已作出 之使用者選擇。在使用者選擇選項270後,即可將一所請 求。改發送至圖像裝置2〇〇以停用。操作。若圖像裝置2〇〇 實施圖5中所展不之圖像驅動程式ΐ8Α,則圖像裝置2〇〇可 使用超覆模组120來處理所請求修改’或超覆所請求修 改°。超覆模組⑽可接著將一超覆請求發送至對應圖像處 理器(例如圖!令所展不之圖像處理器12)以停用α操作。 類似地’應用程式設計員可選擇選項272以停用圖像處 理器上之摻合操作。開發者可選擇選項274以停用Ζ拒絕操 作。開發者可選擇選項276以停用與圖像處理 測試有關之操作。 果度 在圖12之實例中,開發者可(諸如)藉由停用可能先前已 啟用之一或多個操作來超覆與圖像裝置2〇〇之圖像處理器 相關聯之-或多個功能。在一些狀況下’開發者可使用類 似於選單271之另一選單來重新啟用先前停用之任何操 作,諸如α、摻合、Ζ拒絕及/或深度測試操作。 因此,開發者可連續地且迭代地超覆或改變圖像處理器 之各種功能及操作,且接著判定該等改變如何影響效能。 舉例而言,開發者可藉由選擇選單選項27〇來停用α操作, 且接著檢視在停用該等操作後即由圖像裝置2〇〇提供之經 更新之狀態/效能資訊,以判定任何先前之效能問題(諸 142233.doc -49- 201015485 如,與圖像裝置20()之圖像處理器有關之彼等效能問題)是 否已得到解決或緩和。開發者亦可查核統計資訊(諸如, 圖11中所展示之實例資訊之類型)’以基於α操作之停用來 評估效能之改變或可能的改良。另外,可在停用α操作後 即在窗220(圖10)中顯示圖像影像21〇之一經更新之版本及 經更新之指令242。 當然’在其他情況下’應用程式開發者可停用或啟用與 圖像處理器相關聯之其他功能。另外,開發者可停用或啟 魯 用與圖像裝置200中之其他處理器(諸士 口,控制處理器、頂 點處理器,及/或顯示處理器)相關聯之功能。舉例而山 開發者可選擇控制處理器圖示262以檢視—類似於選單^ 之選單’該選單可包括用於停用或啟用與控制處理器(例 如’圖1中所展示之控制處理請)相關聯之-或多個功能 的一或多個可選擇之選項。可將對此等功能之任何改變提 供為發送至圖像裝置細以用於(諸如)由超覆模組12〇處理 之一或多個所請求修改。可接著由圖像裝置2〇〇提供經更 Φ 新之指令及/或其他資訊(諸如,狀態及/或效能資訊)以更 新窗220中所展示之資訊,以使得開發者可判定與控制處 理器有關之任何效能問題或瓶頸是否已得到解決或以其他 方式得到緩和。 、 圖13為說明根據本發明之'態樣的可在圖】时所展示之 圖像裝置201上顯示的超覆資訊之一實例的螢幕圖。在此 態樣中’超覆資訊展示於圖像窗280内。圖像影像21〇展示 於顯示區211内。如先前所描述,使用者可請求一或多個 I42233.doc •50· 201015485 超覆以修改圖像影像210於顯示區211内之顯示。在一情況 下,使用者可選擇超覆按鈕238(圖1〇)來作出一或多個超覆 選擇。圖13展示可在使用者選擇超覆按紐⑽後即被顯示 於囪280内之超覆資訊之一實例。 圖13展示三個實例超覆:超覆A、超覆B、超覆C。此等 i個實例超覆中之每-者可對應於任何超覆功能,諸如停 用功能、啟用功能或其類似者(包括圖12中所展示之彼等 功能)。另外,此等三個實例超覆中之每一者可與一或多 籲 自處理器之功能性相關聯。因此,使用者可選擇該等超覆 中之一或多者以變更一或多個處理器之行為,(諸如)以啟 用或停用此等處理器之特定操作。 每一超覆(超覆A、超覆B,及超覆c)可具有可由使用者 選擇或以其他方式組態之對應參數或選項。舉例而言,超 覆A具有超覆參數282A,超覆B具有超覆參數282B,且超 覆C具有超覆參數282C。使用者可藉由修改對應參數而定 • 製該等超覆中之每一者。舉例而言,若超覆A對應於一用 於停用摻合之超覆,則使用者可選擇或改變超覆參數282A 以修改或定製用於停用摻合之超覆功能性。超覆參數282八 亦可包括一或多個處理器之識別。舉例而言,若使用者希 望停用一圖像處理器上之摻合,則超覆參數282八可包括該 圖像處理器之識別。 可將使用者所請求之任何超覆包括在發送回至圖像裝置 之所請求修改34内。圖像裝置可接著處理該等所請求修改 34,如先前所描述,且提供經更新之指令/資訊35❶經更 142233.doc -51- 201015485 新之指令/資訊35可用於更新圖像影像210於顯示區2ιι内 之顯示。 圖14為說明根據本發明之一態樣的可在圖1 〇中所展示之 圖像裝置201上顯示的紋理資訊之一實例的螢幕圖。在此 態樣中,紋理資訊展示於圖像窗29〇内。圖像影像21〇展示 於顯示區211内。使用者可修改圖像影像21〇之一或多個紋 理’該一或多個紋理可接著展示於顯示區211内。 舉例而言,在圖14中,使用者可選擇紋理294、296及/ 或298中之任一者。在圖14中,假定使用者選擇紋理294, 如所展示可在囪290内顯示及選擇任何數目之不同紋 理,且僅出於說明之目的而展示圖14中所顯示之紋理。 在使用者選擇紋理294後,選定紋理294之一放大表示即 展不於紋理區300中。使用者可接著將紋理294應用於圖像 影像210之一或多個部分。在一情況下,使用者可將紋理 294自紋理區3〇〇拖曳至顯示區2丨丨中且將紋理應用於圖像 影像210之該(等)所要部分。在圖14之實例中使用者已將 紋理294應用於圖像影像21〇之所指示之部分。以此方式, 使用者可選擇一或多個紋理(例如,紋理294、296、298)中 之任者且將該等紋理應用於圖像影像21 〇,且亦檢視顯 示區211内之圖像影像210之對應改變。 可將由使用者選定或應用之任何紋理包括在發送回至圖 像裝置之所請求修改34内。圖像裝置可接著處理該等所請 求修改34,如先前所描述,且提供經更新之指令/資訊 35。經更新之指令/資訊35可用於更新圖像影像210於顯示 142233.doc -52- 201015485 區211内之顯示。 圖15為說明根據本發明之—態樣的可在圖财所展示之 圖像裝置201上顯不的效能資訊之一實例的登幕圖。在此 態樣中,效能資訊展示於圖像窗術内。在圖15之實例 ' 藉由效此曲線304來表示效能資訊。曲線304沿著水平 減示時間’且沿著垂直軸展示處理器使用之百分比 (/〇)。處理器使用之百分比可對應於—圖像處理系統内之 一或多個處理器(諸如,控制處理器、顯示處理器、頂點 籲 處理器’及/或圖像處理器)之百分比使用。 藉由連續地監視效能曲線3〇4,使用者可能夠評估所請 求修改34内的對圖像裝置所進行的或發送回至圖像裝置的 任何改變之有效性。舉例而言,使用者可更新圖像指令, 更新狀態/效能資訊,修改圖像影像之透視圖,起始一或 多個超覆,改變紋理,或進行其他修改以嘗試解決或以其 他方式緩和在圖像應用程式之執行期間的任何所觀測到的 鲁 效能問題或瓶頸。特定改變可藉由減小百分比使用(或處 理器利用)來改良效能,而其他改變可能增加處理器利 用。為了幫助識別對圖像應用程式的最佳或合意的解決方 法或改變(諸如’導致較低或減小之處理器利用之彼等解 決方法或改變)’使用者可連續地監視效能曲線3〇4以查明 任何所實施之改變(諸如,所請求修改34内所包括之彼等 改變)隨時間推移之效應。 本發明中所描述之技術可實施於通用微處理器、數位信 號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化 142233.doc -53- 201015485 閘陣列(FPGA)或其他等效邏輯裝置内。因此,如本文令所 使用之術語「處理器」或「控制器」可指代上述結構中之 任何一或多者或適合於實施本文中所描述之技術的任何其 他結構。 本文中所說明之各種組件可藉由硬體、軟體、韌體或其 任何組合之任何合適組合來實現。在諸圖中,各種組件描 _ 繪為單獨單元或模組。然而,參看此等圖所描述之各種組 件之全部或若干者可整合為公共硬體及/或軟體内之組合 單元或模組。因此,作為組件、單元或模組之特徵之表示 響 意欲突出顯示特定功能特徵以易於說明,且未必需要藉由 單獨硬體或軟體組件來實現該等特徵。在一些狀況下,各 種單元可實施為由一或多個處理器執行之可程式化處理程 序。 本文中作為模組、裝置或組件而描述之任何特徵(包括 圖像裴置100及/或其組成組件)可共同實施於一整合式邏輯 裝置中或單獨實施為離散但可交互運作之邏輯裝置。在各 種態樣中’ 1¾等組件可至少部分地形&為可統稱為積冑電馨 路裝置(諸如,積體電路晶片或晶片組)之一或多個積體電 路裝置。該電路可提供於一單一積體電路晶片裝置中或多 個可乂互運作之積體電路晶片裝置令,且可用於多種影 像顯不器、音訊或其他多媒體應用程式及裝置中之任— . 者中。在一些態樣中’舉例而言’該等組件可形成一行動 裝置(諸如,無線通信裝置手機)之部分。 4、軟體來實施’則可至少部分地藉由電腦可讀資料儲 142233.doc -54· 201015485 該等技術’該電腦可讀資料儲存媒體包含具 〇個處理^執行時執行上文所描述之方法+之 :者的指令之程式喝。電腦可讀媒體可形成電腦程式 產口口之部分,該雷腦兹斗土 式產〇〇可包括封裝材料。電腦可讀 女、體可包含諸如同步動態隨機存取記憶體(SDRAM)之隨機 存取》己It體(RAM)、唯讀記憶體(R(3M)、非揮發性隨機存 取圯憶體(NVRAM)、t可抹除可程序化唯讀記憶體
(EEPR〇M)、嵌入式動態隨機存取記憶體(eDRAM)、靜態 隨機存取s己憶體(SRAM)、快閃記憶體、磁性或光學資料 儲存媒體。 其他或另外,該等技術可至少部分地藉由電腦可讀通信 媒體來實現’該電腦可讀通信媒體以指令或資料結構之形 式載運或傳達程式碼且可由一或多個處理器來存取、讀取 及/或執行。可將任何連接適當地稱為電腦可讀媒體。舉 例而§,若使用同轴電纜、光纖電纜、雙絞線、數位用戶 線(DSL)或諸如紅外線、無線電及微波之無線技術而自網 站、飼服器或其他遠端源傳輸軟體,則同轴電缓、光纖電 纜、雙絞線、DSL·或諸如紅外線 '無線電及微波之無線技 術包括在媒體之定義中。上述之組合亦應包括在電腦可讀 媒體之範疇内。所利用之任何軟體可由一或多個處理器來 執行,諸如一或多個DSP、通用微處理器、ASIC、FPGA 或其他等效積體邏輯電路或離散邏輯電路。 在本發明中已描述各種態樣。此等及其他態樣在以下申 凊專利範圍之範缚内。 142233.doc -55- 201015485 【圖式簡單說明】 圖1為說明一根據本發明之一態樣之圖像裝置的方塊 圖,該圖像裝置可將圖像指令以及狀態及/或效能資訊提 供至一應用程式計算裝置; 圖2為說明一根據本發明之另一態樣之圖像裝置的方塊 圖,該圖像裝置可將圖像指令以及狀態及/或效能資訊提 供至一應用程式計算裝置; 圖3為說明根據本發明之一態樣的圖丨中所展示之圖像處 理系統、圖像驅動程式及應用程式計算裝置之特定細節的❹ 方塊圖; 圖4為說明根據本發明之一態樣的可由圖1中所展示之控 制處理器、圖像處理器、頂點處理器及顯示處理器執行之 操作的額外細節之流程圖; 圖5為說明根據本發明之一態樣的圖3中所展示之圖像驅 動程式之額外細節的方塊圖; 圖6為根據本發明之一態樣的可由圖1或圖2中所展示之 圖像震置執行之方法的流程冑; # 圖7為根據本發明之—態樣的可由圖^或圖2中所展示之 應用程式計算裝置執行之第一方法的流程圖; 圖8為根據本發明之一態樣的可由圖i或圖2中所展示之 應用程式6十算裝置執行之第二方法的流程圖; ^為說明根據本發明之一態樣的耦接至用於在圖像 ®中顯不資訊之顯示裝置的圖像褒置之—實例的概念圖; 為說月根據本發明之一態樣的耦接至在圖像窗内 142233.doc -56- 201015485 顯示資訊之顯示裝置的圖像裝置之另一實例的概念圖; 圖11為說明根據本發明之一態樣的可由圖1〇之顯示裝置 顯示的統計及/或紋理資訊之一實例的圖; 圖12為說明一根據本發明之一態樣的可在圖所展示 之圖像裝置上顯示的超覆螢幕之一實例的螢幕圖; 圖13為說明根據本發明之一態樣的可在圖1〇中所展示之 圖像裝置上顯示的超覆資訊之一實例的螢幕圖; 圖14為說明根據本發明之一態樣的可在圖1〇中所展示之 圖像裝置上顯示的紋理資訊之一實例的螢幕圖;及 圖15為說明根據本發明之一態樣的可在圖中所展示之 圖像裝置上顯示的效能資訊之一實例的螢幕圖。 【主要元件符號說明】 2 圖像裝置 4 圖像處理系統 6 顯示裝置 8 儲存媒體 10 可程式化處理器/控制處理器 12 可程式化處理器/圖像處理器 14 可程式化處理器/頂點處理器 15 緩衝器 16 可程式化處理器/顯示處理器 17 圖像處理系統 18 圖像驅動程式 18A 圖像驅動程式 142233.doc 201015485 20 應用程式計算裝置 21 應用程式指令 22 處理器 24 顯示裝置 26 儲存媒體 28 模擬應用程式/模擬程式 29 模擬應用程式/模擬程式 30 圖像指令/圖像應用程式 31 指令映射資訊 32 狀態/效能資訊 33 指令映射資訊 34 所請求修改 35 經更新之指令/資訊 52 圖像裝置 54 圖像處理系統 56 顯示裝置 58 儲存媒體 60 控制處理器 62 圖像處理器 65 緩衝器 66 顯示處理器 68 圖像驅動程式 71 應用程式指令 80 圖像指令/圖像應用程式 142233.doc -58. 201015485
82 狀態及/或效能資訊 84 所請求修改 85 經更新之指令及/或資訊 110 輸送介面/輸送介面模組 112 處理器使用模組 114 硬體計量器模組 116 狀態/效能資料模組 118 API跡線模組 120 超覆模組 200 圖像裝置 201 顯示裝置 202 3D圖像影像 203 圖像窗 204 小鍵盤 206 連接器 208 圖像指令區 210 3D圖像影像 211 顯示區 212A-212N 選擇器/按鈕 214 狀態/效能資訊區 216A-216N 選擇器 218A-218N 選擇器 220 圖像窗/螢幕 230 選擇按鈕 142233.doc -59- 201015485 232 導覽按鈕 234A-234N 量度按钮 236 紋理按鈕 238 超覆按鈕 240 量度按紐 242 圖像指令 244 滚動條 250 統計及/或紋理資訊 260 超覆螢幕 262 控制處理器圖示 264 頂點處理器圖示 266 圖像處理器圖示 268 顯示處理器圖示 270 選項 271 選單 272 選項 274 選項 276 選項 280 圖像窗 282A 超覆參數 282B 超覆參數 282C 超覆參數 290 圖像窗 294 紋理 142233.doc -60- 201015485 296 298 300 302 304 紋理 紋理 紋理區 圖像窗 效能曲線
142233.doc -61 -

Claims (1)

  1. 201015485 七、申請專利範圍: 1. 一種方法,其包含: 自外部圖像裝置接收圖像指令,其中該等圖像指令 由該外圖像裝置執行以顯示一圖像影像; 自該外部圖像裝置接收狀態資訊,其中該狀態資訊與 該等圖像指令於該外部圖像裝置上之執行相關聯;及 根據該等圖像指令及該狀態資訊顯示該圖像影像之— 表示。 • 2.如請求項1之方法,其進一步包含: 針對該圖像影像之多個圖框重複該等圖像指令之該接 收3亥狀態資訊之接收,及該圖像影像之該表示之顯 7JT 0 3.如咕求項1之方法’其中該狀態資訊指示在該外部圖像 裝置顯現該圖像影像時該外部圖像裝置之一或多個狀 態。 _ 4_如請求項1之方法其中該狀態資訊包含來自該外部圖 像裝置之執行該等圖像指令之一或多個處理器的狀態資 訊。 . 5·如請求項1之方法,其中該狀態資訊包含與該等圖像指 令於該外部圖像裝置上之執行相關聯的資料。 6.如請求項丨之方法,其進一步包含: 接收使用者輸入,該使用者輸入指定一對由該外部圖 像裝置對該等圖像指令之該執行的所請求修改;及 將該所請求修改發送至該外部圖像裝置以供處理。 142233.doc 201015485 7. 如請求項6之方法,其進一步包含: 自該外部圖像裝置接收複數個經更新之圖像指令,其 中該等經更新之圖像指令與對由該外部圖像裝置對該等 圖像指令之該執行的該所請求修改相關聯; 自該外部圖像裝置接收經更新之狀態資訊,其中該經 更新之狀態資訊與對由該外部圖像《置對料圖像指令 之該執行的該所請求修改相關聯;及 根據該等經更新之圖像指令及該經更新之狀態資訊顯 示該圖像影像之一經更新之版本。 8. 如叫求項6之方法,其中該所請求修改包含以下請求中 之至少一者:一用於停用該等圖像指令中之一或多者於 該外部圖像裝置上之執行的請求、—用於在該外部围像 裝置上修改該等圖像指令中之一或多者的請求,及一用 於在該外部圖像裝置上修改該狀態資訊之請求。 9. 如請求項丨之方法,其進一步包含: 顯示該等圖像指令之一視覺表示;及 顯示該狀態資訊之一視覺表示。 10. 如請求項9之方法,其中顯示該等圖像指令之該視覺表 示包含: 將該等圖像指令映射至相關聯之圖像應用程式設計介 面(API)指令;及 顯示該等圖像API指令。 U·如請求項1之方法,其中顯示該圖像影像之該表示包含 在一模擬該外部圖像裝置之模擬環境内顯示該圖像影像 142233.doc 201015485 12. 13. • 14. 15. 16. 17. 18. 之該表示。 如請求項1之方法,其中該等圖像指令包含自應用程式 言又计介面(API)指令所產生之二進位指令。 如請求項1之方法,其進一步包含:顯示一導覽控制器; 接收使用者輸入以與該導覽控制器互動;及 基於該使用者輸入顯示該圖像影像之一經修改之透視圖。 如請求項1之方法,其進一步包含: 接收使用者輸入以修改該圖像影像;及 根據該使用者輸入顯示該圖像影像之一經修改之版 本0 如請求項1之方法,其進一步包含: 自該外部圖像裝置接收效能資訊,其中該效能資訊與 該等圖像指令於該外部圖像裝置上之執行相關聯;及 分析該效能資訊以識別在該外部圖像裝置執行該等圖像指令期間該外部圖像裝置上之一或多個效能問題。 如凊求項15之方法’其中該效能f訊包含自於該外部圖像裝置上執行該等圖像指令之一或多個處理器所搜集的 效能量度。 ,請求項16之方法,其中分析該效能資訊包含識別在該 等圖像指令之執行期間該外部圖像裝置之該等處理器中 之一或多者中的減小之效能。 如請求項15之方法,其進一步包含: 142233.doc 201015485 接收使用者輸入’該使用者輸入指定一對由該外部圖 像裝置對該等㈣指令之該執行的所請求修改,· 將該所請求修改發送至該外部圖像裝置以供處理; 自該外部圖像裝置接收複數個經更新之圖像指令,其 中該等經更新之圖像指令與對由該外部圖像裝置對該等 圖像指令之該執行的該所請求修改相關聯; 自該外部圖像裝置接收經更新之效能資訊,其中該經 更新之效能資訊與對由該外部圖像裝置對該等圖像指令 之該執行的該所請求修改相關聯;及 分析該經更新之效能資訊以判定該等效能問題中之一 或多者是否已得到解決。 19. 如請求項18之方法,其中該所請求修改包含以下請求中 之至少一者:一用於停用該等圖像指令中之一或多者於 該外圖像裝置上的執行之請求、__用於在該外部圖像 裝置上修改該等圖像指令中之—或多者的請求,及一用 於在該外部圖像裝置上修改該狀態資訊之請求。 20. 如請求項18之方法,其進一步包含: 根據該等經更新之圖像指令及該經更新之效能資訊顯 示該圖像影像之一經更新之表示。 21. —種電腦可讀媒體,其包含用於使得一或多個處理器進 行以下操作之指令: 自一外部圖像裝置接收圖像指令,其中該等圖像指令 由該外部圖像裝置執行以顯示一圖像影像; 自該外部圖像裝置接收狀態資訊,其中該狀態資訊與 142233.doc 201015485 該等圖像指令於該外部圖像裝置上之執行相關聯;及 根據該等圖像指令及該狀態資訊顯示該圖像影像之_ 表示。 22.如請求項21之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 針對該圖像影像之多個圖框重複該等圖像指令之該接 收、該狀態資訊之接收’及該圖像影像之該表示之顯 7JT 0 • 23.如請求項21之電腦可讀媒體,其中該狀態資訊指示在該 外部圖像裝置顯現該圖像影像時該外部圖像裝置之一或 多個狀態。 24. 如請求項21之電腦可讀媒體,其中該狀態資訊包含來自 該外部圖像裝置之執行該等圖像指令之至少一處理器的 狀態資訊。 25. 如請求項21之電腦可讀媒體,其中該狀態資訊包含與該 等圖像指令於該外部圖像裝置上之執行相關聯的資料。 26·如請求項21之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 接收使用者輸入,該使用者輸入指定一對由該外部圖 像裝置對該等圖像指令之該執行的所請求修改;及 將該所請求修改發送至該外部圖像裝置以供處理。 27·如請求項26之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 自該外部圖像裝置接收複數個經更新之圖像指令,其 142233.doc 201015485 中該等經更新之圖像指令與對由該外部圖像裝置對該等 圖像指令之該執行的該所請求修改相關聯; 自该外部圖像裝置接收經更新之狀態資訊,其中該經 更新之狀態資訊與由該外部圖像裝置對該等圖像指令之 該執行的該所請求修改相關聯;及 根據該等經更新之圖像指令及該經更新之狀態資訊顯 示該圖像影像之一經更新之版本。 28. 29. 30. 31. 如請求項26之電腦可讀媒體,其中該所請求修改包含以 下凊求中之至少一者:一用於停用該等圖像指令中之一 或多者於該外部圖像裝置上之執行的請求、一用於在該 外邰圖像裝置上修改該等圖像指令中之一或多者的請 求,及一用於在該外部圖像裝置上修改該狀態資訊之請 求。 如請求項2丨之電腦可讀媒體,其進—步包含用於使得該 一或多個處理器進行以下操作之指令·· 顯示該等圖像指令之一視覺表示;及 顯示該狀態資訊之一視覺表示。 如請求項29之電腦可讀媒體,其中用岐得該一或多個 處理器顯示該等圖像指令之該視覺表示的該等指令包含 用於使得該一或多個處理器進行以下操作之指令: 將該等圖像指令映射至相關聯之固m 仰關聊I圖像應用程式設計介 面(API)指令;及 顯示該等圖像API指令。 如請求項21之電腦可讀媒體,豆中 货瓶再中用於使得該一或多個 142233.doc 201015485 處理器顯示該圖像影像之該表示的該等指令包含用於使 得該一或多個處理器在一模擬該外部圖像裝置之模擬環 境内顯示該圖像影像之該表示的指令。 32. 如請求項21之電腦可讀媒體,其中該等圖像指令包含自 應用程式設計介面(API)指令所產生之二進位指令。 33. 如請求項21之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 顯示一導覽控制器; 接收使用者輸入以與該導覽控制器互動;及 基於該使用者輸入顯示該圖像影像之一經修改之透視 圖。 34. 如請求項21之電腦可讀媒艘,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 接收使用者輸入以修改該圖像影像;及 根據該使用者輸入顯示該圖像影像之一經修改之版 本0 35. 如請求項21之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 自該外部圖像裝置接收效能資訊,其中該效能資訊與 該等圖像指令於該外部圖像裝置上之執行相關聯;及 分析该效能資訊以識別在該外部圖像裝置執行該等圖 像指令期間該外部圖像裝置上之一或多個效能問題。 36.如請求項35之電腦可讀媒體,其中該效能資訊包含自該 外部圖像裝置之於該外部圖像裝置上執行該等圖像指令 142233.doc 201015485 的至少一處理器所搜集的效能量度。 37. 如請求項36之電腦可讀媒體,其中用於使得該一或多個 處理器分析該效能資訊之該等指令包含用於使得該一或 多個處理器識別在該等圖像指令 a v之執行期間該外部圖像 装置之至少一處理器中的減小之效能的指令。 38. 如請求項35之電腦可讀媒體,農 八進步包含用於使得該 —或多個處理器進行以下操作之指令: 接收使用者輸入,該使用者輸入指定一對由該外部圖 像裝置對料圖像指令之該執行的料求修改; 將該所請求修改發送至該外部圖像裝置以供處理; 自該外部圖像裝置接收複數個經更新之圖像指令其 中該等經更新之圖像指令與對由該外部圖像裝置對該等 圖像指令之該執行的該所請求修改相關聯; 自該外部圖像裝置接收經更新之效能資訊,丨中該經 更新之效能資訊與對由該外部圖像裝置對該等圖像指令 之該執行的該所請求修改相關聯;及 分析該經更新之效能資訊以判定該等效能問題中之一 或多者是否已得到解決。 9如二求項38之電腦可讀媒體,其中該所請求修改包含以 ^。月求中之至少一者:一用於停用該等圖像指令中之一 或f者於該外部圖像裝置上之執行的請求、—用於在該 外°卩圖像裝置上修改該等圖像指令中之一或多者的請 ,及一用於在該外部圖像裝置上修改該狀態資訊之請 142233.doc 201015485 40. 如請求項38之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 根據該等經更新之圖像指令及該經更新之效能資訊顯 示該圖像影像之一經更新之表示。 41. 一種裝置,其包含: 一顯示裝置;及 一或多個處理器,其經組態以: 自一外部圖像裝置接收圖像指令,其中該等圖像指 • 令由該外部圖像裝置執行以顯示一圖像影像; 自該外部圖像裝置接收狀態資訊,其中該狀態資訊 與該等圖像指令於該外部圖像裝置上之執行相關 聯;及 根據該等圖像指令及該狀態資訊在該顯示裝置上顯 示該圖像影像之一表示。 42. 如請求項41之裝置,其中該一或多個處理器進一步經組 態以針對該圖像影像之多個圖框重複該等圖像指令之該 接收、該狀態資訊之接收,及該圖像影像之該表示之顯 示。 . 43.如請求項41之裝置,其中該一或多個處理器進一步經組 . 態以在該顯示裝置上顯示該等圖像指令之一視覺表示, 且在該顯示裝置上顯示該狀態資訊之一視覺表示。 44.如請求項41之裝置,其中該一或多個處理器進一步經組 態以在該顯示裝置上顯示一導覽控制器,接收使用者輸 入以與該導覽控制器互動,且基於該使用者輸入在該顯 142233.doc 201015485 示裝置上顯示該圖像影像之一經修改之透視圖。 45.如請求項41之裝置,其中該一或多個處理器進一步經組 態以自該外部圖像裝置接收效能資訊,其中該效能資訊 與該等圖像指令於該外部圖像裝置上之執行相關聯,且 分析該效能資訊以識別在該外部圖像裝置執行該等圖像 指令期間該外部圖像裝置上之一或多個效能問題。 46.如請求項45之裝置,其中該效能資訊包含自該外部圖像 裝置之於該外部圖像裝置上執行該等圖像指令的至少一 處理器所搜集的效能量度。 47.如請求項46之裝置,其中 少藉由識別在該等圖像指 之該等處理器中之一或多 能資訊。 該一或多個處理器經組態以至 令之執行期間該外部圖像裝置 者中的減小之效能來分析該效 或多個處理器進一步經組 48.如請求項45之裝置,其中該一 態以: 接收使用者輸入,該使用者輸入指定一對由該外部圖 像裝置對該等圖像指令之該執行的所請求修改; 將該所請求修改發送至該外部圖像裝置以供處理; 自該外部圖像裝置接收複數個經更新之圖像指令’,其 中該等經更新之圖像指令與對由該外部圖像裝置對該等 圖像私令之該執行的該所請求修改相關聯; 自該外部圖像裝置接收經更新之效能資訊,其中該經 更新之效能資訊與對由該外部圖像裝置對該二 之該執行的該所請求修改相關聯;及 a 7 142233.doc 201015485 分析該經更新之效能資訊以判定該等效能問題中“ 或多者是否已得到解決。 49·如請求項48之裝置,其中該所請求修改包含以下請求中 之至少一者:一用於停用該等圖像指令中之一或多者於 該外部圖像裝置上之執行的請求、—用於在該外部圖像 裝置上修改該等圖像指令中之一或多者的請求及一用 於在該外部圖像裝置上修改該狀態資訊之請求。 50.如請求項48之裝置,其中該一或多個處理器進一步經組 態以根據該等經更新之圖像指令及該經更新之效能資訊 在該顯示裝置上顯示該圖像影像之一經更新之表示。 51· —種裝置,其包含: 用於自一外部圖像裝置接收圖像指令之構件,其中該 等圖像指令由該外部圖像裝置執行以顯示一圖像影像; 用於自該外部圖像裝置接收狀態資訊之構件,其中該 狀態資訊與該等圖像指令於該外部圖像裝置上之執行相 關聯;及 用於根據該等圖像指令及該狀態資訊顯示該圖像影像 之一表示的構件。 52· —種方法,其包含: 將圖像指令自一圖像裝置發送至一計算裝置,其中該 等圖像指令由該圖像裝置執行以顯示一圖像影像; 將狀態資訊自該圖像裝置發送至該計算裝置,其中該 狀態資訊與由該圖像裝置對該等圖像指令之執行相關 聯; 142233.doc 201015485 j該叶算裝置接收用於修改由該圖像裝置對該等圖像 指令之該執行的一或多個所請求修改;及 基於該-或多個所請求修改將經更新之狀態資訊自該 圖像裝置發送至該計算裝置。 53.如請求項52之方法,其進一步包含 根據該等圖像指令及該狀態資訊顯示該圖像影像。 54·如請求項52之方法,其進一步包含: 基於該-或多個所請求修改將經更新之圖像指令自該 圖像裝置發送至該計算裝置。 55·如請求項52之方法,其進一步包含: . 針對該圖像影像之多個圖框重複圖像指令之該發送、 狀態資訊之發送’接收―或多個所請求修改,及發送經 更新之狀態資訊。 56·如請求項52之方法,其中該狀態資訊包含來自該圖像裝 置之執仃4等圈像指令之_或多個處理器的狀態資訊 資料。 57·如請求項52之方法,其中該—或多個所請求修改包含卩^ 下請求中之至少_本. m 有.一用於停用該等圖像指令中之一 或多者於該圖料置上之執行的請求…用於在該外部 裝置上修改該等圖像指令中之—或多者的請求,及—用’ 於在該圖像裝置上修改該狀態資訊之請求。 58. 如请求項52之方法,其中該等圖像指令包含自應用程式 設計介面(API)指令所產生之二進位指令。 59. 如請求項52之方法,其中該狀態資訊包含自於該圖像裝 142233.doc -12. 201015485 置上執行該等圖像指今之_ -W' ^ Ιτα 豕扣7之或多個處理器所搜集的效能 量度。 60. —種裝置,其包含: 一經組態以儲存指令之儲存媒體;及 一或多個處理器,其經組態以: 將及等如7自該裝置發送至一外部計算裝置,其中 /等扎々由該裝置執行以顯示一圖像影像; 將狀態資訊自該裝置發送至該外部計算裝置,其中 該狀態資訊與由該裝置對該等指令之執行相關聯; 自該外部计异裝置接收用於修改由該裝置對該等指 令之該執行的一或多個所請求修改;及 基於該一或多個所請求修改將經更新之狀態資訊自 該裝置發送至該外部計算裝置。 61. 如請求項60之裝置,其進一步包含一顯示裝置,其中該 一或多個處理器進一步經組態以根據該等圖像指令及該 狀態資訊在該顯示裝置上顯示該圖像影像。 62. 如清求項6〇之裝置,其中該一或多個處理器進一步經組 態以基於該一或多個所請求修改將經更新之圖像指令自 該圖像裝置發送至該計算裝置。 63. 如請求項60之裝置,其中該一或多個處理器進一步經組 態以針對該圖像影像之多個圖框重複圖像指令之該發 送、狀態資訊之發送,接收一或多個所請求修改,及發 送經更新之狀態資訊。 64. 如清求項60之裝置’其中該狀態資訊包含來自該圖像裝 142233.doc -13· 201015485 置之執行該等圖像指令之該一或多個處理器的狀態資訊 或資料。 β 65·如請求項60之裝置,其中該一或多個所請求修改包含以 下請求中之至少一者··一用於停用該等圖像指令中之— 或多者於該圖像裝置上之執行的請求用於在該外部 裝置上修改該等圖像指令中之一或多者的請求及一用 於在該圖像裝置上修改該狀態資訊之請求。
    66.,請求項6G之裝置,其中該等圖像指令包含自應用⑹ 口又彳>»丨面(API)指令所產生之二進位指令。 67·如請求項6〇之裝置,其甲該狀態資訊包含自於該圖像, 仃該等圖像指令之該—或多個處理器所搜集的贫 能量度。 68.如請求項6〇之裝置, 包含—顯示處理器、 一控制處理器。 其中該一或多個處理器中之每一者 —圖像處理器、一頂點處理器,或 其中該裝置包含一無線通信裝置手
    其中該裝置包含一或多個積體電路 69_如靖求項之裝置 機0 70.如請求項6〇之裝置, 裝置。 / 1 . 可讀媒體,其包含詩使得—或多個處理器進 灯从下操作之指令·· 等令自一圖像裝置發送至-計算裝置,其中該 象^由該圖像裝置執行以顯示1像影像, 4資訊自該圖像裝置發送至該計算裝置,其中該 142233.doc •14· 201015485 狀態資訊與由該圖像裝置對該等圖像指令之執行相關 聯; 自該計算裝置接收用於修改由該圖像裝置對該等圖像 指令之該執行的一或多個所請求修改;及 基於該一或多個所請求修改將經更新之狀態資訊自該 圖像裝置發送至該計算裝置。 72. 如請求項71之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 籲 根據該等圖像指令及該狀態資訊顯示該圖像影像。 73. 如請求項71之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 基於該一或多個所請求修改將經更新之圖像指令自該 圖像裝置發送至該計算裝置。 74_如請求項71之電腦可讀媒體,其進一步包含用於使得該 一或多個處理器進行以下操作之指令: 針對該圖像影像之多個圖框重複圖像指令之該發送、 狀態資訊之發送,接收一或多個所請求修改,及發送經 更新之狀態資訊。 75. 如請求項71之電腦可讀媒體,其中該狀態資訊包含來自 該圖像裝置之執行該等圖像指令之一或多個處理器的狀 態資訊或資料。 76, 如請求項71之電腦可讀媒體’其中該一或多個所請求佟 改包含以下請求中之至少一者:一用於停用該等圖像指 令中之一或多者於該圖像裝置上之執行的請求、一用於 142233.doc -15· 201015485 在該外部裝置上修改該等圖像指令中之一或多者的請 求’及一用於在該圖像裝置上修改該狀態資訊之請求。 77·如請求項71之電腦可讀媒體,其中該等圖像指令包含自 應用程式設計介面(API)指令所產生之二進位指令。 78·如請求項71之電腦可讀媒體,其中該狀態資訊包含自於 該圖像裝置上執行該等圖像指令之一或多個處理器所搜 集的效能量度。 79. —種裝置,其包含: 用於將圖像指令自一圖像裝置發送至一計算裝置之構 件’其中該等圖像指令由該圖像裝置執行以顯示一圖像 影像; 用於將狀態資訊自該圖像裝置發送至該計算裝置之構 件,其中該狀態資訊與由該圖像裝置對該等圖像指令之 執行相關聯; 用於自該計算裝置接收用於修改由該圖像裝置對該等 圖像指令之該執行的一或多個所請求修改的構件;及 用於基於該一或多個所請求修改將經更新之狀態資訊 自該圖像裝置發送至該計算裝置的構件。 80. 如請求項79之裝置,其進一步包含: 用於根據該等圖像指令及該狀態資訊顯示該圖像影像 之構件。 81. 如請求項79之裝置,其進一步包含 用於基於該-或多個所請求修改將經更新之圖像指令 自該圖像裝置發送至該計算裝置的構件。 142233.doc 201015485 82.如請求項79之裝置,其進一步包含: 用於針對該圖像影像之多個圖框 _ , 垔複圖像指令夕铐I 送、狀態資訊之發送、接收一或多 7之該發 經更新夕“ 飞多個所請求修改及發送 、、&更新之狀態資訊的構件。 83‘如明求項79之裝置其中該 要夕批, 貝W包含來自該圖像裝 置之執行該等圖像指今之—亦容 /多個處理器的狀態資訊或 84_如^項79之裝置’其中該—或多個所請求修改包含以 下月长中之至少-者:__用於停用該等圖像指令中之一 或多者於該圖像裝置上之執行的請求、一用於在該外部 裝置上修㈣等圖像指令中之—或多者的請求及一用 於在該圖像裝置上修改該狀態資訊之請求。 85. :請求項79之裝置,其中該等圖像指令包含自應用程式 "又计介面(API)指令所產生之二進位指令。 86. 如凊求項79之裝置,其中該狀態資訊包含自於該圖像裝 置上執行該等圖像指令之一或多個處理器所搜集的效能 β 量度。 142233.doc •17·
TW98125261A 2008-07-25 2009-07-27 Performance analysis during visual creation of graphics images TW201015485A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8365608P 2008-07-25 2008-07-25
US12/507,732 US8587593B2 (en) 2008-07-25 2009-07-22 Performance analysis during visual creation of graphics images

Publications (1)

Publication Number Publication Date
TW201015485A true TW201015485A (en) 2010-04-16

Family

ID=41146500

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98125261A TW201015485A (en) 2008-07-25 2009-07-27 Performance analysis during visual creation of graphics images

Country Status (7)

Country Link
EP (1) EP2321730B1 (zh)
JP (1) JP5450624B2 (zh)
KR (2) KR101431311B1 (zh)
CN (1) CN102105868B (zh)
CA (1) CA2730291A1 (zh)
TW (1) TW201015485A (zh)
WO (1) WO2010011979A2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8786634B2 (en) * 2011-06-04 2014-07-22 Apple Inc. Adaptive use of wireless display
CN103064644B (zh) * 2011-10-21 2016-03-02 联想(北京)有限公司 一种图像显示方法、显卡及电子设备
CN103713891B (zh) * 2012-10-09 2017-11-24 阿里巴巴集团控股有限公司 一种在移动设备上进行图形渲染的方法和装置
EP2745892B1 (en) * 2012-12-21 2018-12-12 Dassault Systèmes Partition of a 3D scene into a plurality of zones processed by a computing resource
CN103974062B (zh) * 2013-06-24 2018-10-26 福州瑞芯微电子股份有限公司 图像显示装置、图像显示系统和图像显示方法
US9691123B2 (en) * 2014-12-15 2017-06-27 Intel Corporation Instrumentation of graphics instructions
KR102644276B1 (ko) 2016-10-10 2024-03-06 삼성전자주식회사 그래픽 처리 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020354A (ja) * 1998-07-07 2000-01-21 Hitachi Ltd 実行ステップ数の編集装置
US6952215B1 (en) * 1999-03-31 2005-10-04 International Business Machines Corporation Method and system for graphics rendering using captured graphics hardware instructions
JP2001191274A (ja) * 1999-12-30 2001-07-17 Sony Corp データ保持装置、ロボット装置、変更装置及び変更方法
US7095416B1 (en) * 2003-09-22 2006-08-22 Microsoft Corporation Facilitating performance analysis for processing
US8589142B2 (en) * 2005-06-29 2013-11-19 Qualcomm Incorporated Visual debugging system for 3D user interface program
US7478187B2 (en) * 2006-03-28 2009-01-13 Dell Products L.P. System and method for information handling system hot insertion of external graphics

Also Published As

Publication number Publication date
EP2321730A2 (en) 2011-05-18
JP2011529235A (ja) 2011-12-01
WO2010011979A3 (en) 2010-04-15
KR20110050482A (ko) 2011-05-13
CA2730291A1 (en) 2010-01-28
CN102105868B (zh) 2015-03-04
WO2010011979A2 (en) 2010-01-28
EP2321730B1 (en) 2018-04-11
KR101431311B1 (ko) 2014-09-19
CN102105868A (zh) 2011-06-22
JP5450624B2 (ja) 2014-03-26
KR20130043241A (ko) 2013-04-29

Similar Documents

Publication Publication Date Title
US8587593B2 (en) Performance analysis during visual creation of graphics images
Wheeler et al. Virtual interaction and visualisation of 3D medical imaging data with VTK and Unity
KR101286318B1 (ko) 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이
US9792718B2 (en) Mapping graphics instructions to associated graphics data during performance analysis
TW201015485A (en) Performance analysis during visual creation of graphics images
JP7128450B2 (ja) オンライン環境において使用する三次元デジタルアセットを生成し表示する方法およびシステム
CN117523062B (zh) 光照效果的预览方法、装置、设备及存储介质
KR101286938B1 (ko) 그래픽스 이미징을 위한 파티셔닝-기반 성능 분석
Krone et al. Remote rendering and user interaction on mobile devices for scientific visualization
CN112967369A (zh) 一种光线展示方法和装置
KR100639379B1 (ko) 이동통신 단말기의 그래픽칩 밴치마킹 장치 및 그 방법
CN116894906A (zh) 图形渲染方法和处理器硬件架构