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
Chinese (zh)
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/en

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 Graphics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

In general, this disclosure relates to techniques for using graphics instructions and state information received from a graphics device to visually create a graphics image. Performance analysis may also be conducted to identify potential bottlenecks during instruction execution on the graphics device. One example device includes a display device and one or more processors. The one or more processors are configured to receive a plurality of graphics instructions from an external graphics device, wherein the graphics instructions are executed by the external graphics device to display a graphics image, and to receive state information from the external graphics device, wherein the state information is associated with execution of the graphics instructions on the external graphics device. The one or more processors are further configured to display, on the display device, a representation of the graphics image according to the graphics instructions and the state information.

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 201015485201015485 VI. Description of the Invention: [Technical Field of the Invention] The present invention relates to display of image images. Priority is claimed in accordance with 35 USC §119. This patent application claims priority to the provisional application No. 61/083,656, entitled "PERFORMANCE ANALYSIS DURING VISUAL CREATION OF GRAPHICS IMAGES", filed July 25, 2008, and the case It has been expressly incorporated herein by reference to its assignee. The present patent application is related to the U.S. Patent Application Serial No. , the case has been assigned to its assignee and is expressly incorporated herein by reference; and 61/083,665, filed July 25, 2008, attorney file number 08997 IP 1, at the same time as this application The application, which has been assigned to its assignee, is expressly incorporated herein by reference. [Prior Art] Image processors are widely used to visualize two-dimensional (2D) and three-dimensional (3D) images for various applications such as video games, image programs, and computer-aided design (CAD) applications. , simulation and visualization tools and imaging. A display processor can be used to display the visualized output of the image processor for presentation to the user via the display device. 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之平台)可 能具有此等狀態及/或狀態轉變之不同硬體設計及實施。OpenGL® (Open Image Library) is a standard specification that defines the API (application programming interface) that can be used when writing applications that produce 2D images and 3D images. Other languages, such as Java, can be defined to the OpenGL API via their own standard handlers. The interface includes multiple function calls or instructions that can be used to customize the scene from a simple primitive. The image processor, multimedia processor, and even the general purpose CPU can then execute an application that uses the 0penGL function to call the compose. OpenGL ES (Embedded System) is a variant of 0penGL that is designed for use in embedded devices such as mobile radiotelephones, digital multimedia players, personal digital assistants (PDAs) or video game consoles. An image application, such as a 3D image application, can describe or define the content of a scene by invoking an eight or an instruction, which in turn uses a base image hardware (such as one or more of the image devices) Processors) to generate images. Image hardware may experience a series of state transitions implemented via such APIs. The entire set of states for each API call (such as a 'draw call or instruction) may describe the sequence by which the hardware renders the image. SUMMARY OF THE INVENTION In general, the present invention relates to techniques for capturing and analyzing image commands or call streams and status information transmitted from image devices such as mobile devices. These image instructions can be generated or compiled from the application programming interface. The image commands and status information can be transmitted across a communication medium to an application computing device, such as a personal computer, and used to display image images (such as 3D images) in a simulated environment. 142233.doc 201015485 The image image displayed by this image can be a representation of the image displayed on the image device. The simulation environment is capable of recreating images or scenes (which can contain a series of images). Because the simulation environment creates a scene as it appears on the image package 4' so application developers can isolate performance issues or bottlenecks and prototype modifications in their image applications, which can improve the total of these applications. efficacy. In one aspect, a method includes receiving a plurality of image commands from an external image device, wherein the image commands are executed by the external image device to display an image image and receive from the external image device Status information, wherein the status information is associated with execution of the image instructions on the external image device. The method further includes displaying a representation of the image image based on the image instructions and the status information. In certain instances, the method further includes repeating receipt of the image instructions, receipt of the status information, and displaying the representation of the image image for a plurality of frames of the image image. In a particular case, the method further includes receiving performance information from the external image device, wherein the performance information is associated with execution of the image instructions on the external image device, and analyzing the performance information to identify The external image device performs one or more performance issues on the external image device during the image instructions. The techniques described in this disclosure can be implemented in hardware, software, or elastomers, or any combination thereof. If implemented in software, the software may be executed in a processor, which may refer to one or more processors such as a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) ) or a digital signal processor (DSP), or other equivalent integrated logic circuit or discrete logic 142233.doc 201015485 circuit. Software containing instructions for executing such techniques may be initially stored in a computer readable medium and loaded and executed by a processor. Accordingly, the present invention also contemplates a computer readable medium comprising instructions for causing a processor to perform any of the various techniques described in this disclosure. In some cases, the computer readable medium can form a Sold to the manufacturer and/or used as part of a computer program product in a device. The computer program product can include the computer readable medium and, in some cases, can also include packaging materials. The details of one or more aspects are recited in the drawings and description below. Other characteristics 'Objectives and advantages will be apparent from the description and drawings and the scope of the patent application. [Embodiment] FIG. 1 is a block diagram showing an image device 2 according to an aspect of the present invention. The image device 2 can provide an image command and status and/or performance information 32 to an application. Computing device 2〇. The image device] can be a standalone device or can be part of a larger system. For example, the image device 2 may include a wireless communication device (such as a wireless mobile phone), or may be a digital camera, a video camera, a digital multimedia player, a personal digital assistant (PDA), a video game console, other video devices. Or part of a dedicated viewing station (such as a 'television'). The image device 2 can also include a personal computer or a laptop device. Image device 2 may also be included in one or more integrated circuits or wafers that may be used in some or all of the devices interposed above. In some cases, image device 2 may be capable of executing various applications, such as image applications, video applications, audio applications, and/or other multimedia applications. For example, the image device 2 can be used for an image application, a video game application, a video playback application, a digital camera application, an instant messaging application, a video teleconference application, a mobile application, or a video string. Streaming application. Image device 2 may be capable of processing a variety of different data types and formats. For example, as will be described in more detail below, image device 2 can process still image data, moving image (video) material, or other multimedia material. The imagery may include computer generated image data. In the example of Fig. 1, the image device 2 includes an image processing system 4, a storage medium 8 (which includes a memory), and a display device 6. Programmable processors 1, 12, 14, and 16 may be included in image processing system 4. The programmable processor is a control or general purpose processor. The programmable processor 12 is an image processor, the programmable processor 14 is a vertex processor, and the programmable processor 10 is a display processor. Control processor 10 may be capable of controlling image processor 12, vertex processor M, and/or display processor 16. In one aspect, image processing system 4 can include other forms of multimedia processors. In the image device 2, the image processing system 4 is coupled to both the storage medium 8 and the display device 6. The storage medium 8 may include any permanent or volatile memory capable of storing instructions and/or data, such as synchronous dynamic random access memory (SDRAM), read only memory (ROM), non-volatile random access memory. (NVRAM), embedded dynamic random access memory (eDRAM), static random access memory (SRAM) or flash memory. 142233.doc 201015485 The display device 6 can be any device capable of displaying image data for display purposes, such as an LCD (Liquid Crystal Display), a plasma display device, or other television (TV) display device. Vertex processor 14 is capable of managing vertex information and processing vertex transformations. In an example, vertex processor 14 may include a digital signal processor (DSP). The image processor 12 can be a dedicated image display device for visualizing, manipulating, and displaying computerized images. Image processor 12 can implement a wide range of algorithms associated with a variety of complex images. For example, a complex algorithm can correspond to a two-dimensional or three-dimensional representation of a sacralized image. Image processor 12 may implement a number of so-called "base 70" image operations (such as forming dots, lines, and triangles or other polygonal surfaces) to create complex three-dimensional images on displays such as display device 6. Image processor 12 may execute instructions stored in storage medium 8. The health media 8 is sufficient to store application instructions 21 for the application (such as an image or video application) and one or more image drivers 18. Application call instructions 21 can be loaded from storage medium 8 into image processing system 4 for execution. For example, one or more of control processor 1, image processor 12, and display processor 16 may execute instruction 21. In one aspect, the application deduction 21 can include one or more downloadable modules that are dynamically downloaded to the storage medium 8 over the air. In one aspect, the application instructions 21 can include call flows for binary instructions generated or compiled by application programming interface (API) instructions created by a free application developer. The image driver 18 can also be loaded from the storage medium 8 into the image processing system 4 for execution. For example, the control processor 1 , the image processor 12 , and the 142233.doc 201015485 display processor 16 can also be used to authenticate the p * person ^ 4 In an exemplary aspect, image driver 18 is loaded and executed by image processor 12. The image drive 18 will be further described below. As also shown in FIG. 1, the image processing system 4 includes one or more buffer core control processes (4), an image processor 12, a vertex processor 14 and The display processor 16 can each access the buffer 15 and can store data in or retrieve data from the buffer 15. The buffer " can contain cache memory and can store both data and instructions. For example, buffer 15 may include one or more of the application instructions 21 that have been loaded from storage medium 8 into image processing system* or from one or more of image driver 18. Buffer 15 and/or storage medium 8 may also contain image material for use during execution of the instructions. The application instructions 21 may include instructions for an image application, such as a 3D image application, under certain conditions. Application instructions 21 may include instructions to describe or define the content of an image scene that includes one or more image images. When the application instructions 21 are loaded into the image processing system 4 and executed by the image processing system 4, the image processing system 4 can undergo a series of bear transitions. The entire set of states within the image driver 18 during execution of the application instructions 21 that may be used to render or display image representations on the display device 6 for instructions such as drawing calls may be described as a The program by which the image processing system 4 visualizes the image. However, application developers writing application instructions 21 may often have interactive views or to perform debugging or experimentation for the purpose of describing or replacing an image in an existing scene defined by 142233.doc -10· 201015485. The limited ability to modify these states. In addition, different hardware platforms, such as the platform of image processing system 17 shown in Figure 2, may have different hardware designs and implementations of such states and/or state transitions.

因此,在一態樣中,應用程式開發者可使用圖丨中所展 不之應用程式計算裝置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亦可對像素資料執行各_作,諸如加陰影或按比 例調整。Thus, in one aspect, an application developer can use the application computing device 20 not shown in the figure to assist in the processing of debugging and experimentation with alternative methods for describing or visualizing images in a scene. The application computing device 20 is coupled to the image device 2. For example, in one aspect, the application computing device 2G is connected (4) to the image device 2 via a universal serial bus (USB). In other aspects, other types of connections may be used, such as wireless or other forms of wired connections. The application computing device 2G includes - or a plurality of processors 22, - display and storage media 26. According to one aspect, processor 22 can include one or more of a control processor, an image processor, a vertex processor, and a display processor. The storage medium 26 may include any volatile memory capable of storing instructions and/or data, such as synchronous dynamic random access memory (NVRAM/, read-only memory (R〇M), non-volatile random access memory). Display, static random access memory (SRAM) or flash memory. Display device 24 can be used for identification, wear, ": display any image data (liquid crystal display), plasma display Device, or other television (TV) display device. ~6~ Application calculation coupon image device 2 sends; captures and analyzes image command 30 and self-image driver (4) (4) and/or performance information 32. In one aspect , Figure, ~, from the image command 30 and status / performance information 32 I42233.doc • 11- 201015485 to the application computing device 20. The image command 3 can include one or more of the application instructions 21 And status/performance information 32 may be generated or captured during execution of image instructions 30 within image processing system 4. Status/performance information 3 2 includes information regarding the status and performance of image processing system 4 during execution of the instructions, And will The status/performance information 32 may include image data (eg, primitive and/or rasterized image data) that may be used with or otherwise associated with the image instructions 30 (eg, primitives and/or rasterized image data). The image processing system 4 can execute an image command 3 to display an image or an image scene on the display device 6. The application computing device 20 can create and display the image command 30 and the status/performance information 32. An image image or scene on the display device 6 of the image device 2. The simulation application 28 can be executed by the processor of the application computing device 2 to create after receiving the image command 30 and the status/performance information 32. The image or scene is displayed on the display device 24. The simulation application 28 can include a software module containing a plurality of application instructions. The simulation application 28 is stored in the storage medium 26 and can be stored by the processor. 22 loading and execution. The simulation application 28 can be preloaded into the storage medium 26, and the simulation application 28 can be customized to operate with the image device 2. In this example, the simulation application 28 simulates the hardware operation of the image device 2. Different versions of the simulation application 28 can be stored in the storage medium % and executed by the processor 22 for different graphics with different hardware designs. The software library combined with the simulation application program can also be stored in the storage medium 26 like the device m. In one aspect, the simulation application 28 can be a general-purpose application and a specific hardware or image device. Simulation 142233.doc -12- 201015485 This functionality may be included in each individual library that may be linked to the simulation application 28 during execution. In one aspect, status/performance information may be displayed on display device 24. One visual representation is displayed to the application developer. Alternatively, a visual representation of one of the image commands 30 can be displayed. Because in many cases, the image command can contain binary instructions, the application computing device 2 can use the command map information 31 to produce a visual representation of the image command 3 on the display device 24. The instruction mapping information 31 is stored in the storage medium 26 and can be loaded into the processor 22 to display a visual representation of the image instructions. In one aspect, the 'instruction mapping information 31' may include mapping information within the lookup table for mapping the image instructions 30 to corresponding API instructions that may have been previously compiled when the image instructions were generated. An application developer can write a program that uses API instructions, but such Αι instructions are typically compiled into binary instructions such as an image a 0 (which is included in the application instruction 21) for use in the image device 2 Execute on. One or more instructions within the image instruction 3 can be mapped to individual API instructions. The mapped apis API instructions can then be displayed on the display device 24 to the application developer to provide a visual representation of the image instructions 30 that are actually executed. - In one aspect, a user such as an application developer may wish to change one or more of the image instructions 30 to determine, for example, the effect of the changes on performance. In this aspect, the user can change the visual representation of the image command. The mapping information 31 can then be used to map such changes within the visual representation of the image instructions 30 to binary instructions, which can then be provided back within the requested modification 34, as will be described in more detail below. Figure 142233.doc -13- 201015485 Image device 2. The image displayed on the display device 24 of the application computing device 2 as described above may be represented by one of the images displayed on the image device 2. Because the simulation application 28 can use the image command 3 and the status/performance information 32 to create an image or scene, as if it were presented on the image device 2, the application developer using the application computing device 2 can Potential performance issues or bottlenecks can be quickly identified during execution of the image application 30, and even prototype modifications can be made to improve the overall performance of the image application. For example, δ, the application developer may choose to make an image command 30 and/or status/performance information 32 during execution of the simulation application 28 on the application computing device 20 and display of the image on the display device 24. Multiple requested modifications 34. Any such requested modifications 34 may be based on an effect or bottleneck observed during the analysis of the image's execution or status/performance information 32. These requested modifications can then be sent from the application computing device 20 to the image device 2 where the requested modifications 34 are processed by the image processing system 4. In one aspect, one or more of the image drivers 18 are executed within the image processing system 4 to process the request. The requested modification 34 may include a modified state in the case of a modified condition, and the requested modification may include a modified state and/or a location = request modification 34 (ie, by image driver) 18 Υ One or more of the updated instruction program 筲 * 35 35 35 35 35 35 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 The updated image 142233.doc 201015485 instructions executed upon request modification 34. The updated instructions/information 35 may also include updated status and/or performance information based on the requested modification 34 processed by image device 2. The updated instruction/information 35 is processed by the simulation application 28 to update the display of the image information on the display device 24, and also provides a visual representation of the updated instruction/information 35 to the application developer (which may Including reusing the instruction mapping information 31). The application developer can then view the updated image information on the display device 24 and the visual representation of the updated instruction/information 35 to determine if the performance issue has been resolved. Alternatively, the application developer can use an iterative procedure to debug the image instructions 30 or prototype modifications to improve the overall performance of the image application. Figure 2 is a diagram illustrating another aspect of the present invention. A block diagram of an image device 52 that provides image commands 80 and status and/or performance information 82 to the application computing device 2 . In this aspect, the image device 52 has a Different from the hardware design and architecture of the image device 2 shown in Fig. 1. However, the application computing device 2 can still interact with the image device 52 and create image information and display by using another simulation application 29. The performance information of the image device 52 is used. In Fig. 1, the simulation program 28 is designed and clamped for use with the image device 2. In Fig. 2, the simulation program 29 is designed and customized. For use with image device 52. • Image device 52 includes image processing system 54, display device 56, and storage medium 58 as shown in Figure 2. Image processing system 4 (Figure 1 } different 'image processing system 54 does not include vertices The image processing system 54 includes a control processor 60, an image processor 62, a display processor 66, and one or more buffers 65. The control processor 60 can control the image processor 62 and / 142233.doc 15 201015485 or each of the instructions or instructions in the processor 66. The control processor 6, the image processor 62, and the display device can access the buffer 65, which can contain resources for storage. (4) 8 ((4), the storage medium of the image device 52 can store the order and the driver. As shown in Fig. 2, the storage medium (including the memory of the application program 71 and / or a plurality of round image driver I should = The program instructions 71 can be included with an image application, and the image driver 68 can include instructions for displaying image data on the display device 56 and instructions for communicating with the application computing device 2G. The application instructions and image drivers 68 can be loaded into the control processor 60, image processor 62, and/or display processor in the image processing system 54 and executed by the processors. In some cases, one or more of the application instructions 及 and one or more of the instructions from image driver 68 may be loaded into buffer 65 for execution within image processing system 54. During execution of the application instructions 71 within the image processing system, the image driver may or may send image instructions (9) and status and/or performance information 82 to the application computing device 2 during execution. Hey. Image instructions 80 may include a partial or a subset of application instructions 71. Status/performance information 82 may be performed based on image instructions 8 within one or more of control processor 6, image processor 62, and display processor 66. The emulation application 29 can be loaded into one or more of the processors 22 and executed by -or more of the processors 22 to process the image instructions 8. And status / performance information 82. As noted above, the simulation application 29 can be specifically designed to simulate the operation of the image device 52. The various types of design of the image device can be simulated on the application computing device 20 by creating and executing a corresponding simulation application 142233.doc • 16. 201015485. The emulation application 29 can cause the processor 22 to display an image image or a representation of the scene on the display device 24 based on the received image command 80 and status/performance information 82. This image or scene may have been initially displayed on display device 56 of image device 52, but the representation is displayed on display device 24. Additionally, the simulation application 29 can cause the processor 22 to display a visual representation of one of the status/performance information 82 on the display device 24. The application computing device 2 can also use the instruction mapping information 33 to provide a visual representation of the image commands 80 in the display device 24. The application developer may also choose to make one or more requested modifications to image instruction 80 and/or status/performance information 82 during execution of simulation application 29 84. Any such requested modifications 84 may be based on the image. A performance problem or bottleneck observed during the analysis of the execution or status/performance information 82 of the instruction. These requested modifications 84 may then be sent from the application computing device 20 to the image device 52 where the requested modifications 84 are processed by one or more of the image drivers 68. After processing the requested modification 84, the updated command and/or information 85 is sent back to the application computing device 20 by the one or more of the image drivers 68. The updated instructions/information 85 may include updated image instructions, updated status information, and/or updated performance information. The updated command/information 85 is processed by the simulation application 29 to update the display of the image information on the display device 24, and also provides a visual representation of the updated instruction/information 85 to the application developer. Application 142233.doc -17- 201015485 The developer can view the updated image information on display device 24 and the updated visual representation of instruction/information 8 to determine if the performance issue has been resolved or mitigated. Application developers can use an iterative program to debug image commands 80 or prototype modifications to improve the overall performance of the image application. FIG. 3 is a block diagram showing specific details of the image processing system 4, the image driver 18, and the application computing device 2 shown in FIG. 1 according to an aspect. In FIG. 3, it is assumed that the application computing device 2 is coupled to the image processing system 4 of the device 2. However, this is shown for illustrative purposes only. In other cases, the application computing device 2 can be coupled to many other forms of image processing systems and devices, such as the image processing system 54 (FIG. 2) of the device 52, as shown in FIG. The processing system 4 includes four programmable processors: a control processor 10, a vertex processor M, an image processor n, and a display processor 16, which are also shown in the figure. The control processor 1 can control any of the vertex processor I4, the image processor 12, or the display processor 16. In many cases, such processors 1, 1, 2, 2, and "may be part of an image processing pipeline within system 4. Control processor 10 may control the flow of data or instructions through the pipeline. : or a plurality of aspects 'and may also provide geometry information for the image image to the vertex processor 14. The vertex processor i4 may manage a map that may be described or defined according to a plurality of vertex U-based 70 geometry forms. Image-like vertex transformation or geometry processing. Vertex processor 14 may provide its output to image processor 12, which may perform visualization or optical H2233.doc 201015485: operation on the image image. Processor 12 can provide its output to display processor 16, which prepares image images for display in pixel form. Image processor 12 can also perform various operations on pixel data, such as shading or scaling. Adjustment.

常常可在圖像才曰令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中的執行之Image image data can often be processed in this processing pipeline during the execution of the image command 30. The image command 3 can be an application command 2 (the part 1 can be controlled by the processor 1G, the vertex processor) The image processor 12 and the image processor 12 or the like do not process the image command %. The application developer may not well understand or control the specifics of the image processing system 4 in general. Which of the processor executes the image command, in some cases, controls the processor 1 顶点, the vertex processor 丨 4, the image processor 12, and the display processor 16 - or more of the image commands 3 There may be performance issues during execution, or as potential bottlenecks in the processing pipeline. Under these conditions, the overall performance within image processing system 4 may degrade, and application developers may wish to make image instructions. Changes to improve performance. However, developers may not necessarily know which of processor 丨〇, i 2, 丄 4 or 16 may be a processor with performance issues. To help identify performance bottlenecks and potential solutions For example, the image driver 18A of the image device 2 can capture or collect image instructions 30 from the image processing system 4 and deliver them to the application computing device 2, as shown in Figure 3. Image The driver 18A is part of the image driver 18 shown in Figure 1. The image driver 18A may be one or more of the control processor 1, the vertex processor 14, the image processor 12, and the display processor 16. In addition, the image driver 18A may also control one or more of the processor 1〇, 142233.doc • 19-201015485 vertex processor 14, image processor 12, and display processor 16. Status and/or performance information 32 is collected and this information 32 is also sent to the application computing device 20. In one aspect, when the image instructions 30 include binary instructions that may have been generated or compiled from OpenGL ES API instructions Image driver 18A may include an OpenGLES driver. Various forms of status data may be included in status/performance information 32. For example, 'status data may be included during execution of image instruction 30 or otherwise image The image data associated with 30. The state data may be associated with a vertex array, such as position, color, coordinates, size, or weight data. The state data may further include texture state data, point state data, line state data, polygon state data. , culling state data, alpha test state data, blending state data, depth state data, template state data 'or color state data. As described previously, 'status data may include status information and actual data. In some cases, the status data may include data associated with one or more OpenGL tokens. Various forms of performance data may also be included in the status/performance information 32. In general, the performance data may include metrics or hardware meter data from one or more of control processor 1, vertex processor 14, image processor 12, and display processor 16. Performance data can include frame rate or cycle data. The periodic data may include data for profiling, command arrays, vertices, and indexing data or other operational cycles. In various aspects, various forms of status and performance data may be included in status/performance information 32 collected by image driver 18A from image processing system 4. 142233.doc • 20- 201015485 As previously described, the application computing device 2 can display one of the image images based on the received image command 30 and status/performance information 32. The application computing device 20 can also display a visual representation of the status/performance information 32. By viewing and visualizing the visual representation of the recreated image image and/or status/performance information, the application developer can quickly identify and resolve the image device 2 during execution of the image command 30. Performance issues within image processing system 4. For example, an application developer may be able to identify which of the processors H), 12, 14, and/or 16 may have performance issues. In an attempt to identify a workaround or solution to a performance problem, the developer may initiate one or more requested modifications 34 on the application computing device 20. For example, the developer may recreate the image or The status/performance information 32 represents an interaction to create the requested modification 34. In some cases, as described in more detail below, the developer may even directly change the status/performance information 32 to generate the requested modification 34. Under certain circumstances, The requested modification 34 may include one or more requests for disabling the execution of one or more of the image processing systems of the image device 2, or for repairing Request for one or more of the image commands 3. The requested modification 34 is sent from the application computing device 2A to the image driver 18A, and the image driver 18A handles the request for the image device 2 during operation. In many cases, the requested modification 34 may include state information for modifying one or more of the processors 10, 12, 14, or 16 within the image processing system 4 during execution of the image instructions 30. (Includes information) 142233.doc -21 - 201015485. The image driver 18A may then implement the changes in the image processing system 4 included in the requested modification 34. These changes may alter the processors 10, 12 14, 14 and/or 16 execute the execution flow of image instructions 30. Under certain circumstances, one or more of image instructions 30 may be modified according to the request "and instead are disabled during execution in image processing system 4. The image driver 18A can send the updated instructions and/or information 35 to the application computing device 2 in response to the processing of the requested modification 34, and the updated command/information 35 can include the image driver. The updated status information collected by the 18A from the image processing system 4, including performance information, and the newer instructions/information 35 may also include updated image instructions. The application computing device 20 can use the updated index information to display an updated representation of the image image and a visual representation of the updated command/information 35. The application developer can then be able to assess whether the previously identified effect (4) has been resolved or otherwise addressed. For example, an application developer may be able to analyze the updated image and the visual representation of the updated instruction/information 35 to determine whether the technical, polygonal or other features have been optimized, or other performance parameters are $ 〇 has been improved. In the above, the application developer can quickly and efficiently refer to the image in the environment on the application computing device 20 operating on the image processing system 4 on the analog image device 2 ^ + batch / magic circle Perform debugging or analysis like the execution of Zhi 7 30. The developer can iteratively interact with the ~, / / performance information displayed on the application side of the application, to analyze a ^ ^ % scene or multiple image frames _ Image to maximize image command 3. Performance. An example of this interaction and displayed information on the application computing device 20 will be presented in detail below in 142233.doc -22.201015485. 4 is a flow diagram illustrating additional details of operations that may be performed by control processor 丨〇, image processor 12, vertex processor 14, and display processor 16 in accordance with an aspect. Figure 4 also shows the operation for the frame buffer to store and display 1〇2. In one aspect, control processor 1 , vertex processor M, image processor 12, and/or display processor 16 perform various operations resulting from the execution of one or more of image instructions 30. As previously described, control processor 10 may control one or more aspects of the flow of data or instructions executed through the image processing pipeline, and may also provide geometry information to the vertex processor as shown in FIG. Control processor 10 may perform geometry storage at 90. In some cases, geometry information for one or more primitives may be stored by control processor 10 in buffer 15 (Fig. 1). In some cases, the geometry information can be stored in the storage medium 8. Vertex processor 14 may then obtain geometry information for a given primitive provided by control processor and/or stored in buffer 15 for processing at 92. Vertex processor 14 can manage the vertex change # of the geometry information under certain conditions. In a particular situation, vertex processor 14 may perform a lighting operation with geometric information. Vertex processor 14 may provide its output to image processor 12, which may perform rendering or rasterizing operations on the material at 94. Image processor 12 can provide its output to display processor 16, which prepares in the form of pixels - or multiple image images for display. Display processor 16 can be 142233.doc • 23· 201015485 Performing various operations on the transfer of pixel data includes processing with fragments of the fragments. In the case of this inferiority, this may include one of the deep-level, template testing, blending, or texture mapping known in the art. At the %, there is a store and filter information. In some cases, image processing and other operations, such as adding shadow or scaling the box = Γ: 6 provides output pixel information for storage in _ to the map ... Included in the buffer/down, the frame buffer can be included in the storage medium. Figure f stores one or more frames of image data, and the image frame = frame can then be displayed at 102, such as on display device b. As previously described, the image instructions can be executed by the control process (4), the vertex processor 14, and the image processor slaves (four) 16 wipers. It is generally possible and well-understood by the developer to know which of the image instructions 30 in the image processing system 4 are performing well. Under certain circumstances, one or more of the control processor ig, the vertex processor 14, the image processor 12, and the display processor 16 may have performance issues during the execution of the diagram (d) order 3' or act as a processing pipeline. The potential bottleneck. It can often be difficult for an application developer to pinpoint the location of a bottleneck or how to best address or mitigate the effects of such a bottleneck. Thus, image instructions 3 and/or status information can be provided from image device 2 to an external computing device (such as application computing device 20). Status 142233.doc -24· 201015485 Information may include one or more of control processor 10, vertex processor 14, image processor 12, and display processor 16 during execution of image instruction 3〇 Information on the various operations that occur, such as the operations shown in Figure 4. The application computing device 20 can create an image image that is displayed on the device 2 to help identify and resolve bottlenecks in an efficient and effective manner. Figure 5 is a block diagram showing additional details of the image driver 18A shown in Figure 3 in accordance with an aspect. As previously described, image driver 18A may include one or more of the control processor 10, vertex processor 14, image processor 12, and display processor μ that may be executed within image processing system 4 (such as by control processor 10, vertex processor 14, image processor 12, and display processor μ). The instructions are executed and may be part of the image driver 18. Execution of image driver 18A allows image processing system 4 to communicate with application computing device 20. In one aspect, image driver 18A can include instructions executable within image processing system 54 and can be part of image driver 68. Image driver 18A includes various functional blocks when executed. The functional blocks are shown in FIG. 5 as a transport interface 11 , a processor usage module 112 , a hardware meter module 114 , a status/performance data module 116 that can manage other status and/or performance data, and an API trace. The line module 118 and the over-modulation module 120. The image driver 18A communicates with the application computing device 20 using the transport interface module 11A. The processor uses module 112 to collect and maintain processor usage information for controlling one of the processor 1, top processor 14, image processor 12, and display processor 16. Processor usage information may include processor cycles 142233.doc -25· 201015485 or performance information. The periodic data may include data for modeling, command arrays, point and index data, or other operational cycles. The processor can be used by the processor to use the module, and then the processor can be used to calculate the information, and the application can be used to calculate the device. In some cases, when the processor uses, When 112 is connected to (4) this message, it provides the information to the device 2 in a 1-hour manner. In other cases, the processor usage module (1) can provide this information upon receipt of a request from device 2G. The hardware meter module i i 4 collects and maintains various hardware meters during execution of one or more of the instructions by the control processor 1, the image processor 12, the vertex processor 14, or the display processor 16. The meter can track various status indicators and/or metrics regarding the execution of instructions within the image processing system 4. The hardware meter module 114 can provide information to the device asynchronously or provide information to the device 2 after the request. The status/performance data module 116 collects and maintains other states for one or more of the control processor 10, the image processor 12, the vertex processor 14, and the display processor 16 in the image processing system 4 and/or Or performance data. For example, 'status data may contain image data in some cases. The status data may include information relating to a vertex array, such as position, color, coordinates, size or weight data. The status data may further include texture status data, point status data, line status data, polygon status data, cull status data, alpha test status data, blend status data, depth status data, template status data' or color status data. Performance data can include a variety of other metrics or periodic data. The status/performance data module 116 can provide information to the device 20 asynchronously or upon request to provide information to the device 142233.doc • 26-201015485 20 - the API trace module 118 is managed by the image processing system 4 and The flow and/or trace of the image commands sent to the application computing device 20 via the transport interface module 110. As previously described, image device 2 provides a copy of one of image commands 3 executed by image processing system 4 in its processing pipeline to device 20. The API Trace Module 11 8 manages the capture and transmission of such image commands. The API Trace Module 8 may also provide special information for use with the instruction map information 31 (Figure 用于) for mapping the image instructions 3〇 to the visual representation of the image instructions 30, such as may have been used to generate The image command module 超 super-module 120 allows the image driver 丨 8A to change or override the execution of specific instructions within the image processing system 4. As previously described, application computing device 20 may send - or a plurality of requested modifications (such as modifying 3 sentences to image device 2. In the case of (d), the requested modification 34 may include for deactivating image instructions 30. - or more of the execution in the image processing system 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)。One or more requests, or requests to modify one or more of the image instructions. In some cases, the requested modification 34 may include a request to change the status/performance information 32. "Overlay module 120 can accept and process the requested modification. For example, the over-module m can be connected from the device 2G (4) to modify the image command: any request of one or = ' and for modifying the status / The performance resource (4), the request, and the request to send _, the image processor 12, the vertex processing system 4 control processing, the processing state 14 and the display processor 16 ^ ° I process the request and generate an update Instruction/Information I42233.doc • 27- 201015485 The overlay module 120 can then send the updated instructions/information 35 to the application computing device 20 for processing, as previously described. In this manner, the image driver丨8A provides an interface between the image device 2 and the application computing device 20. The image driver 18 can provide image commands and status/performance information 32 to the application computing device 2, and also from the application The computing device 2G receives the requested modification 34. After processing the requested changes 34, the image driver 8A can then provide the updated instructions/information 35 back to the application computing device 2A. According to the invention An aspect (4) of a flowchart executed by the image device 2 shown in the drawing or the image device 52 shown in Fig. 2. For the sake of explanation only, it will be assumed that in the following description, the figure The apparatus 2 performs the method of Figure 6. The image device 2 can send a plurality of image instructions to a computing device such as the application computing device 20 (121). The image command of 7 3 0 displays an image image. The image command 3 can include a binary command generated from an application programming interface (API) s. In the sample, the image device 2 can use the image. The Apl trace module 118 (Fig. 5) of the driver 丨 8A sends an image command 3G. The image device 2 also sends status/performance information 32 to the application computing device 2() (122). Status/performance information 32 and The execution of the image command 3 is associated by the image device 2. In one aspect, the image device 2 can transmit the status/performance information 32 using the status/performance data module U6 of the image driver 18A. The performance information still includes the processor 1〇, 12 from the image device 2 executing the image command 3〇, Status information or information of - or more of 14 or 16 and may include image data. Shape 142233.doc • 28· 201015485 State/performance information 32 may also include processors 1〇, 12, 14 or In this case, the image device 2 can use the processor of the image driver 18A to transmit the status using the module 112 and/or the hardware meter module 114. Performance information 32. The image device 2 is also capable of receiving one or more of the requested modifications 34 (123) from the application computing device 2 . The requested modifications 34 may cause the image device 2 to modify the image by the image device 2 Like the execution of instruction 30. The requested modification 34 may include one or more of the following requests: a request to disable execution of one of the image instructions 3〇 or more on the image device 2 for use on the image device 2 A request to modify one or more of the image instructions 30, or a request to modify status information on the image device 2. In one aspect, image device 2 can receive requested modification 34 using overlay module 120, API trace module 118, and/or status/performance data module 116 of image driver 18A. After processing the requested modification 34, the image device 2 can send the updated instruction and/or status information 35 to the application computing device 20 (124) based on the requested modification 34. In one aspect, the image device 2 can transmit the updated command/information 3 5 using the API trace module 11 8 and/or the status/performance data module 图像6 of the image driver 18A. : 3⁄4 image device 2 does not complete processing information (125) for one or more image image salt image frames, the image device can repeat images for multiple frames or multiple images of one image image Transmission of instruction 30, transmission of status/performance information 32, receipt of requested modification 34, and transmission of updated instruction/information 35. In some cases, image device 2 may display one or more image images on display device 6 based on image command 30 and status/performance information 32. 142233.doc -29- 201015485 Figure 7 is based on the state of the sample is calculated by the application of the program (4) via the simulation & program 28 (Figure 1) or the simulation application (Figure on the processor u execution) Method Flow The application computing device 20 receives a plurality of image instructions (such as an image from an external image device " 30) (13〇) from an external image device. The image command % is executed to display, for example, a three-dimensional (10) image image on the display device 6 or a plurality of image images. In the - aspect, the image command 3 includes - a call to visualize the image image when executed Streaming - force rk In I, the call stream contains binary instructions generated from an application programming interface (API) instruction. • The application computing device 20 can receive status and/or performance from the image device 2. Information 32 (132). Status/performance information 32 is associated with execution of image command 3 on image device 2. Status/performance information 32 may include an indication that image device 2 is presenting image images thereof - or Status information for multiple states. Status information may include from image device 2 Status information of one or more processors (such as control processor 、0, image processor 丨2, vertex processor 14, and/or display processor 16) executing image instructions 。. Status/performance information 32 may include image data (eg, primitive data and/or rasterized data) in some cases. Application computing device 20 may display one or more image images based on image command 3 and status/performance information 32. One of the representations (134). In this manner, the application computing device 20 can display one of the image images in the simulated environment of the analog image device 2. The application computing device 20 can be implemented via the simulation application 28. Execution on processor 22 provides the simulated environment. Application §10 computing device 20 displays image commands 30 and 142233.doc on display device 24 at least a portion (136) of status/performance information 32 on display device 24. In some cases, when the image command 30 includes a binary command, the application computing device 2 displays a visual representation of the image deduction 30. As previously described, the application computing device 20 can use the finger The mapping information 31 maps the image instruction % to one of the instructions 30. The representation may include an associated image application programming interface (API) instruction that is visually displayable on the display device 24. A visual representation of the status/performance information 32 is displayed on the device 24. If there is still a frame to be processed (138), the image command can be received for the multiple (5) image frame of the one or more image images. (130), reception of status information (132), display of image representation (134), and indication of status and status information (36). In this manner, application computing device 20 can display both still image images and moving image images (including 3d images) on display device 24. In one aspect, processor 22 can execute simulation application 28 to display a navigation controller on display device 24. A navigation device (such as an application developer) can be used to visually interact with the navigation controller within the graphical user interface displayed on display device 24. The image user can receive user input from the application developer to interact with the navigation controller to change the perspective of the one or more displayed image images. A modified perspective image of the image image can then be displayed in the image user interface based on user input to the navigation controller. In general, after the one or more image images are visually represented and displayed on the display device 24, the simulation application 28 (during the execution of the processor 22) can receive user input to modify the image. image. For example, 142233.doc • 31 - 201015485, as will be described in detail below, the application computing device 2 can receive a user input, which is determined by an external image device. The image device 2 is external (with respect to the application computing device 2G) - or more than 34 requests for execution of the image instructions 30. Upon receiving the user input, the application computing device finely transmits the requested modification to the image device 2 for processing. Image device 2 may then process the requested modification 34 as previously described. In one aspect, the requested modification "may include at least one of the following requests: for deactivating the image command 3 - or a request for execution on the image device 2, for use in the map A request to modify one or more of the image instructions 30 on the device 2, and a request to modify the status/performance information 32 on the image device 2. The application computing device 20 can then receive the plurality of images from the image device 2. Updated image instructions and/or information 35. The updated image instructions/information 35 may be associated with the requested modification 34. The updated instructions/information^ may include the pair of image devices 2 The updated status information associated with the requested modification 34 of the execution of the image instruction 30. Upon receipt of the updated instruction/information 35, the 'application computing device 2' can be updated according to the updated instruction/capital sil 35 Displaying an updated version of the one or more image images. Figure 8 is an illustration of an application computing device 2 via an emulation application 28 (Fig. 1) or an emulation application 29 (Fig. 2) Flow of methods performed on processor 22 In this aspect, the application computing device 2 can receive image commands 30 (150) from the image device 2. The application computing device 20 can also receive status and/or performance information from the image device 2 32. (1 52) After receiving the image command 3 and status/performance information 32, the 142233.doc -32-201015485 application computing device 20 can display one or more based on the image command 30 and the status/performance information 32. One of the image images represents (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上顯示該一或多個圖像影像之一經更新之表示。After creating such images or creating such images, application computing device 20 can receive input to identify one or more performance issues (156). For example, in some cases, application computing device 20 may automatically receive input from analog application 28 for execution based on image instructions 30 and/or based on status/performance information 32 provided by image device 2 The analysis identifies potential bottlenecks in the execution of image instructions 30. Such bottlenecks may be associated with execution of image instructions 30 within processing pipelines of image device 2, such as 'control processor 1, image processor 12, vertex processor 14, and/or display processor 16. . In some cases, the application computing device 2 can receive a designation from a user (such as an application developer) or otherwise identify one or more during execution of the image instruction 30 on the application computing device 2 Input of performance questions to create image images. In the aspect, the status/performance information 32 includes performance information associated with execution of the image command 3 on the image device 2. The application computing device 2 may analyze the performance information to identify one or more performance issues on the image device 2 during execution of the image command (9) by the image device 2. In some cases, the performance information may include an energy product collected from - or more of the image processing processor 1A, 12, 14, or 16 from the image device 2. When the application computing device 20 analyzes the performance information received from the image, it can identify the reduced performance of one of the processors 1 〇 14 or 16 or 吝. After the recognition of the questions, the application computing device 20 may send the execution of the image 142233.doc • 33 - 201015485 the instruction 30 to the image device 2 (in between. In some cases, the 'application computing device 2' may receive a user input specifying one or more of the requested modifications 34. In the aspect, the requested modification 34 may include at least one of the following requests: Request to disable one or more of the image instructions 30 on the image device 2 for modifying one or more of the image instructions 3 on the image device 2, and for Request to modify status/performance information 32 on image device 2 After image skirt 2 has processed requested modification 34 (such as previously described), application computing device 20 may receive a plurality of images from image device 2 Updated instructions and/or information 35 (160). The updated information 35 may include updated image instructions and/or updated performance information. Any updated image instructions and/or performance information may be Requested modification 34 of execution of image instruction 30 by image device 2 Association. The computing device may then app according to one of the one or more video images of the updated image such instructions and the updated performance information is not displayed on the display means 24 shows the updated.

應用程式計算裝置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用者(諸如’應用程式開發者)可改變顯示於窗内The application computing device 2G can then analyze the updated performance information to determine if - or more of the previously identified performance issues have been resolved (10). In some cases, the application computing device 2() may be able to automatically analyze or process the updated instructions/information 3 to determine if a particular performance issue has been resolved or otherwise mitigated. In some cases, the application developer can be enabled by the application developer after analyzing the updated instructions/information 35 and/or checking the updated representation of the image image already displayed on display device 24. The input to the application computing device 2 has not been resolved or the performance problem has been resolved or otherwise mitigated. I42233.doc -34- 201015485 The application computing device 2G repeats the following actions in an iterative manner: identifying existing performance issues, transmitting the requested modifications 34 to the image device 2, and receiving updated instructions and/or information 35 until The identified performance issues have been resolved or otherwise mitigated. The application computing device 20 also repeats the actions (164) shown in Figure 8 for a plurality of image frames of the one or more image images visually represented on the display device 24. In this manner, the application computing device 20 can display both the still image image and the moving image image (including the 3D image) on the display device 24. 9 is a conceptual diagram illustrating an example of an image device 2 (10) of a display device 2 (H) for displaying information in an image window 2〇3 according to an aspect. If, for example, the image device 200 For the image device 2 (the portion of the figure, the display device 2 (which may be part of the image device 24 in the application computing device 2). The image device 2 can display - the image 2 2 . The display device 201 can display the 3D image image 21 indicated by one of the image images 202 in the window 203 based on the image command and the status/performance information transmitted from the image device 2 . The display device 201 can also be displayed. A visual representation of the instructions and status/performance information can be displayed such that the developer can change the instructions and information to modify the image image 210 or the entire scene including the image image 21 . The display device can be coupled to The image device 2 is capable of receiving any of the instructions and status/performance information from the image device 200 in any type of computing device (not shown). For simplicity, the conceptual map shown in FIG. The computing device including the display device 201 is omitted. As previously described, the image device 200 is capable of displaying a 3D image image 2〇2 (which is a cube in the example of Figure 9). The image device 2〇〇 also has a small 142233.doc -35-201015485 keyboard 204. The user can interact with the keypad 2 to manipulate the image device 2. The keypad 204 can include a number of keys and/or buttons. The image device 2 can image instructions and status/performance via the connector 206. Information is sent to - a device comprising image device 201 (eg, 'application computing device 2'). In one aspect, connector 206 includes a universal serial bus (USB) connector. In other aspects, Different forms of connectors may be used, such as the Institute of Electrical and Electronics Engineers (IEEE) 1394 connector. In some aspects, the wireless communication replaces the connector 206. As shown in the example of Figure 9, the display device 2〇1 Various types of information can be displayed in the image user interface. In this example, the display device 2〇 displays an image window 203 in the image user interface. The window 2〇3 includes a display area 211 and an image instruction area. 208, and status/performance information area 2 14. The display area 211 includes a 3D image image 210, which is represented as one of the 3" image images 202 as previously described. In this example, the 3D image image includes a cube. According to an aspect, it is displayed on the display device 201. The information thereon includes one of the information displayed on the image device 202 for representation or simulation (for debugging and testing purposes). In the example of Figure 9, the image command area 2〇8 includes the self-image device. Receiving - or visual representation of a plurality of image instructions. As previously described, the visual table of the instructions * may include a material instruction - for example, if the image device 200 transmits a binary image finger ♦ The display device 2〇 may additionally display one of the binary instructions, such as a higher order application programming interface (API) instruction (eg, a 〇_certificate command). The mapping information (such as mapping information 31 shown in Figure!) can be used to map the received binary instructions of 142233.doc - 36 - 201015485 into another format that can be displayed within image command area 208. The status/performance information area 214 includes a visual representation of selected status and/or performance information that has been received from the image device 200. The received image command and status/performance information can be used to display the 3D image image 21〇 in the display area. In one aspect, image device 200 can utilize an image driver of an implementation state/performance data module (such as state/performance data module 116 shown in FIG. 5) to provide various states and/or performance. data. The received information may include image data (e.g., primitive data and/or rasterization data). Window 203 also includes one or more selectors 212A-212N. The user can select any of these selectors 212A-212N. As will be described in greater detail below, each selector 212A-212N can be associated with a different function, such as a statistic and navigation function. Window 203 further includes selectors 216A-216N and 218A-218N, each of which is selectable by a user. Each selector 216A_216N and 218A-218N may also be associated with a different function, such as a metric function, an overriding function, and/or a texture function, as will be described in more detail below with reference to the figures. f users (such as 'application developers) can change the display in the window

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可抹除可程序化唯讀記憶體Hi example * a, the user can modify any of the - or more of the talents 7 displayed in the image command area, or the status/performance information in the status/performance information area. Any changes in the window 203 initiated by the user of jjL.jt〇 are then sent back to the image I setting 00 as the requested modification. The image device 2 can then process the 142233.doc • 37-201015485 modifications and provide updated instructions and/or information that can then be displayed in the image command area 208 and/or the status/performance information area 214. . A modified version of the 3d image image 21〇 may also be displayed in the display area 211 using the updated heart and/or information. In one aspect, the status and/or performance information displayable in region 214 can be analyzed by a computing device including display device 201 (such as application computing device 20 shown in FIG. 1) to identify the image. A potential bottleneck during execution on the image device 200 is commanded. Finally, the user (such as an application developer) may wish to check the information presented in the window 2〇3 during the debug process to optimize the execution of the image instructions on the image device 2. The bottleneck is introduced anywhere in the image processing pipeline in the image device 200 as previously described, and it may be difficult for an application developer to isolate such bottlenecks for performance optimization. Through analysis of status and/or performance information, potential bottlenecks and possible temporary solutions can be displayed in window 203, such as within one or more sub-windows or pop-up windows, or within area 214 of window 203. The second window '° 2° 3 can display a report on the bottleneck encountered in the :: squeaking flow received from the image device 2 ° ,, and can also display the time: ... case. In some cases, this possible temporary = = "if-then" situation can be presented to the user. For example: the conditional presentation, = the list of non-optimized triangles can be used as a possible one. It can be pre-processed as a strip optimization framework. Temporary solution situation, brother II:. The user may select such possible requested modifications = requested modifications, and then transmit back to the image device 2, at which the performance may be measured at 142233.doc • 38-201015485. Image device 200 then transmits updated instructions/information that may be presented within image command area 208 and/or status/performance information area 214. The user can then review the results and compare the results of various potential latent solutions to identify an optimal solution. Users can use this program to quickly identify a series of steps that can be taken to remove a bottleneck from their application. The user can iteratively continue to make adjustments in window 2〇3 for experimental or trial/error debugging purposes. The user can experiment with various forms or combinations of image commands and status/performance information to identify changes in the image or scene displayed in display area 211. The user can iteratively view and modify the image instructions (which can be part of a call flow) and the status provided by the image device 2 using the simulation environment provided by the contents of window 2〇3 without having to re The source code is compiled and the compiled code is re-executed on the image device 2. In some cases, the user can manipulate one or more of the buttons 212A-212N to manipulate an image navigation controller, such as an image camera, to modify the perspective of the image image 210. The manipulation can be captured as the requested modification that is then sent back to the image device 200. The perspective image of the image image 21 is then modified using the updated instructions/information provided by the image device 2A. In some cases, various texture and/or status information may be provided as modifiable entities in area 214 of window 203. Alternatively, the user may select, for example, one of the image images 210 within the display area 211 to identify one or more corresponding instructions within the image command area 208. In this manner, the user can effectively navigate backwards to a presentation command or call for visualizing or creating other portions of the pixel or image image 142233.doc-39-201015485210. Since the image device 2〇1 can create the image 210 in the image 203 as if it were presented on the image device 2, the user can quickly isolate the problem in the application (the application can be based on the display) The various image commands in the image command area 2〇8 are modified to any new state in the state/performance area 214. FIG. 10 is a conceptual diagram illustrating another example of an image device 200 coupled to a display device 201 that displays information within an image window 22, according to an aspect. In this aspect, the window 220 includes various command information and metric information. Various image instructions 242 are shown in the image command area 208 by way of example. Image command 242 can be a subset of the image instructions provided by image device 2. For example, if image device 200 is part of image device 2, image command 242 can be a subset of image instructions 30. In some cases, mapping information (such as mapping information 31 shown in FIG. 2 or mapping information 33 shown in FIG. 2) may be used to map incoming instructions received from image device 2 to such One of the instructions is visually represented, and the visual representation of the instructions is substantially embodied as instructions 242 displayed in image command area 208. For example, if the received instruction is in binary form, the instruction 242 can include an API instruction for generating a binary form of the instruction. As shown in the example of Figure 10, image instructions 242 include both higher order and lower order instructions. A user (such as an application developer) can use scroll bar 244 to view the entire set of instructions 242. Certain higher order instructions may include one or more lower order instructions (such as lower order API instructions). The application developer may, under certain circumstances, select (eg, by clicking) a specific high 142233.doc • 40- 201015485 order instruction to detect a portion of the associated higher order instruction or be executed by the associated higher order instruction. Any low order instructions. As previously described, the received image instruction (such as instruction 242) is used to generate a representation of image image 202. The representation includes image image 210 displayed in display area 211 of window 22, in FIG. Below the status/performance information area 214, various options are selected. These selection buttons include a texture button 236, an over button 238, and a metric button 240. In the example of Figure 10, the application developer has selected the quantity _ degree button 240. Once you select this button, you can display various measurement options. For example, one or more of the metric buttons 234A-234N can be displayed above the status/performance area 214. Each metric button 234A-234N can be associated with a particular metric. In some cases, one or more of these metrics may be a predefined or pre-configured metric type, and in some cases, the application developer may select or customize one or more of the metrics. . Instance metrics can include, for example, any one or more of the following: number of frames per second, percentage of busy (for one or more processors), busy bus, busy memory, busy, top per second Number, number of triangles per second, number of pixels per second, number of segments per second, etc. The application developer can select any of the metric buttons 234a_. 234N to view additional details regarding the selected metric. For example, if the metric button 234A is associated with the number of frames per second, the application developer can select the metric button 234a to view additional details about the number of frames per second (related to performance) of the image image 210. , or select part of the image image 21 0. The developer may select a metric button 234A' or drag the metric button 234A to the status/performance information area 214 under some conditions. 142233.doc •41 - 201015485 Detailed information on the number of frames per second can be displayed in the status/performance information area 214. The developer can also drag the metric button 234A into the display area 211 or select a portion of the image image 210 for application of the metric button 234a. For example, the developer may select a portion of the image image 210 after selecting the metric button 234A, and then detailed information about the number of frames per second for the selected portion may be displayed in the status/performance information area 214. In this manner, the developer can view performance data for any number of different metric types based on the selection of one or more of the metric buttons 234A-234N and even the possible selection of the image image 210 (or a portion thereof). In one aspect, the metric data displayable within the window can be provided by an image driver of image device 200 (e.g., image tiling program a shown in Figure 5). The image driver can implement a hardware meter module (for example, the hardware meter module 114 of FIG. 5) and/or a processor module (1). For example, the processor of FIG. 5 uses the module 112). Various materials are provided that can be displayed as metric data displayed in window 220. The developer may also select the texture button 236 in some cases. After selection, various forms of texture information related to the image image 21 can be displayed by the image device 201. For example, texture information can be displayed within window 22', such as in the status/performance information area 214. In some cases, texture information can be displayed in an additional (e.g., pop-up) window (not shown). Developers can view the texture information displayed, but in some cases the texture information can be modified. In such situations, any modification to the texture information can be propagated back to the image device 200 as the requested modification. After receiving the updated instruction/information from the image device 200, the change to the image image 210 can be displayed in the display area "142233.doc -42 - 201015485. The figure "includes after the texture button 236 is selected. That is, the specific texture information is displayed. Developers may also choose to override the button 238 in some cases. After selecting the overlay button 238, any modifications or overrides that may be displayed (eg, within the window 22 or another window) that may be modified or overridden by the developer (such as instructions and/or status information) may include Sent to one or more of the requested modifications of the image device 2〇〇. In one aspect, image device 2 can implement an image driver such as image driver 18A (Fig. 5) to process any of the requested modifications. For example, image device 200 can use overlay module 120 to process the requested modifications that include one or more overrides. In some cases, the developer may overwrite one or more of the image instructions 242 displayed in the image command area 2〇8. In such situations, the developer can key-in or otherwise type information into the image command area 2〇8 to modify or overwrite one or more of the image instructions 242. These modifications can then be sent to the image device 200, which will provide updated instructions/information to update the display of the image image 21 within the display area 211. The developer can change, for example, the parameters, ordering, type, etc. of the image instructions 242 to override one or more of the functions provided by the instructions 242. In one aspect, mapping information 3i (FIG. 1) or mapping information 33 (FIG. 2) can be used to map or convert changes to image instructions 242 into another format that can then be provided to image device 2 Corresponding instructions (for example, binary instructions). In some cases, the developer may also choose to override button 238 to override one or more functions associated with the processing pipeline implemented by image device 200. Figure 12 shows an example of a 142233.doc • 43-201015485 overlay screen that can be displayed to the developer after selecting the overlay button 238. Window 220 further includes selection buttons 23 and 232. The selection button 23 is a statistical button ' and the selection button 232 is a navigation button. The developer can select the Statistics button 2 3 0 to view the statistical assets sfl associated with the display of the image image 2丨〇. This statistic can contain statistics for one or more graphs, tables, or other forms. Figure 11 provides an example of specific statistical and texture information that can be displayed after the user selects the statistics button 23〇. The developer can view the statistical information to obtain a better understanding of the various performance or other related issues associated with the display of the image image 21〇. The developer can select the navigation button 232 to navigate within the display area 211, and possibly even change the perspective of the image image 21 in the display area 211. For example, after selecting the navigation button 232, a 3D image camera or navigation controller can be displayed. The developer can interact with the controller to navigate to any area within the display area 2ιι. The developer can also use the controller to change the perspective of the image image 2 10, such as by rotating the image image 210 or enlarging/reducing the image image 21 . In one aspect, any developer-initiated changes via the selection of navigation button 232 and interaction with the image guide controller can be used as the requested modification (eg, the request shown in Figure 1). The portion of modification 84 is propagated back to image device 2GG. The display (e.g., perspective) of the image image 210 can then be updated using the newer instructions/information provided by Image |Set 2(8). In addition, the updated instructions can be displayed in the image command area 2〇8. The updated status/performance information can also be displayed in the status/performance information area 214. Thus, the developer can effectively and efficiently determine how the alternative perspective, orientation, view, etc. of the image 210 can affect the performance and state of the image device 200 for visualizing and displaying images 142233.doc 44· 201015485. This optimizes the image command 242 for creating and visualizing the image image 21 in the simulated environment displayed on the display device 201 and effectively optimizes the display on the image device 2〇〇. Image image 202 can be very useful. In one aspect, any changes in the position, perspective, orientation, etc. of the image image 210 selected and controlled by the developer based on the window 22 can also be considered as being displayable in the image during the test procedure. The image image 202 on the device 200 changes. The application developer may attempt to identify performance issues and/or bottlenecks during execution of the image instructions 242 via interaction with the image window 220 within the image user interface, the image instructions 242 being executed by the image device 200 Visually represented by one of the image instructions that create image image 202. A representation of the image image 2〇2 (i.e., the 'image image 210) is displayed in the display area 211 based on the image command 242 and the status/performance data received by the image device 2. The application developer can interactively and dynamically test by examining the image command 242, the image image 210 and the status/performance information, and based on the effects of the user-initiated modification of one or more of the users. Error or debug processing to optimize execution of instructions on image device 200 and to eliminate or mitigate any performance issues (eg, bottlenecks) during execution of the instructions. Figure 11 is a diagram illustrating an example of statistical and/or texture information 250 that may be displayed by display device 2〇1 of Figure 1 in accordance with an aspect. For example, one or more of the statistical/texture information 25〇 may be displayed after the user selects the texture button 236. One or more portions of the statistics/texture information 250 may also be displayed after the user selects the statistics button 23〇. 142233.doc -45- 201015485 The statistical/texture information 250 shown in Figure 11 includes several instance statistics and/or texture fields, each of which may have one or more values. For example, the information 250 includes values for a number of apparent calls (associated with the image instructions 242) that may be needed to visualize and display the image image 210. Because the information presented in window 22 is based on the simulation of image device 200, the number of apparent calls can effectively indicate the number of calls that may be needed to visualize and display image image 202 on image device 200. A presentation call can be associated with one or more of image instructions 242, such as ' one or more higher order instructions and/or lower order instructions. The statistics/texture information 25 0 also includes the average texture change for each appearance call and the value of the average state change for each appearance of the call. This value provides the developer with information about the number of textures and/or state changes that can affect the overall performance. For a particular frame of image data in image image 210, statistical/texture information 250 may include values for the number of vertices and the number of triangles of the primitives that appear to create the image data. In addition, the value of the average number of triangles per apparent call and the average number of vertices per apparent call is also displayed. This value can be useful for application developers to estimate the efficiency of manifesting calls made by image instructions. The statistics/texture information 250 also includes texture size information. As shown at the bottom of Figure u, the information 250 can provide one or more texture size values (e.g., 64x64, 64x128 '128x128, 256x256) indicating the number of each texture size for the image image 210. In addition, the statistical/texture information 250 also includes various values related to performance and efficiency. For example, the information 25 includes the value of the percentage of the best image texture for the image image 21 142 233233.doc -46 - 201015485. In some cases, a computing device (e.g., application computing device 2) including display device 201 can calculate this value based on image commands and/or status/performance information received from image device 200. Application developers may often want this percentage value to be as high as possible. If the percentage value is lower than the desired value, the developer can manipulate or change the image command, status information, performance information, or other parameters within window 220 to provide one or more requested modifications to image device 2 . After receiving the updated instruction/information from the image device 2, an updated value/developer may be displayed for the percentage of the optimized texture, such as during a debug or trial operation session This procedure continues to optimize the textures provided in the simulated environment in window 22. Developers can do this in an efficient and efficient manner' without having to recompile any code/instructions. The statistics/texture information 250 further includes values for the percentage of warp-indexed and striped vertices. These values may indicate the percentage of optimized triangles used for the visualization and display of the image image 21〇. Application developers may often want the indexed and striped vertices to have as high a percentage value as possible. If the percentage values are below the desired value, the developer can manipulate or change image commands, status information, performance information, or other parameters within window 22 to provide one or more requested modifications to the image device 2〇 〇^ After receiving the updated command/information from the image device 2, an updated value for these percentage values may be displayed. The developer can continue this procedure to obtain an optimized number of triangles without having to recompile any code/instructions or time-consuming or lengthy debugging operations on image device 2(10). Figure 12 is a diagram illustrating a super-screen 26 显示 displayed on the 142233.doc -47 - 201015485 image device 201 shown in Figure 1A, in accordance with an aspect of the present invention. The application developer may view the overlay screen 260 and make one or more selections of information displayed in the overlay screen 260 to override one or more of the functions provided by the image device 2 to thereby change the map. Like the flow of instructions on device 2. In some cases, the overlay screen 260 may be displayed after the user selects the over button 238. The overlay screen 260 can be displayed as part of the screen 220 or can be displayed as a separate window (eg, a pop-up window). The overlay screen 260 displays a visual representation of one of the image processing pipelines that can be implemented by the image device 200. In one aspect, image device 200 can include image device 2 as shown in FIG. 1, in which case 'image device 200 can include a control processor, a vertex processor, an image processor, and a display processor. . Accordingly, the visual representation of the image processing pipeline shown in the overlay screen 26 can include a control processor graphic 262, a vertex processor graphic 264, an image processor graphic 266, and a display processor graphic 268. Each of the illustrations 262, 264, 266, and 268 is associated with a corresponding processor within image device 200. Such illustrations may include graphical representations of images, textures, or other forms. An application developer can select one or more of the icons 262, 264, 266, or 268, such as by clicking on one of the overlays 260. Upon selection of an icon (such as image processor representation 266), overlay 260 displays a corresponding menu 271 (such as a drop down menu) associated with diagram 266. In the example of FIG. 12, menu 271 includes four selectable options: option 270 (for deactivating alpha/transparency operations), option 272 (for deactivating blending operations), option 274 (for deactivating Z) Reject (Z-reject) operation, and option 142233.doc -48- 201015485 276 (for deactivating deep test operations). Each of the operations associated with options 272, (7), and w corresponds to operations that may be performed by an image processor within the image device (10). Figure 12 shows the user selections made by option 270 for the stop (transparency) operation. After the user selects option 270, a request can be made. It is sent to the image device 2 to disable. operating. If the image device 2 implements the image driver 展8Α shown in Fig. 5, the image device 2 can use the overlay module 120 to process the requested modification or override the requested modification. The overlay module (10) can then send an override request to the corresponding image processor (e.g., image processor 12 not shown) to disable the alpha operation. Similarly, the application designer can select option 272 to disable the blending operation on the image processor. The developer can select option 274 to disable the refusal operation. The developer can select option 276 to disable the operations associated with the image processing test. In the example of FIG. 12, the developer may override the image processor associated with the image device 2 by, for example, deactivating one or more operations that may have been previously enabled. Features. In some cases, the developer may use another menu similar to menu 271 to re-enable any operations previously disabled, such as alpha, blending, reject, and/or depth testing operations. Thus, the developer can continuously and iteratively override or change various functions and operations of the image processor, and then determine how the changes affect performance. For example, the developer can disable the alpha operation by selecting the menu option 27, and then review the updated status/performance information provided by the image device 2 after the operations are deactivated to determine Any previous performance issues (such as 142233.doc -49- 201015485, such as the equivalent of the image processor 20's image processor) have been resolved or mitigated. The developer may also check statistical information (such as the type of instance information shown in Figure 11) to assess performance changes or possible improvements based on the deactivation of the alpha operation. Alternatively, an updated version of the image image 21 and an updated command 242 may be displayed in window 220 (Fig. 10) after the alpha operation is disabled. Of course, in other cases, application developers can disable or enable other features associated with the image processor. In addition, the developer may disable or activate the functions associated with other processors (slots, control processors, apex processors, and/or display processors) in the image device 200. For example, a mountain developer may choose to control the processor icon 262 for viewing - a menu similar to the menu ^ 'this menu may include for deactivating or enabling the control processor (eg, 'control processing shown in FIG. 1') One or more selectable options associated with - or multiple functions. Any changes to these functions may be provided for transmission to the image device for processing, for example, by the overlay module 12 to process one or more of the requested modifications. The image device 2 can then be provided with newer instructions and/or other information (such as status and/or performance information) to update the information displayed in the window 220 to enable the developer to determine and control the processing. Any performance issues or bottlenecks related to the device have been resolved or otherwise mitigated. Figure 13 is a diagram illustrating an example of over-the-top information displayed on the image device 201 as shown in the Figure of the present invention. In this aspect, the over-the-top information is displayed in the image window 280. The image image 21 is displayed in the display area 211. As previously described, the user may request one or more I42233.doc • 50· 201015485 overrides to modify the display of image image 210 within display area 211. In one case, the user may select the Override button 238 (Fig. 1A) to make one or more overrides. Figure 13 shows an example of over-the-top information that can be displayed in the chimney 280 after the user selects the over button (10). Figure 13 shows three examples of over-over: Over-A, Over-B, Over-C. Each of these i instance overrides may correspond to any overriding function, such as a stop function, an enable function, or the like (including those shown in Figure 12). In addition, each of these three instance overrides may be associated with one or more of the functionality of the processor. Thus, the user may select one or more of the super-overs to change the behavior of one or more processors, such as to enable or disable specific operations of such processors. Each over-over (overlap A, over B, and overc) may have corresponding parameters or options that may be selected or otherwise configured by the user. For example, overlay A has an over-parameter parameter 282A, super-clause B has an over-parameter parameter 282B, and super-cladding C has an over-parameter parameter 282C. The user can determine each of the super-overs by modifying the corresponding parameters. For example, if Overlay A corresponds to an over-over that is used to disable blending, the user can select or change the Over-Criteria parameter 282A to modify or customize the over-over functionality for de-blending blending. Override parameter 282-8 may also include identification of one or more processors. For example, if the user wishes to disable blending on an image processor, the overlay parameter 282 can include the recognition of the image processor. Any overrides requested by the user may be included in the requested modification 34 sent back to the image device. The image device can then process the requested modifications 34, as previously described, and provide updated instructions/information 35 142233.doc -51- 201015485 new instructions/information 35 can be used to update the image image 210 Display in the display area 2ιι. Figure 14 is a diagram illustrating an example of texture information that can be displayed on the image device 201 shown in Figure 1 in accordance with an aspect of the present invention. In this aspect, texture information is displayed in image window 29A. The image image 21 is displayed in the display area 211. The user can modify one or more textures of the image image 21'. The one or more textures can then be displayed in the display area 211. For example, in FIG. 14, the user can select any of textures 294, 296, and/or 298. In Fig. 14, assume that the user selects texture 294, as shown, any number of different textures can be displayed and selected within chimney 290, and the texture shown in Fig. 14 is shown for illustrative purposes only. After the user selects the texture 294, one of the selected textures 294 is enlarged to indicate that it is not in the texture region 300. The user can then apply texture 294 to one or more portions of image image 210. In one case, the user can drag the texture 294 from the texture area 3 to the display area 2 and apply the texture to the desired portion of the image image 210. In the example of Figure 14, the user has applied texture 294 to the portion of the image image 21 that is indicated. In this manner, the user can select any of one or more textures (eg, textures 294, 296, 298) and apply the textures to image image 21 〇, and also view images within display area 211 The corresponding change of image 210. Any texture selected or applied by the user may be included in the requested modification 34 sent back to the image device. The image device can then process the requested modifications 34, as previously described, and provide updated instructions/information 35. The updated command/information 35 can be used to update the display of the image image 210 in the display 142233.doc -52 - 201015485 area 211. Fig. 15 is a view showing an example of an example of performance information which can be displayed on the image device 201 shown in the figure according to the present invention. In this aspect, performance information is displayed in the image window. In the example of Fig. 15, the performance information is represented by the effect curve 304. Curve 304 shows the percentage of the processor usage along the horizontal minus time and along the vertical axis (/〇). The percentage of processor usage may correspond to the percentage of one or more processors within the image processing system, such as control processors, display processors, vertex processors, and/or image processors. By continuously monitoring the performance curve 3〇4, the user may be able to evaluate the validity of any changes made to the image device or sent back to the image device within the requested modification 34. For example, the user can update image instructions, update status/performance information, modify the perspective of the image image, initiate one or more overrides, change textures, or make other modifications to attempt to resolve or otherwise mitigate Any observed Lu performance issues or bottlenecks during the execution of the image application. Specific changes can be improved by reducing the percentage usage (or processor utilization), while other changes may increase processor utilization. To help identify the best or desirable solutions or changes to the image application (such as 'there are solutions or changes that result in lower or reduced processor utilization') the user can continuously monitor the performance curve. 4 to ascertain the effects of any changes implemented (such as those included in the requested modification 34) over time. The techniques described in this disclosure can be implemented in general purpose microprocessors, digital signal processors (DSPs), special application integrated circuits (ASICs), field programmable 142233.doc-53-201015485 gate arrays (FPGAs) or others. Within the equivalent logic device. Accordingly, the term "processor" or "controller" as used herein may mean any one or more of the above structures or any other structure suitable for implementing the techniques described herein. The various components described herein can be implemented by any suitable combination of hardware, software, firmware, or any combination thereof. In the figures, various components are depicted as separate units or modules. However, all or a few of the various components described in the Figures can be integrated into a composite unit or module in a common hardware and/or soft body. Thus, a representation of a feature of a component, unit, or module is intended to highlight particular functional features for ease of description, and does not necessarily require that the features be implemented by separate hardware or software components. In some cases, various units may be implemented as a programmable process executed by one or more processors. Any of the features described herein as a module, device, or component, including image device 100 and/or components thereof, can be implemented together in an integrated logic device or separately as discrete but interoperable logic devices . In various aspects, the components may be at least partially & one or more integrated circuit devices that may be collectively referred to as integrated circuit devices such as integrated circuit chips or chipsets. The circuit can be provided in a single integrated circuit chip device or a plurality of interoperable integrated circuit chip device commands, and can be used in a variety of image display devices, audio or other multimedia applications and devices. Among them. In some aspects, such components may be formed as part of a mobile device, such as a wireless communication device handset. 4, the software to implement 'can be at least partially stored by computer readable data 142233.doc -54· 201015485 These technologies 'the computer readable data storage medium contains a processing ^ execution when performing the above described Method +: The program of the person's instructions to drink. The computer readable medium can form part of a computer program that can include packaging materials. The computer-readable female body can include random access such as synchronous dynamic random access memory (SDRAM), its own memory (RAM), read-only memory (R(3M), non-volatile random access memory. (NVRAM), t erasable programmable read-only memory

(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(EEPR〇M), embedded dynamic random access memory (eDRAM), static random access s memory (SRAM), flash memory, magnetic or optical data storage media. Additionally or alternatively, the techniques can be implemented, at least in part, by a computer readable communication medium that carries or conveys the code in the form of an instruction or data structure and is accessible by one or more processors. , read and / or execute. Any connection can be properly termed a computer readable medium. For example, if you use a coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or wireless technology such as infrared, radio, and microwave to transmit software from a website, a feeder, or other remote source, Axial power, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared 'radio and microwave are included in the definition of the media. Combinations of the above should also be included in the context of computer readable media. Any software utilized may be executed by one or more processors, such as one or more DSPs, general purpose microprocessors, ASICs, FPGAs, or other equivalent integrated or discrete logic circuits. Various aspects have been described in the present invention. These and other aspects are within the scope of the following claims. 142233.doc -55- 201015485 [Simplified Schematic] FIG. 1 is a block diagram showing an image device according to an aspect of the present invention, which can provide image commands and status and/or performance information. Figure 2 is a block diagram illustrating an image device according to another aspect of the present invention, the image device providing image commands and status and/or performance information to an application for computing FIG. 3 is a block diagram showing specific details of an image processing system, an image driver, and an application computing device shown in the drawings in accordance with an aspect of the present invention; FIG. 4 is a diagram illustrating the present invention. A flowchart of additional details of operations performed by the control processor, image processor, vertex processor, and display processor shown in FIG. 1; FIG. 5 is a diagram illustrating an aspect of the present invention 3 is a block diagram of additional details of an image driver shown in FIG. 3; FIG. 6 is a flow diagram of a method for performing image stabilization by the image shown in FIG. 1 or FIG. 2 according to an aspect of the present invention; 7 is the root A flowchart of a first method that can be performed by an application computing device as shown in FIG. 2 or FIG. 2 in accordance with the present invention; FIG. 8 is an illustration of FIG. 1 or FIG. A flow chart showing a second method performed by the application device of the computing device; ^ to illustrate an image device coupled to a display device for displaying information in the image® according to an aspect of the present invention - a conceptual diagram of an example; a conceptual diagram of another example of an image device coupled to a display device that displays information in an image window 142233.doc - 56 - 201015485 in accordance with one aspect of the present invention; 11 is a diagram illustrating an example of statistical and/or texture information that may be displayed by the display device of FIG. 1 in accordance with an aspect of the present invention; FIG. 12 is a diagram illustrating an aspect of the present invention as shown in the drawings. A screen image of an example of an over-screen displayed on an image device; FIG. 13 is an illustration of an example of over-the-top information displayed on the image device shown in FIG. 1A in accordance with an aspect of the present invention; Figure 14 is a view illustrating an aspect of the present invention A screen diagram of an example of texture information displayed on the image device shown in FIG. 1; and FIG. 15 is a diagram illustrating performance displayed on an image device as shown in the figure according to an aspect of the present invention. A screenshot of an instance of the information. [Main component symbol description] 2 Image device 4 Image processing system 6 Display device 8 Storage medium 10 Programmable processor / control processor 12 Programmable processor / image processor 14 Programmable processor / vertex Processor 15 Buffer 16 Programmable Processor/Display Processor 17 Image Processing System 18 Image Driver 18A Image Driver 142233.doc 201015485 20 Application Computing Device 21 Application Command 22 Processor 24 Display Device 26 Storage Media 28 Analog Application/Analog Program 29 Analog Application/Analog Program 30 Image Command/Image Application 31 Instruction Map Information 32 Status/Efficient Information 33 Instruction Map Information 34 Requested Modification 35 Updated Instruction/Information 52 Image device 54 image processing system 56 display device 58 storage medium 60 control processor 62 image processor 65 buffer 66 display processor 68 image driver 71 application program command 80 image command / image application 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 紋理 紋理 紋理區 圖像窗 效能曲線82 Status and/or Performance Information 84 Requested Modifications 85 Updated Instructions and/or Information 110 Transport Interface/Transport Interface Module 112 Processor Usage Module 114 Hardware Meter Module 116 Status/Efficiency Data Module 118 API Trace module 120 Overlay module 200 Image device 201 Display device 202 3D image image 203 Image window 204 Keypad 206 Connector 208 Image command area 210 3D image image 211 Display area 212A-212N Selector / Button 214 Status/Efficient Information Area 216A-216N Selector 218A-218N Selector 220 Image Window/Screen 230 Selection Button 142233.doc -59- 201015485 232 Navigation Button 234A-234N Measurement Button 236 Texture Button 238 Overlay Button 240 Measure button 242 Image command 244 Scroll bar 250 Statistics and/or texture information 260 Overlay screen 262 Control processor icon 264 Vertex processor icon 266 Image processor icon 268 Display processor icon 270 Option 271 Menu 272 Option 274 Option 276 Option 280 Image Window 282A Overlap Parameter 282B Override Parameter 282C Override Parameter 290 Image Window 294 Texture 142233.doc -60- 201015485 296 298 300 302 304 Texture Texture Area Image Window Performance Curve

142233.doc -61 -142233.doc -61 -

Claims (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之裝置,其中該一或多個所請求修改包含以 下請求中之至少一者··一用於停用該等圖像指令中之— 或多者於該圖像裝置上之執行的請求用於在該外部 裝置上修改該等圖像指令中之一或多者的請求及一用 於在該圖像裝置上修改該狀態資訊之請求。201015485 VII. Patent Application Range: 1. A method comprising: receiving an image command from an external image device, wherein the image command is executed by the external image device to display an image image; from the external image The device receives status information, wherein the status information is associated with execution of the image instructions on the external image device; and displaying the image representation of the image image based on the image commands and the status information. 2. The method of claim 1, further comprising: repeating, for the plurality of frames of the image image, the receiving of the received image state information, and displaying the representation of the image image 7JT 0 3. The method of claim 1, wherein the status information indicates one or more states of the external image device when the external image device visualizes the image image. _ 4_ The method of claim 1, wherein the status information includes status information from the external image device executing one or more processors of the image instructions. 5. The method of claim 1, wherein the status information includes material associated with execution of the image instructions on the external image device. 6. The method of claim 1, further comprising: receiving a user input specifying a requested modification of the execution of the image instructions by the external image device; and requesting the request The modification is sent to the external image device for processing. The method of claim 6, further comprising: receiving a plurality of updated image instructions from the external image device, wherein the updated image commands and pairs are external to the image device Corresponding to the requested modification of the execution of the image instructions; receiving updated status information from the external image device, wherein the updated status information is paired with the external image Corresponding to the requested modification of the execution of the instruction; and displaying an updated version of the image image based on the updated image command and the updated status information. 8. The method of claim 6, wherein the requested modification comprises at least one of the following: one for deactivating execution of one or more of the image instructions on the external image device A request, a request to modify one or more of the image instructions on the external imaging device, and a request to modify the status information on the external image device. 9. The method of claim 1, further comprising: displaying a visual representation of one of the image instructions; and displaying a visual representation of the status information. 10. The method of claim 9, wherein displaying the visual representation of the image instructions comprises: mapping the image instructions to associated image application programming interface (API) instructions; and displaying the images API directive. U. The method of claim 1, wherein displaying the representation of the image image comprises displaying the image image in a simulated environment simulating the external image device 142233.doc 201015485 12. 13. • 14. 15. 16 17. 18. The representation. The method of claim 1, wherein the image instructions comprise binary instructions generated from an application program interface (API) instruction. The method of claim 1, further comprising: displaying a navigation controller; receiving user input to interact with the navigation controller; and displaying a modified perspective view of the image image based on the user input. The method of claim 1, further comprising: receiving a user input to modify the image image; and displaying, according to the user input, a modified version of the image image, such as the method of claim 1, further comprising: Receiving performance information from the external image device, wherein the performance information is associated with execution of the image instructions on the external image device; and analyzing the performance information to identify execution of the images at the external image device One or more performance issues on the external image device during the command. The method of claim 15 wherein the performance information comprises an efficiency metric collected from one or more processors executing the image instructions on the external image device. The method of claim 16, wherein analyzing the performance information comprises identifying a reduced performance in one or more of the processors of the external image device during execution of the image instructions. The method of claim 15, further comprising: 142233.doc 201015485 receiving a user input 'the user input specifying a requested modification of the execution of the (4) instruction by the external image device, Requesting modification to be sent to the external image device for processing; receiving, from the external image device, a plurality of updated image commands, wherein the updated image commands and pairs are represented by the external image device Corresponding to the requested modification of the execution of the instruction; receiving updated performance information from the external image device, wherein the updated performance information and the execution of the image instructions by the external image device The requested modification of the association; and analyzing the updated performance information to determine whether one or more of the equivalent energy issues have been resolved. 19. The method of claim 18, wherein the requested modification comprises at least one of: a request to disable execution of one or more of the image instructions on the external image device And __ for modifying the request of one or more of the image instructions on the external image device, and a request for modifying the status information on the external image device. 20. The method of claim 18, further comprising: displaying an updated representation of the image image based on the updated image instructions and the updated performance information. 21. A computer readable medium, comprising instructions for causing one or more processors to: receive image instructions from an external image device, wherein the image instructions are executed by the external image device Displaying an image image; receiving status information from the external image device, wherein the status information is associated with execution of the image instructions on the external image device; and according to the image commands And the status information displays the _ representation of the image image. 22. The computer readable medium of claim 21, further comprising instructions for causing the one or more processors to: repeat the receiving of the image instructions for the plurality of frames of the image image And the receiving of the status information and the representation of the image of the image image. The computer readable medium of claim 21, wherein the status information indicates that the external image device displays the image image One or more states of the external image device. 24. The computer readable medium of claim 21, wherein the status information includes status information from at least one processor of the external image device that executes the image instructions. 25. The computer readable medium of claim 21, wherein the status information comprises material associated with execution of the image instructions on the external image device. The computer readable medium of claim 21, further comprising instructions for causing the one or more processors to: receive a user input specifying a pair of external image devices The requested modification of the execution of the image instructions; and transmitting the requested modification to the external image device for processing. The computer readable medium of claim 26, further comprising instructions for causing the one or more processors to: receive a plurality of updated image instructions from the external image device, 142233. The updated image instructions in doc 201015485 are associated with the requested modification of the execution of the image instructions by the external image device; receiving updated status information from the external image device, wherein The updated status information is associated with the requested modification of the execution of the image instructions by the external image device; and displaying the map based on the updated image commands and the updated status information An updated version like one of the images. The computer readable medium of claim 26, wherein the requested modification comprises at least one of the following requests: one for deactivating one or more of the image instructions a request for execution on the external image device, a request to modify one or more of the image instructions on the external image device, and a method for modifying the external image device Request for status information. The computer readable medium of claim 2, further comprising instructions for causing the one or more processors to: • display a visual representation of the image instructions; and displaying the status information A visual representation. The computer readable medium of claim 29, wherein the instructions for displaying the visual representation of the image instructions by the one or more processors are included for causing the one or more processors to: Instructions: map the image instructions to associated imaginary I image application programming interface (API) instructions; and display the image API instructions. The computer readable medium of claim 21, wherein the instructions in the bean bottle are such that the one or more 142233.doc 201015485 processors display the representation of the image image for causing the one or more The processor displays an instruction for the representation of the image image in an analog environment simulating the external image device. 32. The computer readable medium of claim 21, wherein the image instructions comprise binary instructions generated from an application programming interface (API) instruction. 33. The computer readable medium of claim 21, further comprising instructions for causing the one or more processors to: display a navigation controller; receive user input to interact with the navigation controller And displaying a modified perspective view of the image image based on the user input. 34. The computer readable medium container of claim 21, further comprising instructions for causing the one or more processors to: receive user input to modify the image image; and display based on the user input A modified version of the image of the invention. The computer readable medium of claim 21, further comprising instructions for causing the one or more processors to: receive performance information from the external image device And wherein the performance information is associated with execution of the image instructions on the external image device; and analyzing the performance information to identify the external image device during execution of the image command by the external image device One or more performance issues. 36. The computer readable medium of claim 35, wherein the performance information comprises performance collected by the at least one processor of the external image device executing the image instructions 142233.doc 201015485 on the external image device Measure. 37. The computer readable medium of claim 36, wherein the instructions for causing the one or more processors to analyze the performance information include causing the one or more processors to recognize the image instructions av A reduced performance command in at least one processor of the external image device during execution. 38. The computer readable medium of claim 35, wherein the instructions for causing the one or more processors to: receive a user input specifying a pair of external image devices Performing a modification of the execution of the image command; sending the requested modification to the external image device for processing; receiving a plurality of updated image commands from the external image device, wherein the updated The image instructions are associated with the requested modification of the execution of the image instructions by the external image device; receiving updated performance information from the external image device, the updated performance information and Correlating the requested modification of the execution of the image instructions by the external image device; and analyzing the updated performance information to determine if one or more of the equivalent energy issues have been resolved. 9. The computer readable medium of claim 38, wherein the requested modification comprises ^. At least one of monthly requests: a request to disable execution of one or the other of the image instructions on the external image device, for modifying the image on the external image device And one or more of the image instructions, and a method for modifying the status information on the external image device 142233.doc 201015485 40. The computer readable medium of claim 38, further comprising The instructions for causing the one or more processors to: display an updated representation of the image image based on the updated image instructions and the updated performance information. 41. A device, comprising: a display device; and one or more processors configured to: receive an image command from an external image device, wherein the image is ordered by the external image Executing to display an image image; receiving status information from the external image device, wherein the status information is associated with execution of the image instructions on the external image device; and according to the image instructions The status information displays one of the image images on the display device. 42. The device of claim 41, wherein the one or more processors are further configured to repeat the receiving of the image instructions, the receipt of the status information for the plurality of frames of the image image, and the The display of the representation of the image image. 43. The device of claim 41, wherein the one or more processors are further configured to display a visual representation of the one of the image instructions on the display device and display the status information on the display device One visual representation. 44. The device of claim 41, wherein the one or more processors are further configured to display a navigation controller on the display device, receive user input to interact with the navigation controller, and based on the The user input displays a modified perspective view of the image image on the display device 142233.doc 201015485. 45. The device of claim 41, wherein the one or more processors are further configured to receive performance information from the external image device, wherein the performance information and the image instructions are on the external image device The correlation is performed and the performance information is analyzed to identify one or more performance issues on the external image device during execution of the image instructions by the external image device. 46. The device of claim 45, wherein the performance information comprises an energy efficiencies collected by the at least one processor of the external image device executing the image instructions on the external image device. 47. The apparatus of claim 46, wherein the one or more of the processors in the processors are identified by the identification. The one or more processors are configured to analyze the effect or the plurality of processors in the external image device during execution to further analyze the device 48. The device of claim 45, wherein Receiving a user input specifying a pair of requested modifications of the execution of the image instructions by the external image device; transmitting the requested modification to the external image device for Processing; receiving, from the external image device, a plurality of updated image instructions ', wherein the updated image instructions and the request to perform the image manipulation by the external image device Modifying the associated; receiving updated performance information from the external image device, wherein the updated performance information is associated with the requested modification performed by the external image device; and a 7 142233 .doc 201015485 Analyze the updated performance information to determine if "or more of the equivalent energy issues have been resolved. 49. The device of claim 48, wherein the requested modification includes the following request At least one of: a request to disable execution of one or more of the image instructions on the external image device, for modifying the image instructions on the external image device A request by one or more and a request for modifying the status information on the external image device. 50. The device of claim 48, wherein the one or more processors are further configured to be based on the The updated image command and the updated performance information display an updated representation of the image image on the display device. 51. A device comprising: an image command for receiving an image from an external image device a member, wherein the image instructions are executed by the external image device to display an image image; means for receiving status information from the external image device, wherein the status information and the image instructions are external to the image Performing an association on the image device; and means for displaying a representation of the image image based on the image command and the status information. 52. A method comprising: directing an image from an image Loading Transmitting to a computing device, wherein the image instructions are executed by the image device to display an image image; transmitting status information from the image device to the computing device, wherein the status information is associated with the image device The execution of the image instructions is associated; 142233.doc 201015485 j the leaf computing device receives one or more requested modifications for modifying the execution of the image instructions by the image device; and based on the - or The plurality of requested modifications send the updated status information from the image device to the computing device. 53. The method of claim 52, further comprising displaying the image image based on the image command and the status information. The method of claim 52, further comprising: transmitting updated image instructions from the image device to the computing device based on the one or more requested modifications. 55. The method of claim 52, further comprising: repeating the transmission of the image command for the plurality of frames of the image image, transmitting 'receiving' the status information, or requesting the plurality of requested modifications, and transmitting the updated Status information. 56. The method of claim 52, wherein the status information comprises status information from a processor or a plurality of processors of the image processor of the image device. 57. The method of claim 52, wherein the one or more of the requested modifications comprise at least one of the following requests: m. One for deactivating one or more of the image instructions in the map The request to execute is used to modify the request of one or more of the image instructions on the external device, and to use the request to modify the status information on the image device. 58. The method of claim 52, wherein the image instructions comprise binary instructions generated from an application programming interface (API) instruction. 59. The method of claim 52, wherein the status information is included in the image loading 142233.doc -12. 201015485 placing the image of the image _ -W' ^ Ιτα 7 7 or more The energy efficiency collected by the processor. 60. An apparatus comprising: a storage medium configured to store instructions; and one or more processors configured to: send and/or, for example, 7 from the apparatus to an external computing device, wherein Waiting for the device to display an image image; transmitting status information from the device to the external computing device, wherein the status information is associated with execution of the instructions by the device; from the external metering device Receiving one or more requested modifications for modifying the execution of the instructions by the device; and transmitting the updated status information from the device to the external computing device based on the one or more requested modifications. 61. The device of claim 60, further comprising a display device, wherein the one or more processors are further configured to display the image image on the display device based on the image commands and the status information. 62. The apparatus of claim 6, wherein the one or more processors are further configured to transmit updated image instructions from the image device to the computing device based on the one or more requested modifications. 63. The device of claim 60, wherein the one or more processors are further configured to repeat the transmission of the image command for the plurality of frames of the image image, the transmission of the status information, and the receiving of the one or more Request modification, and send updated status information. 64. The device of claim 60, wherein the status information includes status information or data from the one or more processors executing the image instructions from the image package 142233.doc -13. 201015485. The device of claim 60, wherein the one or more requested modifications comprise at least one of the following requests: one for deactivating the image instructions - or more on the image device The executed request is for modifying a request for one or more of the image instructions on the external device and a request for modifying the status information on the image device. 66.,請求項6G之裝置,其中該等圖像指令包含自應用⑹ 口又彳>»丨面(API)指令所產生之二進位指令。 67·如請求項6〇之裝置,其甲該狀態資訊包含自於該圖像, 仃該等圖像指令之該—或多個處理器所搜集的贫 能量度。 68.如請求項6〇之裝置, 包含—顯示處理器、 一控制處理器。 其中該一或多個處理器中之每一者 —圖像處理器、一頂點處理器,或 其中該裝置包含一無線通信裝置手66. The apparatus of claim 6G, wherein the image instructions comprise binary instructions generated from an application (6) port and a > 67. The apparatus of claim 6 wherein the status information includes the image of the image, and the poor energy collected by the processor or the plurality of processors. 68. The device of claim 6, comprising a display processor and a control processor. Wherein each of the one or more processors - an image processor, a vertex processor, or wherein the device comprises a wireless communication device 其中該裝置包含一或多個積體電路 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·Wherein the device comprises one or more integrated circuits 69_, such as the apparatus of the present invention, 70. The device of claim 6 is a device. / 1. A readable medium comprising poems - or instructions for causing a plurality of processors to enter from a light to be sent from an image device to a computing device, wherein the image is executed by the image device Displaying a 1 image, 4 information sent from the image device to the computing device, wherein the 142233.doc • 14· 201015485 status information is associated with execution of the image instructions by the image device; Receiving one or more requested modifications for modifying the execution of the image instructions by the image device; and transmitting updated status information from the image device to the calculation based on the one or more requested modifications Device. 72. The computer readable medium of claim 71, further comprising instructions for causing the one or more processors to: display the image image based on the image instructions and the status information. 73. The computer readable medium of claim 71, further comprising instructions for causing the one or more processors to: update an updated image instruction from the image based on the one or more requested modifications The device is sent to the computing device. 74. The computer readable medium of claim 71, further comprising instructions for causing the one or more processors to: repeat the transmission, state of the image command for the plurality of frames of the image image The transmission of information, receiving one or more requested modifications, and sending updated status information. 75. The computer readable medium of claim 71, wherein the status information comprises status information or material from the image device executing one or more processors of the image instructions. 76. The computer readable medium of claim 71, wherein the one or more requested tampering comprises at least one of the following: one for deactivating one or more of the image instructions in the image a request for execution on the device, a request for 142233.doc -15· 201015485 to modify one or more of the image instructions on the external device' and a for modifying the state on the image device Request for information. 77. The computer readable medium of claim 71, wherein the image instructions comprise binary instructions generated from an application programming interface (API) instruction. 78. The computer readable medium of claim 71, wherein the status information comprises an energy efficiencies collected from one or more processors executing the image instructions on the image device. 79. An apparatus, comprising: means for transmitting image instructions from an image device to a computing device, wherein the image commands are executed by the image device to display an image image; Status information sent from the image device to a component of the computing device, wherein the status information is associated with execution of the image instructions by the image device; for receiving from the computing device for modifying the image And means for causing the one or more requested modifications of the execution of the image instructions; and means for transmitting updated status information from the image device to the computing device based on the one or more requested modifications. 80. The device of claim 79, further comprising: means for displaying the image image based on the image instructions and the status information. 81. The device of claim 79, further comprising means for transmitting updated image instructions from the image device to the computing device based on the one or more requested modifications. 142233.doc 201015485 82. The device of claim 79, further comprising: a plurality of frames for the image image _, 图像 complex image command 铐 I send, status information transmission, reception, or one or more 7) The update is performed on the eve of the "send multiple requests for modification and transmission, and & update status information. 83", as shown in the device of claim 79, wherein the application is from the image device Executing such image references - state information of multiple processors or devices of 84 - such as - where the - or more of the requested modifications include at least one of the following monthly lengths: __ And a request for one or more of the image instructions to be executed on the image device, a request for repairing (4) or the like in the external device, and a request for The request for modifying the status information on the image device. 85. The device of claim 79, wherein the image instructions comprise binary instructions generated by an application"an interface (API) instruction. The device of claim 79, wherein the status information includes One measure of the effectiveness of β execution instructions or more processors, such images collected on the image means. 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 (en)
JP (1) JP5450624B2 (en)
KR (2) KR101431311B1 (en)
CN (1) CN102105868B (en)
CA (1) CA2730291A1 (en)
TW (1) TW201015485A (en)
WO (1) WO2010011979A2 (en)

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 (en) * 2011-10-21 2016-03-02 联想(北京)有限公司 A kind of method for displaying image, video card and electronic equipment
CN103713891B (en) * 2012-10-09 2017-11-24 阿里巴巴集团控股有限公司 It is a kind of to carry out the method and apparatus that figure renders on the mobile apparatus
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 (en) * 2013-06-24 2018-10-26 福州瑞芯微电子股份有限公司 Image display device, image display system and method for displaying image
WO2016095091A1 (en) * 2014-12-15 2016-06-23 Intel Corporation Instrumentation of graphics instructions
KR102644276B1 (en) 2016-10-10 2024-03-06 삼성전자주식회사 Apparatus and method for processing graphic

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020354A (en) * 1998-07-07 2000-01-21 Hitachi Ltd Editor for number of execution steps
US6952215B1 (en) * 1999-03-31 2005-10-04 International Business Machines Corporation Method and system for graphics rendering using captured graphics hardware instructions
JP2001191274A (en) * 1999-12-30 2001-07-17 Sony Corp Data holding device, robot device, modification device and modification method
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
CA2730291A1 (en) 2010-01-28
EP2321730B1 (en) 2018-04-11
EP2321730A2 (en) 2011-05-18
CN102105868B (en) 2015-03-04
WO2010011979A2 (en) 2010-01-28
CN102105868A (en) 2011-06-22
KR20110050482A (en) 2011-05-13
JP2011529235A (en) 2011-12-01
KR101431311B1 (en) 2014-09-19
JP5450624B2 (en) 2014-03-26
KR20130043241A (en) 2013-04-29
WO2010011979A3 (en) 2010-04-15

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 (en) Displaying a visual representation of performance metrics for rendered graphics elements
US9792718B2 (en) Mapping graphics instructions to associated graphics data during performance analysis
TW201015485A (en) Performance analysis during visual creation of graphics images
KR101286938B1 (en) Partitioning-based performance analysis for graphics imaging
Krone et al. Remote rendering and user interaction on mobile devices for scientific visualization
CN112967369A (en) Light ray display method and device
CN117523062B (en) Method, device, equipment and storage medium for previewing illumination effect
KR100639379B1 (en) Benchmarking apparatus and the method thereof for graphic processor unit of the mobile communication terminal
CN116894906A (en) Graphics rendering method and processor hardware architecture