JP2011529236A - Partition-based performance analysis for graphics imaging - Google Patents
Partition-based performance analysis for graphics imaging Download PDFInfo
- Publication number
- JP2011529236A JP2011529236A JP2011520245A JP2011520245A JP2011529236A JP 2011529236 A JP2011529236 A JP 2011529236A JP 2011520245 A JP2011520245 A JP 2011520245A JP 2011520245 A JP2011520245 A JP 2011520245A JP 2011529236 A JP2011529236 A JP 2011529236A
- Authority
- JP
- Japan
- Prior art keywords
- graphics
- partitions
- displaying
- computer
- display
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000005192 partition Methods 0.000 title claims abstract description 342
- 238000004458 analytical method Methods 0.000 title claims description 12
- 238000003384 imaging method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000000007 visual effect Effects 0.000 claims abstract description 33
- 238000000638 solvent extraction Methods 0.000 claims description 65
- 238000013507 mapping Methods 0.000 claims description 57
- 238000009877 rendering Methods 0.000 claims description 42
- 238000012545 processing Methods 0.000 description 63
- 238000012986 modification Methods 0.000 description 46
- 230000004048 modification Effects 0.000 description 46
- 239000012634 fragment Substances 0.000 description 39
- 238000004088 simulation Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 20
- 239000000872 buffer Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 6
- 239000000470 constituent Substances 0.000 description 5
- 238000013506 data mapping Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 239000005022 packaging material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
一般に、この開示は、幾つかの異なるグラフィカル・パーティションを含むグラフィカル・シーンのビジュアル表現を提供するための技術に関係する。それはユーザがスクリーン分割に関連するコストに起因して低下したパフォーマンスを示すグラフィックス・シーンの部分を識別することを可能にし得る。一つの例示的なデバイスは、表示デバイス及び1又は複数のプロセッサを含む。該1又は複数のプロセッサは、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを前記表示デバイス上に表示し、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を前記表示デバイス上に表示し、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析するように構成される。In general, this disclosure relates to techniques for providing a visual representation of a graphical scene that includes several different graphical partitions. It may allow the user to identify portions of the graphics scene that exhibit degraded performance due to the costs associated with screen splitting. One exemplary device includes a display device and one or more processors. The one or more processors are partitions that display one or more graphics images on the display device in a graphical scene, overlay the one or more graphics images, and graphically divide the scene To display on the display device and determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. And configured to analyze the graphics data.
Description
(35 U.S.C. §119の下の優先権の主張)
本特許出願は、2008年7月25日付け提出され、本願の譲受人に譲渡され、参照によって本明細書に明確に組み込まれる「PARTITIONING-BASED PERFORMANCE ANALYSIS FOR GRAPHICS IMAGING」と題された米国仮出願第61/083,659号の優先権を主張する。
(Claiming priority under 35 USC §119)
This patent application is filed July 25, 2008, is assigned to the assignee of the present application, and is a US provisional application entitled “PARTITIONING-BASED PERFORMANCE ANALYSIS FOR GRAPHICS IMAGING”, which is expressly incorporated herein by reference. Claim the priority of 61 / 083,659.
(同時継続の特許出願への参照)
本特許出願は、以下の同時継続の米国特許出願に関係する:
2008年7月25日付け提出され、これと共に同時に提出され、本願の譲受人に譲渡され、参照によって本明細書に明確に組み込まれる米国特許出願第61/083,656号(Attorney Docket No. 080967P1);及び
2008年7月25日付け提出され、これと共に同時に提出され、本願の譲受人に譲渡され、参照によって本明細書に明確に組み込まれる米国特許出願第61/083,665号(Attorney Docket No. 080971P1)。
(Reference to concurrent patent applications)
This patent application is related to the following concurrent US patent applications:
US patent application Ser. No. 61 / 083,656 (Attorney Docket No. 080967P1) filed Jul. 25, 2008, filed concurrently with this, assigned to the assignee of the present application and expressly incorporated herein by reference. );as well as
US Patent Application No. 61 / 083,665 (Attorney Docket No. 080971P1), filed July 25, 2008, filed concurrently therewith, assigned to the assignee of the present application, and expressly incorporated herein by reference. ).
(技術分野)
この開示は、グラフィックス・イメージの表示に関係する。
(Technical field)
This disclosure relates to the display of graphics images.
グラフィックス・プロセッサは、例えばテレビゲーム、グラフィックス・プログラム、コンピュータ・デザイン(CAD)アプリケーション、シミュレーション及びビジュアライゼーション・ツール、及びイメージングのような様々なアプリケーションのために、二次元イメージ(2D)及び三次元イメージ(3D)をレンダリング(render)するために広く使用されている。表示プロセッサは、表示デバイスを介したユーザへの提示のために、グラフィックス・プロセッサのレンダリング出力(rendered output)を表示するのに使用されることがある。 Graphics processors are used for various applications such as video games, graphics programs, computer design (CAD) applications, simulation and visualization tools, and imaging, for example, two-dimensional images (2D) and tertiary. Widely used to render original images (3D). The display processor may be used to display the rendered output of the graphics processor for presentation to the user via the display device.
OpenGL(登録商標)(オープン・グラフィックス・ライブラリー)は、2Dグラフィックス及び3Dグラフィックスを生成するアプリケーションを記述するときに使用されることがあるAPI(アプリケーション・プログラミング・インタフェース)を定義する標準的な仕様である。例えばJava(登録商標)のような他の言語は、それら自身の標準的なプロセスを通したOpenGL APIへのバインディングを定義することがある。インタフェースは、単純なプリミティブからシーンを描画(draw)するために使用可能な複数の関数コール又は命令(instructions)を含む。グラフィックス・プロセッサ、マルチメディア・プロセッサ、そして、汎用CPUでさえ、OpenGL関数コールを使用して記述されるアプリケーションを実行することができる。OpenGL ES(組み込みシステム)は、例えばモバイル無線電話、デジタル・マルチメディア・プレイヤー、携帯情報端末(PDA)又はテレビゲーム機のような、組み込みデバイスのために設計されるOpenGLの改良型(variant)である。 OpenGL® (Open Graphics Library) is a standard that defines an API (Application Programming Interface) that may be used when writing applications that generate 2D and 3D graphics. It is a typical specification. Other languages, such as Java, for example, may define bindings to the OpenGL API through their own standard process. The interface includes a plurality of function calls or instructions that can be used to draw the scene from simple primitives. Even graphics processors, multimedia processors, and even general purpose CPUs can execute applications that are written using OpenGL function calls. OpenGL ES (Embedded System) is a variant of OpenGL designed for embedded devices such as mobile radiotelephones, digital multimedia players, personal digital assistants (PDAs) or video game consoles. is there.
グラフィックス・アプリケーション(例えば、3Dグラフィックス・アプリケーション)は、API群又は命令群を呼び出す(invoking)ことによって、シーンの内容を記述又は定義することがある。API群又は命令群は、イメージを生成するために、内在する(underlying)グラフィックス・ハードウェア(例えば、グラフィックス・デバイス中の1又は複数のプロセッサ)を使用する。グラフィックス・ハードウェアは、これらのAPIを通して実行される一連の状態遷移(state transitions)を経ることがある。各々のAPIコール(例えば、描画コール(draw call)又は命令)に関するステート(states)のフルセットは、ハードウェアにより1又は複数のグラフィックス・プリミティブ(例えば、1又は複数の三角形)からイメージがレンダリングされるプロセスを記述することがある。 A graphics application (eg, a 3D graphics application) may describe or define the contents of a scene by invoking APIs or instructions. The APIs or instructions use underlying graphics hardware (eg, one or more processors in the graphics device) to generate the image. Graphics hardware may go through a series of state transitions that are performed through these APIs. The full set of states for each API call (eg, draw call or instruction) renders the image from one or more graphics primitives (eg, one or more triangles) by hardware. May describe the processes to be performed.
さらに、ビニング・ベース(binning-based)又はパーティショニング・ベース(partitioning-based)のグラフィックス・ハードウェアは、表示デバイスのスクリーン上に表示されるイメージのシーンを分割(divide up)するために、レンダリングすることになっている個々のグラフィックス・プリミティブが、複数のビニング・パーティション又はビンにクラスタリングされるプロセスを使用して、しばしば実装されることがある。該ハードウェアは、スクリーンサイズ若しくは解像度の制約上のために又はレンダリング・オペレーションに関連するメモリの限界上のために、そうしても良い。グラフィックス・プリミティブ(それは複数のビニング・パーティションにわたることがある)は、プリミティブ・フラグメントがレンダリングされる前に、パーティションのエッジに沿って、ハードウェアにより複数のフラグメントに分割されることがある。ハードウェアは、各々のパーティションにおいて、独立して、すべてのプリミティブ・フラグメントをレンダリングすることがある。 In addition, binning-based or partitioning-based graphics hardware can be used to divide up an image scene displayed on a display device screen. The individual graphics primitives that are to be rendered are often implemented using a process that is clustered into multiple binning partitions or bins. The hardware may do so due to screen size or resolution constraints or due to memory limitations associated with rendering operations. A graphics primitive (which may span multiple binning partitions) may be divided into multiple fragments by hardware along the edges of the partition before the primitive fragment is rendered. The hardware may render all primitive fragments independently in each partition.
それゆえ、個々のプリミティブ(それは例えば2つのビニング・パーティションにわたることがある)は、2つのフラグメントに分割されることがあり、そして、これらの2つのフラグメントの各々は、独立してレンダリングされることがある。しかし、これらのフラグメントの各々により生成されるグラフィックス・イメージは、それから、表示デバイスのスクリーン上に表示される前に、イメージ・データのフレーム内で再結合(re-combined)される必要があることがある。それゆえに、複数の異なるパーティションにわたっているプリミティブ・グラフィックス・データは、独立して処理及びレンダリングされることがあり、そして、レンダリングされたイメージ・データは、最終的なイメージを形成するために再結合されることがある。 Thus, an individual primitive (which may span two binning partitions, for example) may be split into two fragments, and each of these two fragments is rendered independently There is. However, the graphics image produced by each of these fragments must then be re-combined within a frame of image data before being displayed on the screen of the display device. Sometimes. Therefore, primitive graphics data across multiple different partitions may be processed and rendered independently, and the rendered image data is recombined to form the final image May be.
一般に、この開示は、幾つかの異なるグラフィカル・パーティションを含むグラフィカル・シーンのビジュアル表現を提供するための技術に関係する。それは、ユーザが、スクリーン分割(screen partitioning)に関連し得るコストに起因して低下したパフォーマンスを示すグラフィックス・シーンの部分を識別するのを可能にし得る。グラフィックス・デバイス(例えば、モバイル・デバイス)は、グラフィックス・ドライバーによって作成されたパーティションの数及びタイプに基づいて、パーティショニング又はビニング情報を外部コンピュータ・デバイス(例えば、パーソナル・コンピュータ)へ提供しても良い。グラフィックス・デバイスはまた、グラフィックス命令及びステート情報をコンピュータ・デバイスに提供しても良い。 In general, this disclosure relates to techniques for providing a visual representation of a graphical scene that includes several different graphical partitions. It may allow the user to identify portions of the graphics scene that exhibit reduced performance due to costs that can be associated with screen partitioning. A graphics device (eg, a mobile device) provides partitioning or binning information to an external computing device (eg, a personal computer) based on the number and type of partitions created by the graphics driver. May be. The graphics device may also provide graphics instructions and state information to the computing device.
コンピュータ・デバイスは、グラフィックス命令及びステート情報に基づいて、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示しても良い。コンピュータ・デバイスはまた、受信されたパーティショニング情報に基づいて、シーンをオーバーレイするパーティションのグラフィカル表現を表示しても良く、また、潜在的な(potential)分割コスト又はパフォーマンス・オーバーヘッドに関する解析情報を提供しても良い。アプリケーション開発者は、これらのコスト及び/又はパフォーマンス・オーバーヘッドを低減するのを支援するために、シーンの代わりのコンポジション(compositions)を調査(investigate)するために、この情報を使用しても良い。 The computing device may display one or more graphics images in the graphical scene based on the graphics instructions and state information. The computing device may also display a graphical representation of the partition overlaying the scene based on the received partitioning information and provide analysis information regarding potential partitioning costs or performance overhead You may do it. Application developers may use this information to investigate alternative compositions in the scene to help reduce these costs and / or performance overhead. .
一つの態様において、方法は、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示することと、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示することと、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析することを含む。 In one aspect, a method displays a graphic image in a graphical scene and a graphical representation of a partition that overlays the graphic image and graphically divides the scene. And determining which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. Including analyzing the data.
一つの態様において、デバイスは、表示デバイス及び1又は複数のプロセッサを含む。前記1又は複数のプロセッサは、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを前記表示デバイス上に表示し、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を前記表示デバイス上に表示し、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析するように構成される。 In one aspect, the device includes a display device and one or more processors. The one or more processors display one or more graphics images on the display device in a graphical scene, overlay the one or more graphics images, and partition the scene graphically To display on the display device and determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. And is configured to analyze the graphics data.
一つの態様において、コンピュータ読み取り可能な媒体は、1又は複数のプロセッサに、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示させ、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示させ、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析させるためのコンピュータ実行可能な命令を含む。 In one aspect, a computer-readable medium causes one or more processors to display one or more graphics images in a graphical scene and overlays the one or more graphics images and the scene. Display a graphical representation of the partition that graphically divides the image and determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions For that purpose, it includes computer-executable instructions for causing the graphics data to be analyzed.
この開示において説明される技術は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合せにおいて実装されても良い。ソフトウェアで実装される場合には、ソフトウェアは、プロセッサで実行されても良い。プロセッサは、1又は複数のプロセッサ(例えば、マイクロプロセッサ)、特定用途向けIC(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はデジタルシグナルプロセッサ(DSP)、又は他の等価な集積化された若しくは個別の論理回路を指し示しても良い。本技術を実行するための命令を含むソフトウェアは、最初にコンピュータ読み取り可能な媒体に記憶されロードされ、そして、プロセッサにより実行されても良い。 The techniques described in this disclosure may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the software may be executed by a processor. The processor may be one or more processors (eg, a microprocessor), application specific integrated circuit (ASIC), field programmable gate array (FPGA), or digital signal processor (DSP), or other equivalent integrated. Alternatively, individual logic circuits may be indicated. Software containing instructions for performing the techniques may be initially stored and loaded on a computer readable medium and executed by a processor.
したがって、この開示はまた、この開示において説明される様々な技術の任意のものをプロセッサに実行させる命令を含むコンピュータ読み取り可能な媒体を意図する。場合によっては、コンピュータ読み取り可能な媒体は、製造者に販売され得る及び/又はデバイスで使用され得るコンピュータ・プログラム製品の一部を形成しても良い。コンピュータ・プログラム製品は、コンピュータ読み取り可能な媒体を含んでも良いし、場合によっては、また、パッケージ材料を含んでも良い。 Accordingly, this disclosure also contemplates computer-readable media containing instructions that cause a processor to perform any of the various techniques described in this disclosure. In some cases, computer readable media may form part of a computer program product that may be sold to a manufacturer and / or used in a device. The computer program product may include a computer readable medium and, in some cases, may also include packaging material.
添付の図面及び下記の説明において1又は複数の態様の詳細が説明される。他の特徴、目的及び利点は説明及び図面から並びにクレームから明らかである。 The details of one or more aspects are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
図1は、本開示の一つの態様に従って、グラフィックス命令30、ステート及び/又はパフォーマンス情報32及びパーティショニング情報33を、アプリケーション・コンピュータ・デバイス20に提供し得るグラフィックス・デバイス2を示すブロック図である。グラフィックス・デバイス2は、独立型デバイスであっても良いし、あるいは、より大きなシステムの一部であっても良い。例えば、グラフィックス・デバイス2は、無線通信デバイス(例えば、無線モバイル・ハンドセット)の一部を形成しても良いし、あるいは、デジタル・カメラ、ビデオ・カメラ、デジタル・マルチメディア・プレイヤー、携帯情報端末(PDA)、テレビゲーム機、他のビデオ・デバイス又は専用の視聴局(viewing station)(例えば、テレビ)の一部であっても良い。グラフィックス・デバイス2はまた、パソコン又はラップトップ・デバイスを含んでも良い。グラフィックス・デバイス2は、上で説明されたデバイスの一部又は全部において使用され得る、1又は複数の集積回路、チップ又はチップセットに含まれても良い。
FIG. 1 is a block diagram illustrating a
場合によっては、グラフィックス・デバイス2は、様々なアプリケーション(例えば、グラフィックス・アプリケーション、ビデオ・アプリケーション、音声アプリケーション及び/又は他のマルチメディア・アプリケーション)を実行することができても良い。例えば、グラフィックス・デバイス2は、グラフィックス・アプリケーション、テレビゲーム・アプリケーション、ビデオ・プレイバック・アプリケーション、デジタル・カメラ・アプリケーション、インスタントメッセージング・アプリケーション、ビデオ通信会議アプリケーション、モバイル・アプリケーション又はビデオストリーミング・アプリケーションのために使用されても良い。
In some cases,
グラフィックス・デバイス2は、様々な異なるデータ・タイプ及びフォーマットを処理することができても良い。例えば、グラフィックス・デバイス2は、下で更に詳細に説明されるように、静止画データ、動画(ビデオ)データ又は他のマルチメディア・データを処理しても良い。イメージ・データは、コンピュータグラフィック・データを含んでも良い。図1の例において、グラフィックス・デバイス2は、グラフィックス処理システム4、記憶媒体8(それは、メモリを含んでも良い)及び表示デバイス6を含む。プログラム可能なプロセッサ10,12,14及び16は、グラフィックス処理システム4内に含まれても良い。プログラム可能なプロセッサ10は、制御又は汎用プロセッサである。プログラム可能なプロセッサ12は、グラフィックス・プロセッサであり、プログラム可能なプロセッサ14は、頂点プロセッサであり、プログラム可能なプロセッサ16は、表示プロセッサである。制御プロセッサ10は、グラフィックス・プロセッサ12、頂点プロセッサ14及び/又は表示プロセッサ16を制御することができても良い。一つの態様において、グラフィックス処理システム4は、他の形のマルチメディア・プロセッサを含んでも良い。
グラフィックス・デバイス2において、グラフィックス処理システム4は、記憶媒体8に及び表示デバイス6に接続する。記憶媒体8は、例えばシンクロナスダイナミックランダムアクセスメモリ(SDRAM)、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、組み込みダイナミックランダムアクセスメモリ(eDRAM)、スタティックランダムアクセスメモリ(SRAM)又はフラッシュメモリのような、命令及び/又はデータを格納することができる任意の固定(permanent)又は揮発性メモリを含んでも良い。表示デバイス6は、例えばLCD(液晶ディスプレイ)、プラズマ・ディスプレイ・デバイス又は他のテレビ(TV)表示デバイスのような、表示目的のイメージ・データを表示することができる任意のデバイスであっても良い。
In the
頂点プロセッサ14は、頂点情報を管理し、頂点変換を処理することができる。一つの態様において、頂点プロセッサ14は、デジタルシグナルプロセッサ(DSP)を含んでも良い。グラフィックス・プロセッサ12は、コンピュータ化されたグラフィックスをレンダリング、操作(manipulate)及び表示するために利用される専用グラフィックス・レンダリング・デバイスであっても良い。グラフィックス・プロセッサ12は、様々な複雑な(complex)グラフィックス関係アルゴリズムを実装しても良い。例えば、複雑なアルゴリズムは、2次元又は3次元コンピュータ化グラフィックスの表現(representations)に対応しても良い。グラフィックス・プロセッサ12は、ディスプレイ(例えば表示デバイス6)上の複雑な3次元イメージを作成するために、幾つかのいわゆる“プリミティブ(primitive)”グラフィックス・オペレーション(例えば、点、線及び三角形又は他のポリゴン面の形成)を実装しても良い。
The
グラフィックス・プロセッサ12は、記憶媒体8に記憶される命令を実行しても良い。記憶媒体8は、1又は複数のグラフィックス・ドライバー18だけでなく、アプリケーション(例えばグラフィックス又はビデオ・アプリケーション)に関するアプリケーション命令21を記憶することができる。アプリケーション命令21は、実行のために記憶媒体8からグラフィックス処理システム4へロードされても良い。例えば、制御プロセッサ10、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数が、命令21を実行しても良い。一つの態様において、アプリケーション命令21は、記憶媒体8に無線で動的にダウンロードされる1又は複数のダウンロード可能なモジュールを含んでも良い。一つの態様において、アプリケーション命令21は、アプリケーション開発者により作成されるアプリケーション・プログラミング・インタフェース(API)命令から生成又はコンパイルされるるバイナリ命令のコール・ストリームを含んでも良い。
The
グラフィックス・ドライバー18はまた、実行のために記憶媒体8からグラフィックス処理システム4にロードされても良い。例えば、制御プロセッサ10、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数が、グラフィックス・ドライバー18からの特定の命令を実行しても良い。一つの例示的な態様において、グラフィックス・ドライバー18は、グラフィックス・プロセッサ12によりロード及び実行される。グラフィックス・ドライバー18は、下で更に詳細に説明される。
The graphics driver 18 may also be loaded from the
記憶媒体8はまた、グラフィックス・データ・マッピング情報23を含む。グラフィックス・データ・マッピング情報23は、アプリケーション命令21のうちの1又は複数を、アプリケーション命令21の実行の間にレンダリングされ得るグラフィックス・データにマッピングする情報を含む。グラフィックス・データ(それは記憶媒体8及び/又はバッファ15に記憶されても良い)は、1又は複数のプリミティブ(例えば、ポリゴン)を含んでも良い。グラフィックス・データ・マッピング情報23は、個々の命令に対してレンダリングされるべき個々のプリミティブのマッピングを維持しても良い。プリミティブがレンダリングされた後、マッピング情報23は、個々の命令から、グラフィックス・デバイス6上に最終的に表示される1又は複数のイメージを作成するのに使用されたオリジナルのプリミティブ・グラフィックス・データへのマッピングを可能にする。マッピング情報23は、場合によっては、デバッギング及び/又はパフォーマンス解析に役立つことがある。
The
また、図1に示されるように、グラフィックス処理システム4は、1又は複数のバッファ15を含む。制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14及び/又は表示プロセッサ16は、各々、バッファ15へのアクセスを有し、また、バッファ15へデータを記憶し又はバッファ15からデータを検索しても良い。バッファ15は、キャッシュメモリを含んでも良く、また、データと命令の両方を記憶することができても良い。例えば、バッファ15は、アプリケーション命令21のうちの1又は複数、又は、記憶媒体8からグラフィックス処理システム4にロードされたグラフィックス・ドライバー18からの1又は複数の命令を含んでも良い。バッファ15及び/又は記憶媒体8はまた、命令の実行の間に使用されるグラフィックス・データを含んでも良い。
As shown in FIG. 1, the
アプリケーション命令21は、特定のケースにおいて、グラフィックス・アプリケーション(例えば、3Dグラフィックス・アプリケーション)のための命令を含んでも良い。アプリケーション命令21は、1又は複数のグラフィックス・イメージを含むグラフィックス・シーンのコンテンツを記述又は定義する命令を含んでも良い。アプリケーション命令21がグラフィックス処理システム4によりロード及び実行されるとき、グラフィックス処理システム4は、一連の状態遷移を経ても良い。グラフィックス・ドライバー18内の1又は複数の命令はまた、アプリケーション命令21の実行の間にグラフィックス・イメージを表示デバイス6上にレンダリング又は表示するために実行されても良い。
Application instructions 21 may include instructions for graphics applications (eg, 3D graphics applications) in certain cases. Application instructions 21 may include instructions that describe or define the contents of a graphics scene that includes one or more graphics images. When the application instruction 21 is loaded and executed by the
例えば描画コールのような命令に関するステートのフルセットは、イメージがグラフィックス処理システム4によりレンダリングされるプロセスを記述しても良い。しかし、アプリケーション命令21を書いたアプリケーション開発者は、定義されたシーン中のイメージを記述又はレンダリングする代わりの方法(alternate methods)によるデバッギング又は実験の目的で、これらのステートをインタラクティブに閲覧(view)又は修正する能力(ability)がしばしば制限されることがある。さらに、異なるハードウェア・プラットホームは、これらのステート及び/又は状態遷移の異なるハードウェア・デザイン及び実装を有することがある。
For example, a full set of states for instructions such as draw calls may describe the process by which an image is rendered by the
さらに、ビニング・ベースのグラフィックス・ハードウェア(例えば、プロセッサ10,12,14及び16のうちの1又は複数)は、表示デバイス6のスクリーン上に表示されるイメージのシーンを分割するために、レンダリングすることになっている個々のプリミティブが、長方形の形の(rectangular-shaped)ビニング・パーティション又はビンにクラスターされるプロセスを使用して、しばしば実装されても良い。ハードウェアは、表示デバイス6のスクリーンサイズ又は解像度制約に基づいて又はオペレーションのレンダリングに関連する記憶媒体8のメモリ制限に基づいて、そうしても良い。複数のビニング・パーティションにわたり得るプリミティブは、プリミティブ・フラグメントがレンダリングされる前に、パーティションのエッジに沿って、プロセッサ10,12,14又は16のうちの1又は複数によって、複数のフラグメントに分割されても良い。各々のパーティションにおけるプリミティブ・フラグメントは、それから、別々にレンダリングされても良い。一般に、ビニング・パーティションは、ハードウェア・アーキテクチャーに応じて、総計が変化させられても良く、また、様々なサイズ及び形を有しても良い。例えば、ビニング・パーティションは、複数(例えば、4つ,8つ)の長方形の形のパーティションを含んでも良い。
Further, binning-based graphics hardware (eg, one or more of
それゆえ、例えば2つのビニング・パーティションにわたり得る個々のプリミティブは、2つのフラグメントに分割されても良く、また、これらの2つのフラグメントの各々は、それから、独立してレンダリングされても良い。しかし、これらのフラグメントの各々によって生成されるグラフィックス・イメージは、それから、表示デバイス6のスクリーン上に表示される前に、イメージ・データのフレーム内で再結合される必要があり得る。それゆえ、複数のビニング・パーティションにわたる個々のプリミティブを分割することは、潜在的な(potential)処理オーバーヘッドを有する可能性があり、また、全体的なパフォーマンス劣化を引き起こす可能性がある。
Thus, for example, an individual primitive that may span two binning partitions may be divided into two fragments, and each of these two fragments may then be rendered independently. However, the graphics image produced by each of these fragments may then need to be recombined within a frame of image data before being displayed on the screen of the
一つの態様において、アプリケーション開発者は、シーン中のイメージを記述又はレンダリングするための代わりの方法によるデバッギング及び実験の処理を支援するために、図1に示されるように、アプリケーション・コンピュータ・デバイス20を使用しても良い。アプリケーション・コンピュータ・デバイス20は、シーンを表示すること、及び、グラフィックス・デバイス2によって実装され得るビニング・パーティションのグラフィカル表現をオーバーレイすることができても良い。アプリケーション・コンピュータ・デバイス20は、グラフィックス・デバイス2に接続される。例えば、一つの態様において、アプリケーション・コンピュータ・デバイス20は、ユニバーサルシステムバス(USB)コネクションを介して、グラフィックス・デバイス2に接続される。他の態様において、他のタイプのコネクション(例えば無線又は他の形の有線接続)が、使用されても良い。
In one aspect, an application developer may use an
アプリケーション・コンピュータ・デバイス20は、1又は複数のプロセッサ22、表示デバイス24及び記憶媒体26(それは、メモリを含んでもよい)を含む。一つの態様に従って、プロセッサ22は、制御プロセッサ、グラフィックス・プロセッサ、頂点プロセッサ及び表示プロセッサのうちの1又は複数を含んでも良い。記憶媒体26は、例えばシンクロナスダイナミックランダムアクセスメモリ(SDRAM)、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、スタティックランダムアクセスメモリ(SRAM)又はフラッシュメモリ)のような、命令及び/又はデータを格納することができる任意の固定又は揮発性メモリを含んでも良い。表示デバイス24は、例えばLCD(液晶ディスプレイ)、プラズマ・ディスプレイ・デバイス又は他のテレビ(TV)表示デバイスのような、表示目的のイメージ・データを表示することができる任意のデバイスであっても良い。
アプリケーション・コンピュータ・デバイス20は、グラフィックス・デバイス2から送信される、ステート及び/又はパフォーマンス情報32とともに、グラフィックス命令30を捕捉(capturing)及び解析することができる。一つの態様において、グラフィックス・ドライバー18は、グラフィックス命令30及びステート/パフォーマンス情報32を、アプリケーション・コンピュータ・デバイス20に送信するように構成される。グラフィックス命令30は、アプリケーション命令21のうちの1又は複数を含んでも良く、ステート/パフォーマンス情報32は、グラフィックス処理システム4内でのグラフィックス命令30の実行の間に生成又は補足されても良い。
ステート/パフォーマンス情報32は、命令の実行の間のグラフィックス処理システム4のステート及び/又はパフォーマンスに関する情報を含んでも良く、それは下で更に詳細に説明される。ステート/パフォーマンス情報32は、グラフィックス命令30で使用され得る又はさもなければグラフィックス命令30に関連し得るグラフィックス・データ(例えば、プリミティブの及び/又はラスタライズされたグラフィックス・データ)を含んでも良い。グラフィックス処理システム4は、表示デバイス6上にイメージ又は複数のイメージからなるシーンを表示するためにグラフィックス命令30を実行しても良い。アプリケーション・コンピュータ・デバイス20は、グラフィックス・デバイス2の表示デバイス6に同様に表示されるグラフィックス・イメージ又はシーンを再作成(re-create)するために、ステート/パフォーマンス情報32とともに、グラフィックス命令30を使用することができる。
The state /
グラフィックス・デバイス2はまた、マッピング及び/又はパーティショニング情報33を、アプリケーション・コンピュータ・デバイス20に送信しても良い。一つの態様において、グラフィックス・ドライバー18が、マッピング/パーティショニング情報33を、アプリケーション・コンピュータ・デバイス20に送信するように構成される。マッピング/パーティショニング情報33は、グラフィックス・データ・マッピング情報23(それはグラフィックス命令30内の個々の命令にグラフィックス・データをマッピングする情報を含む)の1又は複数の部分を含んでも良い。例えば、マッピング/パーティショニング情報33は、グラフィックス命令30内の個々の命令に1又は複数のプリミティブ(例えば、ポリゴン)をマッピングする情報を含んでも良い。
マッピング/パーティショニング情報33はまた、グラフィックス・デバイス2によって生成及び提供されるパーティショニング情報を含んでも良い。このパーティショニング情報は、場合によっては、プロセッサ10,12,14及び16のうちの1又は複数(例えば制御プロセッサ10)によって生成及び提供されても良い。パーティショニング情報は、1又は複数のグラフィックス・イメージ中にグラフィックス・データをレンダリングし及びそのようなイメージを表示デバイス6上に表示するためにグラフィックス処理システム4内で使用され得る、ビニング・パーティション又はビンの数、タイプ、サイズ及び/又は形状を識別する情報を含んでも良い。前に説明されたように、グラフィックス・デバイス2は、例えば、オペレーションのレンダリング中のバッファ15及び/又は記憶媒体8のメモリサイズ制限に基づいて、表示デバイス6のスクリーン・スペース又はサイズを複数のパーティションに分割しても良い。パーティショニング情報は、作成及び使用されるパーティションに関する情報を提供する。図5及び6は、そのようなパーティションの例を表す。
The mapping / partitioning information 33 may also include partitioning information generated and provided by the
シミュレーション・アプリケーション28は、グラフィックス命令30及びステート/パフォーマンス情報32の受信に応じて、グラフィックス・イメージ又はシーンを再作成し、そして、イメージ又は複数のイメージからなるシーンを表示デバイス24上に表示するために、アプリケーション・コンピュータ・デバイス20の1又は複数のプロセッサ22によって実行されても良い。シミュレーション・アプリケーション28は、幾つかのアプリケーション命令を含むソフトウェア・モジュールを含んでも良い。シミュレーション・アプリケーション28は、記憶媒体26に記憶され、また、プロセッサ22によってロード及び実行されても良い。シミュレーション・アプリケーション28は、記憶媒体26にプリロードされても良く、また、グラフィックス・デバイス2で動作するようにカスタマイズされても良い。
The
一つの態様において、シミュレーション・アプリケーション28は、グラフィックス・デバイス2のハードウェア・オペレーションをシミュレートする。シミュレーション・アプリケーション28の異なるバージョンが、記憶媒体26に記憶され、異なるハードウェア・デザインを有する異なるグラフィックス・デバイスのためにプロセッサ22によって実行されても良い。また、場合によっては、シミュレーション・アプリケーション28とともに使用されるソフトウェア・ライブラリが、記憶媒体26内に記憶されても良い。一つの態様において、シミュレーション・アプリケーション28は、一般アプリケーションであっても良く、また、特定のハードウェア又はグラフィックス・デバイス・シミュレーション機能性は、実行の間、シミュレーション・アプリケーション28にリンクされ得る各々の独立したライブラリ内に含まれても良い。
In one embodiment, the
一つの態様において、ステート/パフォーマンス情報32のビジュアル表現が、表示デバイス2上でアプリケーション開発者に対して表示されても良い。さらに、グラフィックス命令30のビジュアル表現が、同様に、表示されても良い。
In one aspect, a visual representation of the state /
多くの場合、グラフィックス命令30はバイナリ命令を含むことがあるので、アプリケーション・コンピュータ・デバイス20は、表示デバイス24上でのグラフィックス命令30のビジュアル表現を生成するために、命令マッピング情報31を使用しても良い。命令マッピング情報31は、記憶媒体26内に記憶され、また、グラフィックス命令30のビジュアル表現を表示するために、プロセッサ22にロードされても良い。
In many cases,
一つの態様において、命令マッピング情報31は、グラフィックス命令30を生成するときに以前コンパイルされた可能性のある対応するAPI命令へ、グラフィックス命令30をマッピングするために、例えば検索テーブル中などに、マッピング情報を含んでも良い。アプリケーション開発者は、API命令を使用するプログラムを書いても良いが、これらのAPI命令は、一般的に、グラフィックス・デバイス2上での実行のために、例えばグラフィックス命令30(それは、アプリケーション命令21内に含まれる)のようなバイナリ命令にコンパイルされる。グラフィックス命令30内の1又は複数の命令は、個々のAPI命令にマッピングされても良い。マッピングされたAPI命令は、それから、実際に実行されているグラフィックス命令30のビジュアル表現を提供するために、表示デバイス24上でアプリケーション開発者に対して表示されても良い。
In one aspect, the instruction mapping information 31 is used to map the
一つの態様において、ユーザ(例えばアプリケーション開発者)は、例えばそのようなパフォーマンスの変化の効果を判定するために、グラフィックス命令30のうちの1又は複数を変更することを望むことがある。この態様において、ユーザは、グラフィックス命令30のビジュアル表現を変更しても良い。マッピング情報31は、それから、下で更に詳細に説明されるように、要求された修正34内のグラフィックス・デバイス2へ提供されることができるバイナリ命令に、グラフィックス命令30のビジュアル表現中のこれらの変更をマッピングするために使用される。
In one aspect, a user (eg, an application developer) may desire to change one or more of the
先に述べたように、アプリケーション・コンピュータ・デバイス20の表示デバイス24上に表示されるグラフィックス・イメージは、グラフィックス・デバイス2上に表示されるイメージの表現であっても良い。グラフィックス・デバイス2上にイメージが提示されているときに、正確にイメージ又はシーンを再作成するために、シミュレーション・アプリケーション28は、グラフィックス命令30及びステート/パフォーマンス情報32を使用しても良いので、アプリケーション・コンピュータ・デバイス20を使用するアプリケーション開発者は、グラフィックス・アプリケーション30の実行の間の潜在的な(potential)パフォーマンス・イッシュー又はボトルネックと、そして、グラフィックス・アプリケーション30の全体的なパフォーマンスを向上させるプロトタイプ修正でさえ、速く識別することができ得る。
As described above, the graphics image displayed on the display device 24 of the
例えば、アプリケーション開発者は、アプリケーション・コンピュータ・デバイス20上のシミュレーション・アプリケーション28の実行及び表示デバイス24上の再作成されたイメージの表示の間、グラフィックス命令30及び/又はステート/パフォーマンス情報32に対して1又は複数の要求された修正34を施すことを選択しても良い。グラフィックス命令30の実行又はステート/パフォーマンス情報32の解析の間、そのような要求された修正34は、観測されたパフォーマンス・イッシュー又はボトルネックに基づいても良い。これらの要求された修正34は、それから、アプリケーション・コンピュータ・デバイス20からグラフィックス・デバイス2へ送信されても良い。そこでは、それらはグラフィックス処理システム4によって処理される。一つの態様において、グラフィックス・ドライバー18のうちの1又は複数が、要求された修正34を処理するために、グラフィックス処理システム4中で実行される。要求された修正34は、場合によっては、修正された命令を含んでも良い。場合によっては、要求された修正は、修正されたステート及び/又はパフォーマンス情報を含んでも良い。
For example, the application developer may use
要求された修正34の処理に応じて、更新された命令及び/又は情報35は、アプリケーション・コンピュータ・デバイス20へ送信される(例えばグラフィックス・ドライバー18のうちの1又は複数によって)。更新された命令/情報35は、グラフィックス・デバイス2により処理された要求された修正34に基づく実行のための更新されたグラフィックス命令を含んでも良い。更新された命令/情報35はまた、グラフィックス・デバイス2により処理された要求された修正34に基づく更新されたステート及び/又はパフォーマンス情報を含んでも良い。
In response to processing of the requested modification 34, updated instructions and / or information 35 are transmitted to the application computing device 20 (eg, by one or more of the graphics drivers 18). The updated instructions / information 35 may include updated graphics instructions for execution based on the requested modifications 34 processed by the
更新された命令/情報35は、表示デバイス24上での再作成されたイメージ情報の表示を更新するために、さらに更新された命令/情報35のビジュアル表現を、アプリケーション開発者に提供するために、シミュレーション・アプリケーション28により処理される(それは命令マッピング情報31を再び使用することを含んでも良い)。アプリケーション開発者は、それから、パフォーマンス・イッシューが解決又は軽減されたかについて判定するために、更新された命令/情報35のビジュアル表現だけでなく、表示デバイス24上の更新されたイメージ情報を閲覧しても良い。アプリケーション開発者は、グラフィックス命令30をデバッグするための反復的なプロセス、又は、全体的なパフォーマンス・グラフィックス・アプリケーション30を改善するためのプロトタイプ修正を使用しても良い。
The updated instructions / information 35 is for updating the display of the recreated image information on the display device 24 and for providing a visual representation of the updated instructions / information 35 to the application developer. Processed by the simulation application 28 (which may include using the instruction mapping information 31 again). The application developer then browses the updated image information on the display device 24 as well as a visual representation of the updated instruction / information 35 to determine whether the performance issue has been resolved or mitigated. Also good. Application developers may use an iterative process to debug
一つの態様において、アプリケーション・コンピュータ・デバイス20は、表示デバイス24上に表示されるグラフィックス・イメージをオーバーレイするパーティションのビジュアル・グラフィカル表現を表示するために、マッピング/パーティショニング情報23を使用する。これらのパーティションは、表示デバイス24上でこれらのイメージを含むシーンをグラフィカルに分割する。例えば、シミュレーション・アプリケーション28は、表示デバイス24のスクリーン上でこれらのパーティション(例えば、複数の長方形の形のパーティション)のグラフィックス表現を作成するために、マッピング/パーティショニング情報33を処理するパーティショニング・モジュール27を使用しても良い。
In one aspect, the
パーティショニング・モジュール27は、記憶媒体26からロードされ、プロセッサ22により実行されても良い。実行されるとき、パーティショニング・モジュール27はまた、グラフィックス・データのいずれの部分が該パーティションのうちの複数のものに関連するか判定するために、1又は複数のグラフィックス・イメージについて、グラフィックス・データ(それはステート/パフォーマンス情報32内に含まれても良い)を解析しても良い。例えば、パーティショニング・モジュール27は、下で更に詳細に説明されるように、表示デバイス24上での表示のためのグラフィックス・イメージを作成するために及びこれらのポリゴンのうちのいずれのポリゴンが複数のパーティションにわたり得るかについて判定するために使用される、1又は複数のポリゴンを解析しても良い。
The partitioning module 27 may be loaded from the
記憶媒体26は、ナビゲーション・モジュール29を更に含む。ナビゲーション・モジュール29はまた、プロセッサ22により実行されても良い。シミュレーション・アプリケーション28は、実行の間、表示デバイス上にナビゲーション・コントローラを表示するために、ナビゲーション・モジュール29を使用しても良い。ユーザ(例えばアプリケーション開発者)は、表示デバイス24上に表示されるシーン内のグラフィックス・イメージの修正された斜視図を閲覧するために、このナビゲーション・コントローラとインタラクトしても良い。パーティショニング・モジュール27は、それから、修正されたシーンをグラフィカルに分割するために、グラフィックス・イメージの修正された斜視図をオーバーレイするパーティションのグラフィカル表現を表示しても良い。パーティショニング・モジュール27はまた、それから、複数のポリゴンのうちのいずれのが複数のパーティションにわたり得るかについて判定するために、修正された斜視図中にグラフィックス・イメージを作成するために使用される1又は複数のポリゴンを解析しても良い。
The
一つの態様に従って、図2は、本開示の一つの態様に従って、図1に示されるグラフィックス処理システム4、グラフィックス・ドライバー18及びアプリケーション・コンピュータ・デバイス20の特定の詳細を示すブロック図である。図2において、アプリケーション・コンピュータ・デバイス20は、デバイス2のグラフィックス処理システム4に接続されることが仮定される。しかし、これは説明の目的のためにだけ示される。他のシナリオでは、アプリケーション・コンピュータ・デバイス20は、多くの他の形のグラフィックス処理システム及びデバイスに接続されても良い。
In accordance with one aspect, FIG. 2 is a block diagram illustrating certain details of the
図2に示されるように、グラフィックス処理システム4は、4つのプログラム可能なプロセッサ、すなわち、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16を含む。それらは図1にも示される。制御プロセッサ10は、頂点プロセッサ14、グラフィックス・プロセッサ12又は表示プロセッサ16のうちの任意のものを制御しても良い。多くの場合に、これらのプロセッサ10,12,14及び16は、システム4内のグラフィックス処理パイプラインの一部であっても良い。
As shown in FIG. 2, the
制御プロセッサ10はまた、パイプラインを通してデータ又は命令実行のフローの1又は複数の態様を制御しても良く、さらに、グラフィックス・イメージに関するジオメトリ情報を、頂点プロセッサ14に提供しても良い。頂点プロセッサ14は、グラフィックス・イメージの頂点変換又はジオメトリ処理を管理しても良い。それは、プリミティブのジオメトリ・フォームにおける複数の頂点に従って記述又は定義されても良い。頂点プロセッサ14は、その出力をグラフィックス・プロセッサ12に提供しても良い。グラフィックス・プロセッサ12は、グラフィックス・イメージに対するレンダリング又はラスタライゼーション・オペレーションを実行しても良い。グラフィックス・プロセッサ12は、表示プロセッサ16にその出力を提供しても良い。表示プロセッサ16は、表示のために、ピクセル・フォームで、グラフィックス・イメージを準備する。グラフィックス・プロセッサ12はまた、ピクセル・データに対する様々なオペレーション(例えばシェーディング又はスケーリング)を実行しても良い。
The control processor 10 may also control one or more aspects of the flow of data or instruction execution through the pipeline and may also provide geometric information regarding the graphics image to the
しばしば、グラフィックス・イメージ・データは、グラフィックス命令30の実行の間、この処理パイプラインで処理されても良い。グラフィックス命令30は、アプリケーション命令21(図1)の一部であっても良い。その結果、グラフィックス命令30は、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数によって実行されても良い。アプリケーション開発者は、一般的に、グラフィックス処理システム4内のいずれの特定のプロセッサがグラフィックス命令30のうちのいずれを実行するかという多くの知識又は制御を有しなくても良い。
Often, graphics image data may be processed in this processing pipeline during execution of
場合によっては、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数は、グラフィックス命令30の実行の間、パフォーマンス・イッシューを有する可能性があり、あるいは、処理パイプライン中の潜在的なボトルネックとして機能する可能性がある。これらの場合、グラフィックス処理システム4内の全体的なパフォーマンスが悪化する可能性があり、そして、アプリケーション開発者は、パフォーマンスを向上させるために、グラフィックス命令30の変更を行うことを望むことがある。かし、開発者がプロセッサ10,12,14又は16のいずれのプロセッサがパフォーマンス・イッシューを有するものである可能性があるかについて、必ずしも分るわけではない。これらのパフォーマンス・イッシューは、例えば、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数のためのプロセッサの使用(usage)又は利用(utilization)に関係するイッシューを含む場合がある。
In some cases, one or more of control processor 10,
特に、ビニング・ベースのオペレーション(それにおいては、レンダリングに先立って、プリミティブ・グラフィックス・データが複数のビニング・パーティションにわたって分割される)は、しばしば、特定のパフォーマンス・イッシューを作り出すことがある。例えば、ポリゴン(例えば、図5Aの例で示される三角形146)が2つの異なるパーティション(例えば、図5Aに示されるパーティション136と138)にわたる場合に、該ポリゴンは、2つの構成フラグメント(constituent fragments)(パーティションごとに一つ)に分割され、そして、これらの2つの構成フラグメント(例えば、図5Bに示されるフラグメント146Aと146B)は、ピクセル・データを含む独立したグラフィックス・イメージに独立してレンダリングされ得る。これらの2つの独立したグラフィックス・イメージは、それから、三角形146のビジュアル表現を作成するために、表示の前に結合される必要があり得る。三角形146の2つのフラグメントのための独立したレンダリング・オペレーションは、2つの関係するグラフィックス・イメージのための結合オペレーションとともに、パフォーマンス・オーバーヘッドを引き起こす場合がある。
In particular, binning-based operations, where primitive graphics data is split across multiple binning partitions prior to rendering, can often create a specific performance issue. For example, if a polygon (eg, the
パフォーマンス・ボトルネック及び潜在的な解決を識別する問題を支援するために、図2に示されるように、グラフィックス・デバイス2のグラフィックス・ドライバー18Aは、グラフィックス処理システム4からグラフィックス命令30を捕捉又は収集しても良く、また、アプリケーション・コンピュータ・デバイス20にそれらを送っても良い。グラフィックス・ドライバー18Aは、図1に示されるグラフィックス・ドライバー18の一部である。グラフィックス・ドライバー18Aは、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数によってロード及び実行されても良い。さらに、グラフィックス・ドライバー18Aはまた、制御プロセッサ10、ベクトルプロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数からステート及び/又はパフォーマンス情報32を収集しても良く、同様に、アプリケーション・コンピュータ・デバイス20にこの情報32を送っても良い。一つの態様において、グラフィックス命令30がOpenGL ES API命令から生成又はコンパイルされた可能性のあるバイナリ命令を含むとき、グラフィックス・ドライバー18Aは、OpenGL ESドライバーを含んでも良い。
To assist in the problem of identifying performance bottlenecks and potential solutions, the
様々な形のステート・データが、ステート/パフォーマンス情報32内に含まれても良い。例えば、ステート・データは、グラフィックス命令30の実行の間に使用される又はさもなければグラフィックス命令30に関連するグラフィックス・データを含んでも良い。ステート・データは、頂点アレイ(例えば、位置、色、座標、サイズ又は重みデータ)に関係しても良い。ステート・データは、テクスチャー状態データ(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)、ステンシル状態データ(stencil state data)又は色状態データ(color state data)を更に含んでも良い。前に説明されたように、ステート・データは、ステート情報と実際のデータの両方を含んでも良い。場合によっては、ステート・データは、1又は複数のOpenGLトークンに関連するデータを含んでも良い。
Various forms of state data may be included in the state /
様々な形のパフォーマンス・データはまた、ステート/パフォーマンス情報32内に含まれても良い。一般に、このパフォーマンス・データは、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数からのメトリック又はハードウェア・カウンタ・データを含んでも良い。パフォーマンス・データは、フレーム・レート又はサイクル・データを含んでも良い。サイクル・データは、プロファイリング、命令アレイ、頂点及びインデックス・データ、又は他のオペレーションのために使用されるサイクルに関するデータを含んでも良い。様々な態様において、様々な形のステート及びパフォーマンス・データが、グラフィックス・ドライバー18Aによりグラフィックス処理システム4から収集されるステート/パフォーマンス情報32内に含まれても良い。
Various forms of performance data may also be included in the state /
前に説明されたように、アプリケーション・コンピュータ・デバイス20は、受信されたグラフィックス命令30及びステート/パフォーマンス情報32に従って、グラフィックス・イメージの表現を表示しても良い。アプリケーション・コンピュータ・デバイス20はまた、ステート/パフォーマンス情報32のビジュアル表現を表示しても良い。再作成されたグラフィックス・イメージ及び/又はステート/パフォーマンス情報32のビジュアル表現の閲覧及びインタラクトによって、アプリケーション開発者は、グラフィックス命令30の実行の間、グラフィックス・デバイス2のグラフィックス処理システム4内のパフォーマンス・イッシューを速く識別及び解決することができ得る。例えば、アプリケーション開発者は、プロセッサ10,12,14及び/又は16のうちのいずれの特定の複数のプロセッサがパフォーマンス・イッシューを有する可能性があるかについて識別することができる場合がある。
As previously described,
さらに、グラフィックス・ドライバー18Aはまた、アプリケーション・コンピュータ・デバイス20にマッピング及び/又はパーティショニング情報33を提供する。図1を参照して前に説明されたように、パーティショニング・モジュール27は、シーンをグラフィカルに分割するために、シーン中でグラフィックス・イメージをオーバーレイする表示デバイス24上でのパーティションのグラフィカル表現を表示するために、受信されたマッピング/パーティショニング情報33を処理しても良い。パーティショニング・モジュール27はまた、データのいずれの部分が該パーティションのうちの複数のものに関連するかについて判定するために、グラフィックス・データ(それはステート/パフォーマンス情報32内に含まれても良い)を解析するために、マッピング/パーティショニング情報33を使用しても良い。マッピン/パーティショニング情報33は、グラフィックス・データ(それは1又は複数のグラフィックス・イメージを生成するために使用されても良い)をグラフィックス命令30中の識別された命令にマッピングするマッピング情報を含んでも良い。
In addition, the
任意の識別されたパフォーマンス・イッシューに対する回避方法(workaround)又は解決を識別する試行において、開発者は、アプリケーション・コンピュータ・デバイス20上で1又は複数の要求された修正34を開始しても良い。例えば、開発者は、要求された修正34を作成するために、再作成されたイメージ又はステート/パフォーマンス情報32の表現とインタラクトしても良い。場合によっては、開発者は、要求された修正34を生成するために、下でより詳しく説明されるように、ステート/パフォーマンス情報32を直接変更さえしても良い。特定のケースでは、要求された修正34は、グラフィックス・デバイス2のグラフィックス処理システム4におけるグラフィックス命令30のうちの1又は複数の実行を無効にする1又は複数のリクエスト、又は、1又は複数のグラフィックス命令30を修正するリクエストを含んでも良い。
In an attempt to identify a workaround or solution for any identified performance issue, the developer may initiate one or more requested modifications 34 on the
場合によっては、ユーザは、グラフィックス・シーンの修正された斜視図が表示されるよう要求するために、表示デバイス24上に表示されるナビゲーション・コントローラとインタラクトしても良い。ナビゲーション・モジュール29は、このナビゲーション・コントローラの表示及びこのナビゲーション・コントローラとのインタラクションを管理しても良い。ユーザ・インタフェースを介してユーザにより入力される任意のリクエストは、要求された修正34とともに含まれても良い。これらのリクエストは、例えば、シーン内で1又は複数のグラフィックス・イメージを回転させるリクエスト、ズームインするリクエスト、ズームアウトするリクエスト、又は、シーン内でイメージの斜視図を変更する他の同様のリクエストを含んでも良い。 In some cases, the user may interact with a navigation controller displayed on display device 24 to request that a modified perspective view of the graphics scene be displayed. The navigation module 29 may manage the display of the navigation controller and the interaction with the navigation controller. Any request entered by the user via the user interface may be included with the requested modification 34. These requests can be, for example, requests to rotate one or more graphics images in the scene, requests to zoom in, requests to zoom out, or other similar requests to change the perspective view of an image in the scene. May be included.
要求された修正34は、アプリケーション・コンピュータ・デバイス20からグラフィックス・ドライバー18Aへ送信される。グラフィックス・ドライバー18Aは、オペレーションの間、グラフィックス・デバイス2のためのリクエストを処理する。多くの場合に、要求された修正34は、ステート情報を修正するリクエストを含んでも良い。ステート情報は、グラフィックス命令30の実行の間のグラフィックス処理システム4中のプロセッサ10,12,14又は16のうちの1又は複数の中のデータを含んでも良い。グラフィックス・ドライバー18Aは、それから、要求された修正34内に含まれるグラフィックス処理システム4の変更を実行しても良い。これらの変更は、グラフィックス命令30の実行のために、プロセッサ10,12,14及び/又は16の間で、実行のフローを変えても良い。特定のケースでは、グラフィックス命令30のうちの1又は複数は、要求された修正34に従って、グラフィックス処理システム4における実行の間、無効にされても良い。
The requested modification 34 is transmitted from the
グラフィックス・ドライバー18Aは、要求された修正34の処理に応答して、更新された命令及び/又は情報35を、アプリケーション・コンピュータ・デバイス20に送信することができる。更新された命令/情報35は、パフォーマンス情報を含む、グラフィックス・ドライバー18Aによりグラフィックス処理システム4から収集される更新されたステート情報を含んでも良い。更新された命令/情報3は、更新されたグラフィックス命令及び/又はグラフィックス・データを含んでも良い。
アプリケーション・コンピュータ・デバイス20は、更新された命令/情報35のビジュアル表現だけでなく、グラフィックス・イメージの更新された表現を表示するために、更新された命令/情報35を使用しても良い。アプリケーション開発者は、それから、前に識別されたパフォーマンス・イッシューが解決又はさもなければ対処されたかどうかについて判断することができても良い。例えば、アプリケーション開発者は、特定のテクスチャー、ポリゴン若しくは他の特徴が最適化されたか又は他のパフォーマンス・パラメータが改善されたか判定するために、更新された命令/情報35のビジュアル表現だけでなく、更新されたイメージを解析することができても良い。
The
更新された命令/情報35はまた、更新されたマッピン及び/又はパーティショニング情報(例えば、命令/情報35内に同様に含まれる命令へのグラフィックス・データの更新されたマッピング)を含んでも良い。更新された命令/情報35の結果として、シーンの更新された斜視図が表示デバイス24に表示される場合には、パーティショニング・モジュール27は、修正された斜視図をオーバーレイし及び修正されたシーンをグラフィカルに分割するパーティションのグラフィカル表現を表示しても良い。パーティショニング・モジュール27はまた、グラフィックス・データのいずれの部分が該パーティションのうちの複数のものに関連するかについて判定するために、修正された斜視図(それはまた更新された命令/情報35内に含まれても良い)のためのグラフィックス・データを解析しても良い。パーティションは、グラフィックス・データに関して実行されるオペレーションのレンダリングに基づいて判定されても良い。 The updated instruction / information 35 may also include updated mapping and / or partitioning information (eg, an updated mapping of graphics data to instructions that are also included in the instruction / information 35). . If an updated perspective view of the scene is displayed on the display device 24 as a result of the updated instructions / information 35, the partitioning module 27 overlays the modified perspective view and the modified scene. You may display a graphical representation of a partition that divides the database graphically. Partitioning module 27 may also modify a modified perspective view (which may also include updated instructions / information 35) to determine which portions of graphics data are associated with more than one of the partitions. Graphics data may be analyzed). The partition may be determined based on a rendering of operations performed on the graphics data.
そのような方法において、アプリケーション開発者は、グラフィックス・デバイス2上のグラフィックス処理システム4のオペレーションをシミュレートするアプリケーション・コンピュータ・デバイス20上の環境内でグラフィックス命令30の実行を速く及び効果的にデバッグ又は解析することができても良い。開発者は、グラフィックス命令30の実行パフォーマンスを最大にするために、シーン又は複数のイメージ・フレームにおける複数のグラフィックス・イメージを解析するために、アプリケーション・コンピュータ・デバイス20上の表示されたイメージ及びステート/パフォーマンス情報と繰り返しインタラクトしても良い。アプリケーション・コンピュータ・デバイス20上のそのようなインタラクション及び表示される情報の例は、下で更に詳細に提示される。
In such a manner, the application developer can quickly and effectively execute the
図3は、一つの態様に従って、制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14及び表示プロセッサ16により実行され得るオペレーションの更なる詳細を示すフロー・ダイアグラムである。図3はまた、フレーム・バッファ・ストレージ100及びディスプレイ102に関するオペレーションを示す。一つの態様において、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び/又は表示プロセッサ16は、グラフィックス命令30のうちの1又は複数の実行の結果として、様々なオペレーションを実行する。
FIG. 3 is a flow diagram illustrating further details of operations that may be performed by the control processor 10,
前に説明されたように、制御プロセッサ10は、グラフィックス処理パイプラインを通してデータ又は命令実行のフローの1又は複数の態様を制御しても良く、さらに、ジオメトリ情報を頂点プロセッサ14に提供しても良い。図3に示されるように、制御プロセッサ10は、90においてジオメトリ・ストレージを実行しても良い。場合によっては、1又は複数のプリミティブのためのジオメトリ情報は、制御プロセッサ10によってバッファ15(図1)に記憶されても良い。場合によっては、ジオメトリ情報は、記憶媒体8に記憶されても良い。
As previously described, the control processor 10 may control one or more aspects of the flow of data or instruction execution through the graphics processing pipeline and further provide geometry information to the
頂点プロセッサ14は、それから、92において、制御プロセッサにより提供され及び/又は処理のためにバッファ15に記憶される所定のプリミティブのためのジオメトリ情報を取得しても良い。特定のケースでは、頂点プロセッサ14は、ジオメトリ情報の頂点変換を管理しても良い。特定のケースでは、頂点プロセッサ14は、ジオメトリ情報に関してライティング・オペレーション(lighting operations)を実行しても良い。
頂点プロセッサ14は、グラフィックス・プロセッサ12にその出力を提供しても良い。そして、グラフィックス・プロセッサ12は、94において、該データに関してレンダリング又はラスタライゼーション・オペレーションを実行しても良い。グラフィックス・プロセッサ12は、表示プロセッサ16にその出力を提供しても良い。そして、表示プロセッサ16は、表示のために、ピクセル・フォームで、1又は複数のグラフィックス・イメージを準備する。場合によっては、グラフィックス・プロセッサ12は、判定されたビニング・パーティションに基づいて、ジオメトリ(例えば1又は複数のポリゴン)のために、グラフィックス・データをスプリットしても良い。前に説明されたように、グラフィックス・デバイス2(例えばグラフィックス・プロセッサ12)内のプロセッサのうちの1又は複数は、特定の要因(例えばメモリ要求又は制限)に基づいて、ディスプレイ102の異なるスクリーン・エリアに関連する複数のビニング・パーティションを作成しても良い。特定のジオメトリ(例えば、三角形)が複数のパーティションにわたるならば、グラフィックス・プロセッサは、パーティション境界に沿ってジオメトリを複数のフラグメントにスプリットし、そして、独立して各フラグメントを生成しても良い。幾つかのケースにおいて、グラフィックス・プロセッサ12は、判定されたパーティションの数、タイプ、サイズ、形状などに基づいて、マッピング/パーティショニング情報33を、アプリケーション・コンピュータ・デバイス20に提供しても良い。
表示プロセッサ16は、98において、データの様々なフラグメントを処理するためのフラグメント処理を含む、ピクセル・データに関する様々なオペレーションを実行しても良い。特定のケースでは、これは、技術的に知られていているような、デプス・テスト、ステンシル・テスト、ブレンディング、又はテクスチャ・マッピングのうちの1又は複数を含んでも良い。グラフィックス・プロセッサ12が前に複数のジオメトリ・フラグメントをレンダリングしたならば、表示プロセッサ16のフラグメント処理98は、それから、フレーム・バッファに記憶するために、レンダリングされた複数のフラグメントを結合しても良い。テクスチャ・マッピングを実行するとき、表示プロセッサ16は、96において、テクスチャー・ストレージ及びフィルタリング情報を組み込んでも良い。場合によっては、グラフィックス・プロセッサ16は、ラスタライズされたデータに関する他のオペレーション(例えば、シェーディング又はスケーリング・オペレーション)を実行しても良い。
表示プロセッサ16は、100において、フレーム・バッファに記憶するために、出力ピクセル情報を提供する。場合によっては、フレーム・バッファは、バッファ15(図1)内に含まれても良い。他の場合において、フレーム・バッファは、記憶媒体8内に含まれても良い。フレーム・バッファは、イメージ・データの1又は複数のフレームを記憶する。そして、それは、102において、例えば表示デバイス6上などで、表示されることができる。
前に説明されたように、グラフィックス命令30は、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数によって実行されても良い。アプリケーション開発者は、一般的に、グラフィックス処理システム4内のいずれの特定のプロセッサがグラフィックス命令30のうちのいずれのグラフィックス命令を実行するかという多くの知識又は制御を有しなくても良い。特定のケースでは、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数は、グラフィックス命令30の実行の間、パフォーマンス・イッシューを有する可能性があり、あるいは、処理パイプライン中の潜在的なボトルネックとして機能する可能性がある。
As previously described,
アプリケーション開発者がボトルネックの位置又はそのようなボトルネックの影響を解決又は軽減する最も良い方法を正確に指摘することは、しばしば難しい場合がある。このように、一つの態様において、グラフィックス命令30及び/又はステート情報は、グラフィックス・デバイス2から外部コンピュータ・デバイス(例えばアプリケーション・コンピュータ・デバイス20)へ提供されても良い。ステート情報は、グラフィックス命令30の実行の間に起こる(例えば図3に示されるそれらのような)様々なオペレーションに関して、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数からのデータを含んでも良い。アプリケーション・コンピュータ・デバイス20は、効率的且つ効果的な方法でボトルネックの識別及び解決を支援するために、デバイス2上に示されるグラフィックス・イメージを作成しても良い。アプリケーション・コンピュータ・デバイス20はまた、パーティショニング情報を表示し、また、データのいずれの部分が該パーティションのうちの複数のものに関連するかについて判定するために、1又は複数のジオメトリに関するグラフィックス・データを解析しても良い。
It can often be difficult for an application developer to pinpoint the location of a bottleneck or the best way to resolve or mitigate the effects of such a bottleneck. Thus, in one aspect,
一つの態様に従って、図4は、本開示の一つの態様に従って、図2に示されるグラフィックス・ドライバー18Aの更なる詳細を示すブロック図である。前に説明されたように、グラフィックス・ドライバー18Aは、グラフィックス処理システム4内で(例えば、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数によって)実行されることができる命令を含んでも良く、また、グラフィックス・ドライバー18の一部であっても良い。グラフィックス・ドライバー18Aの実行は、グラフィックス処理システム4がアプリケーション・コンピュータ・デバイス20と通信するのを可能にする。一つの態様において、グラフィックス・ドライバー18Aは、グラフィックス処理システム54内で実行されることができる命令を含んでも良く、また、グラフィックス・ドライバー68の一部であっても良い。
In accordance with one aspect, FIG. 4 is a block diagram illustrating further details of the
グラフィックス・ドライバー18Aは、実行されるとき、様々な機能ブロックを含む。様々な機能ブロックは、転送インタフェース110、プロセッサ使用モジュール112、ハードウェア・カウンタ・モジュール114、他のステート及び/又はパフォーマンス・データを管理することができるステート/パフォーマンス・データ・モジュール116、APIトレース・モジュール118、及び、オーバーライド・モジュール(override module)120として図4に示される。グラフィックス・ドライバー18Aは、アプリケーション・コンピュータ・デバイス20と通信するために、転送インタフェース・モジュール110を使用する。
The
プロセッサ使用モジュール112は、制御プロセッサ10、頂点プロセッサ14、グラフィックス・プロセッサ12及び表示プロセッサ16のうちの1又は複数に関するプロセッサ使用情報を収集及び維持する。プロセッサ使用情報は、プロセッサ・サイクル及び/又はパフォーマンス情報を含んでも良い。サイクル・データは、プロファイリング、命令アレイ、頂点及びインデックス・データ又は、他のオペレーションのために使用されるクロックサイクルに関するデータを含んでも良い。プロセッサ使用モジュール112は、それから、転送インタフェース・モジュール110を介してそのようなプロセッサ使用情報をアプリケーション・コンピュータ・デバイス20に提供しても良い。場合によっては、プロセッサ使用モジュール112は、非同期の方法で、それがこの情報を受信しながら、該情報をデバイス20に提供する。他の場合において、プロセッサ使用モジュール112は、デバイス20からのリクエストの受信に応じて、情報を提供しても良い。
The processor usage module 112 collects and maintains processor usage information for one or more of the control processor 10,
ハードウェア・カウンタ・モジュール114は、制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14又は表示プロセッサ16のうちの1又は複数による命令の実行の間、様々なハードウェア・カウンタを収集及び維持する。カウンタは、グラフィックス処理システム4内での命令実行に関して様々なステート・インジケータ及び/又はメトリックの経過を追っても良い(keep track)。ハードウェア・カウンタ・モジュール114は、非同期で又はリクエストに応じて、情報をデバイス20に提供しても良い。
The hardware counter module 114 collects and maintains various hardware counters during execution of instructions by one or more of the control processor 10,
ステート/パフォーマンス・データ・モジュール116は、グラフィックス処理システム4における制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14及び表示プロセッサ16のうちの1又は複数に関する他のステート及び/又はパフォーマンス・データを収集及び維持する。例えば、ステート・データは、場合によっては、グラフィックス・データを含んでも良い。ステート・データは、頂点アレイ(例えば、位置、色、座標、サイズ又は重みデータ)に関係するデータを含んでも良い。ステート・データは、テクスチャー状態データ、点状態データ、線状態データ、ポリゴン状態データ、カリング状態データ、アルファ・テスト状態データ、ブレンド状態データ、デプス状態データ、ステンシル状態データ又は色状態データを更に含んでも良い。パフォーマンス・データは、様々な他のメトリック又はサイクル・データを含んでも良い。ステート/パフォーマンス・データ・モジュール116は、非同期で又はリクエストに応じて、情報をデバイス20に提供しても良い。
The state / performance data module 116 provides other state and / or performance data for one or more of the control processor 10,
マッピング/パーティショニング・モジュール117は、制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14及び表示プロセッサ16のうちの1又は複数からマッピング及び/又はパーティショニング情報33を収集し、また、グラフィックス・データ・マッピング情報23(図1)から情報を収集しても良い。マッピング情報は、グラフィックス・データの識別された部分(それは表示のためのグラフィックス・イメージを生成するためにレンダリングされる)を、グラフィックス命令30のうちの1又は複数にマッピングする情報を含んでも良い。このマッピング情報は、個々の命令を、出力イメージをレンダリングするために使用されたオリジナルのグラフィックス・データへマッピングするのに有効であり得る。パーティショニング情報は、レンダリングに先立って別々のグラフィックス・データを構成フラグメントにスプリットするときに、グラフィックス処理システム4内で作成及び使用されるパーティションの数、タイプ、サイズ、形状などを識別する情報を含んでも良い。マッピング/パーティショニング・モジュール117は、マッピング/パーティショニング情報33をアプリケーション・コンピュータ・デバイス20に提供しても良い。
The mapping /
APIトレース・モジュール118は、グラフィックス処理システム4により実行され、転送インタフェース・モジュール110を介してアプリケーション・コンピュータ・デバイス20へ転送されるグラフィックス命令のフロー及び/又はトレースを管理する。前に説明されたように、グラフィックス・デバイス2は、グラフィックス命令30のコピー(それはその処理パイプラインにおいてグラフィックス処理システム4により実行される)を、デバイス20に提供する。APIトレース・モジュール118は、これらのグラフィックス命令30の捕捉及び転送を管理する。APIトレース・モジュール118はまた、グラフィックス命令30を、グラフィックス命令30のビジュアル表現にマッピングする命令マッピング情報31(図1)で使用される特定の情報(例えばグラフィックス命令30を生成するのに使用された可能性のあるAPI命令)を提供しても良い。
The API trace module 118 manages the flow and / or trace of graphics instructions executed by the
オーバーライド・モジュール120は、グラフィックス・ドライバー18Aが、グラフィックス処理システム4内の特定の命令の実行を変更又はオーバーライドできるようにする。前に説明されたように、アプリケーション・コンピュータ・デバイス20は、1又は複数の要求された修正(例えば修正34)を、グラフィックス・デバイス2に送信しても良い。特定のケースでは、要求された修正34は、グラフィックス処理システム4におけるグラフィックス命令30のうちの1又は複数の実行を無効にする1又は複数のリクエスト、又は、グラフィックス命令30のうちの1又は複数を修正するリクエストを含んでも良い。場合によっては、要求された修正34は、ステート/パフォーマンス情報32を変更するリクエストを含んでも良い。
The
オーバーライド・モジュール120は、要求された修正34を受信又は処理しても良い。例えば、オーバーライド・モジュール120は、ステート/パフォーマンス情報32を修正する任意のリクエストとともに、グラフィックス命令30のうちの1又は複数を修正するリクエストを、デバイス20から受信しても良く、また、そのようなリクエストを、グラフィックス処理システム4に送信する。制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14及び表示プロセッサ16のうちの1又は複数は、それから、これらのリクエストを処理し、また、更新された命令/情報35を生成しても良い。オーバーライド・モジュール120は、それから、前に説明されたように、更新された命令/情報35を、処理のためにアプリケーション・コンピュータ・デバイス20に送信しても良い。
The
そのような方法において、グラフィックス・ドライバー18Aは、グラフィックス・デバイス2とアプリケーション・コンピュータ・デバイス20との間のインタフェースを提供する。グラフィックス・ドライバー18Aは、グラフィックス命令及びステート/パフォーマンス情報32をアプリケーション・コンピュータ・デバイス20に提供することができ、さらに、アプリケーション・コンピュータ・デバイス20から要求された修正34を受信することができる。そのような要求された修正34の処理の後に、グラフィックス・ドライバー18Aは、更新された命令/情報35を、アプリケーション・コンピュータ・デバイス20へ提供することができる。
In such a manner,
図5Aは、表示デバイス(例えば、図1中のグラフィックス・デバイス2の表示デバイス6又はアプリケーション・コンピュータ・デバイス20の表示デバイス24)により提供されるスクリーン・エリア130の4つのパーティションにわたり得るグラフィックス・データの第1の例を示す概念図である。図5Aに示されるデータは、場合によっては、表示デバイス6上に表示されても良い。一つの態様において、図5Aに示されるデータは、グラフィックス・デバイス2から受信されるステート/パフォーマンス情報32に、さらに、グラフィックス・デバイス2から受信されるマッピング/パーティショニング情報33に基づいて、アプリケーション・コンピュータ・デバイス20の表示デバイス24上にグラフィカルに表示される。ステート/パフォーマンス情報32は、ポリゴン(すなわち、ジオメトリ)140,142,144及び146のためのグラフィックス・データを含んでも良く、また、マッピング/パーティショニング情報33は、パーティション132,134,136及び138に関する情報を含んでも良い。例えば、アプリケーション・コンピュータ・デバイス20により受信されるマッピング/パーティショニング情報33は、グラフィックス・データのレンダリングのときにグラフィックス・デバイス2が4つの異なるパーティション(132,134,136及び138により表される)を使用することを指示しても良い。
FIG. 5A illustrates graphics that may span four partitions of a
図5Aの例において、4つのビニング・パーティション132,134,136及び138が実装される。これらのパーティションは、表示デバイス6又は表示デバイス24上に表示され得るスクリーン・エリア130内に4つの対応するエリアを表す。数字で分かるように、ポリゴン140及び142は、各々、完全に対応するパーティション内に位置する又は存在するように、アプリケーション命令21(図1)により定義される。ポリゴン140は、パーティション132内に位置し、ポリゴン142は、パーティション134内に位置する。グラフィックス・データのレンダリングのときに、グラフィックス・プロセッサ12は、例えば、別々に、そして、独立したレンダリング・オペレーションの間、パーティション132,134,136及び138の各々の中にデータをレンダリングしても良い。ポリゴン140は完全にパーティション132の中にあるので、それはパーティション132に関連するレンダリング・オペレーションの間の完全なジオメトリとしてレンダリングされても良い。同様に、ポリゴン142は完全にパーティション134の中にあるので、それはパーティション134に関連するレンダリング・オペレーションの間の完全なジオメトリとしてレンダリングされても良い。
In the example of FIG. 5A, four binning
他方、ポリゴン144及び146は、複数のパーティションにわたる。ポリゴン144は、全4つのパーティション132,134,136及び138にわたり、一方、ポリゴン146は、2つのパーティション136及び138にわたる。ポリゴン144をレンダリングするために、グラフィックス・プロセッサ12は、ポリゴン144を、4つの構成フラグメント144A,144B,144C及び144D(図5Bに示される)にスプリットしても良い。グラフィックス・プロセッサ12は、それから、独立したレンダリング・オペレーションの間に、フラグメント144A,144B,144C及び144Dを独立してレンダリングしても良い。例えば、パーティション132に関連するレンダリング・オペレーションの間に、グラフィックス・プロセッサ12がフラグメントに144Aをレンダリングしても良い;パーティション134に関連するレンダリング・オペレーションの間に、グラフィックス・プロセッサ12がフラグメント144Bをレンダリングしても良い;パーティション138に関連するレンダリング・オペレーションの間に、グラフィックス・プロセッサ12がフラグメントに144Cをレンダリングしても良い;そして、パーティション136に関連するレンダリング・オペレーションの間に、グラフィックス・プロセッサ12がフラグメントに144Dをレンダリングしても良い。
On the other hand,
これらのフラグメント144A,144B,144C及び144Dが独立してレンダリングされた後、表示プロセッサ16は、ポリゴン144の正確なグラフィカル表現を表示するために、これらのフラグメントの各々のためのレンダリングされたイメージを結合する必要があり得る。これらの独立したレンダリング及び結合オペレーションは、パフォーマンス・オーバーヘッドを引き起こす場合がある。
After these
同様に、ポリゴン146をレンダリングするために、グラフィックス・プロセッサ12は、ポリゴン146を2つの構成フラグメント146A及び146B(図5Bに示される)にスプリットしても良い。グラフィックス・プロセッサ12は、それから、独立したレンダリング・オペレーションの間に、フラグメント146A及び146Bを独立してレンダリングしても良い。例えば、パーティション138に関連するレンダリング・オペレーションの間に、グラフィックス・プロセッサ12がフラグメントに146Aをレンダリングしても良く、パーティション136に関連するレンダリング・オペレーションの間に、グラフィックス・プロセッサ12がフラグメント146Bをレンダリングしても良い。これらのフラグメント146A及び146Bが独立してレンダリングされた後、表示プロセッサ16は、ポリゴン146の正確なグラフィカル表現を表示するために、これらのフラグメントの各々のためのレンダリングされたイメージを結合しても良い。
Similarly, to render
図5A−5Bで示される情報は、場合によっては、アプリケーション・コンピュータ・デバイス20の表示デバイス24に表示されても良い。アプリケーション・コンピュータ・デバイス20は、表示デバイス24のスクリーン・エリア130内にポリゴン140,142,144及び146の表現(又はグラフィックス・イメージ)を表示するために、グラフィックス命令30及びステート/パフォーマンス情報32を使用しても良い。アプリケーション・コンピュータ・デバイス20はまた、グラフィックス・イメージをオーバーレイし、そして、これらのイメージのシーンをグラフィカルに分割するパーティション132,134,136及び138のグラフィカル表現を表示するために、マッピング/パーティショニング情報33を使用しても良い。アプリケーション・コンピュータ・デバイス20はまた、これらのポリゴンのうちのいずれがパーティション132,134,136及び/又は138のうちの複数のものにわたるかについて判定するために、ポリゴン140,142,144及び146のためのグラフィックス・データを解析しても良い。
The information shown in FIGS. 5A-5B may be displayed on the display device 24 of the
アプリケーション開発者がウインドウ130内に表示された情報を閲覧するとき、開発者は、いずれのポリゴンが(それらが複数のパーティションにわたるので)ハードウェアによりスプリットされるか、さらに、そのようなパーティションはどこに位置するかの考えを得ることができる。開発者は、シーンを定義するとき、グラフィックス・アプリケーション(例えばアプリケーション命令21(図1)を使用するアプリケーション)内の特定のグラフィックス・データの最適化された構成(configuration)又は位置(location)を判定するために、この情報を使用することができ得る。例えば、図5Aに示される情報の閲覧に応じて、開発者は、ポリゴン144及び146が複数のパーティションにわたらないように、ポリゴン144及び146を再編成(rearrange)又は再構成(reconfigure)すると判定しても良い。
When the application developer views the information displayed in the
開発者は、ウインドウ130内にグラフィックス・イメージをオーバーレイするパーティションの表現を提示されるので(これらのパーティションはグラフィックス・デバイス2により定義される)、開発者は、ポリゴン144及び146が複数のパーティションにわたらないように、あるいは、それらが最小の数のパーティションだけにわたるように、ポリゴン144及び146を定義、構成又は位置決め(locate)の方法をより良く理解し得る。場合によっては、開発者は、レンダリングの後で表示プロセッサ16によりポリゴンが結合される必要がないように、一つのポリゴンを複数のサブ・ポリゴンとして再定義すると判定しても良い。例えば、図5Bで示すように、開発者は、アプリケーション命令21の修正版において、ポリゴン146を2つの独立したポリゴン146A及び146Bとして再定義しても良い。これらのポリゴンが当初は別々に定義されるならば、これらのポリゴンのレンダリングされたバージョンは、それから、表示に先立って結合される必要はない可能性がある。そして、それは、パフォーマンス・オーバーヘッドを低減する可能性がある。
Since the developer is presented with a representation of the partitions overlaying the graphics image in the window 130 (these partitions are defined by the graphics device 2), the developer has a plurality of
図6は、表示デバイス(例えば、図1に示される(グラフィックス・デバイス2中の)表示デバイス6又は(アプリケーション・コンピュータ・デバイス20中の)表示デバイス24)により提供されるスクリーン・エリアの8つのパーティションにわたり得るグラフィックス・データの第2の例を示す概念図である。前に説明されたように、グラフィックス・デバイス2のグラフィックス処理システム4は、様々な異なる形状、サイズ及びタイプの表示デバイス6のスクリーン・エリアに関連するビニング・パーティションを作成又は使用しても良い。そして、それは、様々な要因(例えば、メモリサイズ要求又は制約のような)又は他のパフォーマンス考慮点に依存しても良い。図6の第2の例において、プロセッサ10,12,14又は16のうちの1又は複数は、(図5A及び5B中の例に示される4つのパーティションよりもむしろ)8つの独立したパーティションを作成及び使用すると判定しても良い。
FIG. 6 shows eight screen areas provided by a display device (eg, display device 6 (in graphics device 2) shown in FIG. 1 or display device 24 (in application computer device 20) shown in FIG. It is a conceptual diagram which shows the 2nd example of the graphics data which can be spread over two partitions. As previously described, the
スクリーン・エリア150内で、8つのパーティションは、パーティション152,154,156,158,160,162,164及び166である。これらのパーティションの各々は、形状が長方形である。説明の目的のために、スクリーン・エリア150が実質的にスクリーン・エリア130(図5A及び5B)と同じ面積のサイズであるならば、図6に示される各々のパーティションは、図5A及び5Bに示される各々のパーティションの2分の1のサイズである。
Within the
図6の例において、ポリゴン140,142,144及び146を作成及び/又はレンダリングするために、アプリケーション命令21が、再び、実行されても良い。図5A及び5Bにおいて、4つのパーティションだけが使用されたとき、ポリゴン140及び142は、複数のパーティションにわたらなかった。このように、グラフィックス・デバイス2が4つだけのビニング・パーティションを実装するならば、これらのポリゴンは複数のパーティションにわたらないので、アプリケーション命令21を含むグラフィックス・アプリケーションは、ポリゴン140及び142のレンダリングから引き起こされる更なるパフォーマンス・オーバーヘッドを経験しない可能性がある。しかし、図6に示されるように、グラフィックス・デバイス2が8つのビニング・パーティションを実装するならば、ポリゴン140及び142は各々2つの独立したパーティションにわたる(ポリゴン140はパーティション152及び154にわたり、一方、ポリゴン142はパーティション156及び58にわたる)。
In the example of FIG. 6, application instructions 21 may be executed again to create and / or render
一つの態様において、パーティション152,154,156,158,160,162,164及び166のグラフィカル表現は、表示デバイス24上でアプリケーション開発者に対して表示されても良い。グラフィックス・イメージをオーバーレイするそのようなパーティションの任意のグラフィカル表示(例えば、ポリゴン140,142,144及び146の表現)は、開発者にとって全く有用であり得る。しばしば、開発者は、任意の個々のデバイス(例えばグラフィックス・デバイス2)により作成及び使用されるパーティションの数、タイプ、形状、サイズなどについての情報又は考えをほとんど有しないであろう。シーン中のグラフィックス・イメージの上にオーバーレイされるそのようなパーティションのグラフィカル表現を閲覧することができることによって、開発者は、いずれのグラフィックス・イメージ又はプリミティブ・グラフィックス・データが、例えば、複数のパーティションにわたり得るかというより良い考えを得る可能性があり、したがって、特定のレンダリング・パフォーマンス・オーバーヘッドを有する可能性がある。その結果、開発者は、グラフィックス・アプリケーション(例えばアプリケーション命令21を含むもの)により生成及び操作されるグラフィックス・データを、再定義、再構成、リサイズ又はさもなければ変更することができ得る。
In one aspect, graphical representations of
図7は、一つの態様に従って、シミュレーション・アプリケーション28(図1)の実行を通してアプリケーション・コンピュータ・デバイス20により実行され得る方法のフローチャートである。アプリケーション・コンピュータ・デバイス20は、マッピング/パーティショニング情報33を、外部グラフィックス・デバイス(例えばグラフィックス・デバイス2)から受信しても良い(170)。アプリケーション・コンピュータ・デバイス20はまた、グラフィックス命令30をグラフィックス・デバイス2から受信しても良い(172)。グラフィックス命令30は、1又は複数のグラフィックス・イメージ(例えば3次元(3D)グラフィックス・イメージ)を表示デバイス6上に表示するために、グラフィックス・デバイス2によって実行される。一つの態様において、グラフィックス命令30は、実行されるときにグラフィックス・イメージをレンダリングするコール・ストリームを含む。一つの態様において、コール・ストリームは、アプリケーション・プログラミング・インタフェース(API)命令から生成されるバイナリ命令を含む。
FIG. 7 is a flowchart of a method that may be performed by the
アプリケーション・コンピュータ・デバイス20は、更に、ステート及び/又はパフォーマンス情報32を、グラフィックス・デバイス2から受信しても良い(174)。ステート/パフォーマンス情報32は、グラフィックス・デバイス2上でのグラフィックス命令30の実行に関連する。ステート/パフォーマンス情報32は、グラフィックス・デバイス2がグラフィックス・イメージをレンダリングするときの、グラフィックス・デバイス2の1又は複数のステートを指示するステート情報を含んでも良い。ステート情報は、グラフィックス命令30を実行するグラフィックス・デバイス2の1又は複数のプロセッサ(例えば制御プロセッサ10、グラフィックス・プロセッサ12、頂点プロセッサ14及び/又は表示プロセッサ16)からのステート情報を含んでも良い。場合によっては、ステート情報は、グラフィックス・データ(例えばグラフィックス・イメージ・データをレンダリングするためにグラフィックス・プロセッサ12により使用されるプリミティブ・ポリゴン・データ)を含んでも良い。
アプリケーション・コンピュータ・デバイス20は、グラフィカル・シーンにおいて、グラフィックス命令30及びステート/パフォーマンス情報32に基づいて、1又は複数のグラフィックス・イメージの表現を表示しても良い(176)。そのような方法において、アプリケーション・コンピュータ・デバイス20は、グラフィックス・デバイス2をシミュレートするシミュレーションされた環境内で、これらのグラフィックス・イメージの表現を表示することができる。シミュレーションされた環境は、アプリケーション・コンピュータ・デバイス20のプロセッサ22の上で、シミュレーション・アプリケーション28の実行を通して提供されても良い。
アプリケーション・コンピュータ・デバイス20は、グラフィックス・イメージをオーバーレイし、そして、シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示しても良い(178)。例えば、一つのシナリオにおいて、アプリケーション・コンピュータ・デバイス20は、図5A及び5Bに示されるパーティションのグラフィカル表現を表示しても良い。場合によっては、パーティションは、長方形の形のパーティションを含んでも良い。アプリケーション・コンピュータ・デバイス20は、受信されたマッピング/パーティショニング情報33に基づいて、パーティションのグラフィカル表現を表示しても良い。
The
さらに、アプリケーション・コンピュータ・デバイス20は、表示されたグラフィックス・イメージのためのグラフィックス・データを解析して、いずれの部分が複数のパーティションに関連するかについて判定しても良い(180)。例えば、アプリケーション・コンピュータ・デバイス20は、グラフィックス・プリミティブ(例えば、表示グラフィックス・イメージを生成又はレンダリングするために使用されるポリゴン・データ)を解析して、いずれのポリゴン(例えば、三角形)が複数のパーティションにわたるかについて判定しても良い。
Further,
処理すべきより多くのフレームがあるならば(182)、グラフィックス命令の受信(172)、ステート情報の受信(174)、グラフィックス・イメージの表現の表示(176)、パーティションの表示(178)、及び、グラフィックス・データの解析(180)が、1又は複数のグラフィックス・イメージの複数のイメージ・フレームについて繰り返されても良い。この方法において、アプリケーション・コンピュータ・デバイス20は、静止及び動画グラフィックス・イメージの両方(3Dイメージを含む)を表示デバイス24上に表示することができ、また、イメージをオーバーレイし、そして、シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示することができる。グラフィックス・イメージが変更し、あるいは、イメージの代わりの斜視図が示されるので、アプリケーション開発者は、パーティションのイメージ及び位置に関連するグラフィックス・データ間の関係を連続的に確認することができる。
If there are more frames to process (182), receive graphics command (172), receive state information (174), display graphics image representation (176), display partition (178). And the analysis of the graphics data (180) may be repeated for a plurality of image frames of one or more graphics images. In this manner, the
図8は、一つの態様に従って、シミュレーション・アプリケーション28(図1)の実行を通してアプリケーション・コンピュータ・デバイス20により実行され得る方法のフローチャートである。一つの態様において、プロセッサ22は、ナビゲーション・コントローラを表示デバイス24上に表示するために、シミュレーション・アプリケーション28を実行しても良い。
FIG. 8 is a flowchart of a method that may be performed by the
アプリケーション・コンピュータ・デバイス20は、マッピング/パーティショニング情報33を、外部グラフィックス・デバイス(例えばグラフィックス・デバイス2)から受信しても良い(190)。アプリケーション・コンピュータ・デバイス20はまた、1又は複数のグラフィックス・イメージの斜視図を、その表示デバイス24に表示しても良い(191)。例えば、アプリケーション・コンピュータ・デバイス20は、受信されたグラフィックス命令30及び/又はステート/パフォーマンス情報32に基づいて、グラフィックス・イメージの斜視図を表示しても良い。
アプリケーション・コンピュータ・デバイス20は、受信されたマッピング/パーティショニング情報33(192)に基づいて、グラフィックス・イメージをオーバーレイするパーティションのグラフィックス表現を表示デバイス24上に表示しても良い。アプリケーション・コンピュータ・デバイス20はまた、グラフィックス・データのいずれの部分が該パーティションのうちの複数のものに関連するかについて判定するために、グラフィックス・データ(例えばステート/パフォーマンス情報32内に含まれるグラフィックス・データ)のためのグラフィックス・イメージを解析しても良い。例えば、グラフィックス・データは、複数のグラフィックス・プリミティブ(例えば三角形)を含んでも良い。アプリケーション・コンピュータ・デバイス20は、三角形のうちのいずれが該パーティションのうちの複数のものにわたるかについて判定しても良い(193)。これらの三角形は、複数のパーティションにおいて少なくとも部分的にレンダリングされた三角形を含んでも良い。
The
一つの態様において、アプリケーション・コンピュータ・デバイス20は、パーティションのグラフィカル表現を表示すると共に、該パーティションのうちの複数のものにわたる三角形のグラフィカル表現を表示デバイス24上に表示する。場合によっては、アプリケーション・コンピュータ・デバイス20は、複数のパーティションにわたる各々の三角形について、グラフィカル・インジケーション(例えば色)を表示しても良い(194)。
In one embodiment,
例えば、アプリケーション・コンピュータ・デバイス20は、一つの態様において、三角形の“ヒートマップ(heat map)”表現を表示デバイス24上に表示しても良い。ここで、各々の三角形は、関連するグラフィカル・インジケータ(例えば色)を有する。色に加えて、他の形のグラフィカル・インジケータ(例えば、ダッシュ線、点滅インジケータ、ハイライト・インジケータ)が、三角形を互いから区別する特定のシナリオにおいて使用されても良い。複数のパーティションにわたらない三角形は、第1の色(例えば、青)で表示されても良い。複数のパーティション(例えば、2〜3のパーティション)にわたる三角形は、第2の色(例えば、紫)で表示されても良い。3を超えるパーティションにわたる三角形は、第3の色(例えば、赤)で顕著に表示されても良い。このように、この例では、アプリケーション開発者は、いずれの三角形が複数のパーティションにわたるか、及び、いずれの三角形が他よりも多くのパーティションにわたるかについて、速く判定することができる。開発者は、パフォーマンス(例えば、レンダリング)オーバーヘッドを低減するために、複数のパーティションにわたる三角形を再構成、再定義又はさもなければ再構築(restructure)構成する方法について判定するために、この情報を使用することができ得る。
For example, the
アプリケーション・コンピュータ・デバイス20は、表示デバイス24上に表示されるユーザ・インタフェース内にナビゲーション・コントローラを表示するために、ナビゲーション・モジュール29(図1)を使用しても良い。例えば、ナビゲーション・コントローラは、3Dカメラ・コントローラを含んでも良い。アプリケーション開発者は、表示デバイス24上に表示されるグラフィックス・イメージのシーンをナビゲートするために、ナビゲーション・コントローラとインタラクトしても良い。アプリケーション・コンピュータ・デバイス20は、イメージの斜視図を修正するために、ナビゲーション・コントローラを介して開発者からのユーザ入力を受信しても良い(195)。
The
アプリケーション・コンピュータ・デバイス20は、それから、ナビゲーション・コントローラに入力されるユーザに基づいて、修正されたグラフィックス・シーンにおけるグラフィックス・イメージの修正された斜視図を表示しても良い。例えば、開発者は、イメージのシーンを回転するために、シーンをズームイン又はズームアウトするために、又はさもなければ、シーンの斜視図を変更するために、ナビゲーション・コントローラとインタラクトしても良い。そして、それは、それから、新しいイメージを含む、修正されたシーン内のイメージの修正された斜視図を表示しても良い。ナビゲーション・コントローラに提供されるユーザ入力は、要求された修正34としてグラフィックス・デバイス2へ送信されても良く、そして、更新された斜視図の表示は、グラフィックス・デバイス2により元のアプリケーション・コンピュータ・デバイス20へ提供される更新された命令/情報35に基づいても良い。一つの態様において、要求された修正34は、グラフィックス・デバイス2上のグラフィックス命令30のうちの1又は複数の実行を無効にするリクエスト、グラフィックス・デバイス2上のグラフィックス命令30のうちの1又は複数を修正するリクエスト及びグラフィックス・デバイス2に関するステート/パフォーマンス情報32を修正するリクエストのうちの少なくとも一つを含んでも良い。
The
一つの態様において、アプリケーション・コンピュータ・デバイス20はまた、グラフィックス・イメージの修正された斜視図をオーバーレイし、そして、修正されたシーンをグラフィカルに分割したパーティションのグラフィカル表現を表示しても良い。アプリケーション・コンピュータ・デバイス20は、グラフィックス・データのいずれの部分が該パーティションのうちの複数のものに関連するかについて判定するために、グラフィックス・イメージの修正された斜視図のためのグラフィックス・データを解析しても良い。
In one embodiment, the
(1又は複数の)グラフィックス・イメージの斜視図を表示すること(191)、その(1又は複数の)グラフィックス・イメージをオーバーレイするパーティションを表示すること(192)、いずれの(1又は複数の)プリミティブ三角形が複数のパーティションにわたるかについて判定すること(193)、各々の判定された三角形についてグラフィカル・インジケーションを表示すること(194)及びシーンの斜視図を修正するためにナビゲーション・コントローラを介してユーザ入力を受信すること(195)は、シーンの複数の斜視図について繰り返されても良い(196)。グラフィックス・イメージが変更するので、あるいは、イメージの代わりの斜視図が表示されるので、アプリケーション開発者は、パーティションのイメージ及び位置に関連するグラフィックス・データ間の関係を連続的に確認することができる。 Displaying a perspective view of the graphics image (s) (191), displaying a partition over which the graphics image (s) is overlaid (192), any (one or more) Determining (193) whether a primitive triangle spans multiple partitions, displaying a graphical indication for each determined triangle (194), and modifying the navigation controller to modify the perspective view of the scene Receiving user input via (195) may be repeated for multiple perspective views of the scene (196). As the graphics image changes or a perspective view of the image is displayed, the application developer should continuously check the relationship between the graphics data related to the partition image and location. Can do.
図9は、一つの態様に従って、グラフィック・ウインドウ203中に情報を表示するための表示デバイス201に接続されるグラフィックス・デバイス200の例を示す概念図である。例えば、グラフィックス・デバイス200がグラフィックス・デバイス2(図1)の一部であるならば、表示デバイス201は、アプリケーション・コンピュータ・デバイス20のグラフィックス・デバイス24の一部であっても良い。グラフィックス・デバイス200は、3Dグラフィックス・イメージ202を表示することができる。表示デバイス201は、グラフィックス・デバイス200から送信されるグラフィックス命令及びステート/パフォーマンス情報に基づいて、ウインドウ203中に、3Dグラフィックス・イメージ210(それはグラフィックス・イメージ202の改造(re-creation)である)を表示することができる。開発者がグラフィックス・イメージ210又はグラフィックス・イメージ210を含む全体のシーンを修正するために、これらの命令及びステート/パフォーマンス情報を変更し得るように、表示デバイス201はまた、これらの命令及びステート/パフォーマンス情報のビジュアル表現を表示することができる。表示デバイス201は、グラフィックス・デバイス200に接続された任意のタイプのコンピュータ・デバイス(図示せず)中に含まれても良く、また、グラフィックス・デバイス200からそのような命令及びステート/パフォーマンス情報を受信することができる。(簡単にするために、表示デバイス201を含むコンピュータ・デバイスは、図10に示される概念図から省略された。)
前に説明されたように、グラフィックス・デバイス200は、3Dグラフィックス・イメージ202(それは図9の例における立方体である)の表示ができる。図9の例において、グラフィックス・デバイス200はまた、キーパッド204を有する。ユーザは、グラフィックス・デバイス200を操作するために、キーパッド204とインタラクトしても良い。キーパッド204は、幾つかのキー及び/又はボタンを含んでも良い。グラフィックス・デバイス200は、コネクタ206を介して、グラフィックス・デバイス201を含むデバイス(例えば、アプリケーション・コンピュータ・デバイス20)に、グラフィックス命令及びステート/パフォーマンス情報を送信することができる。一つの態様において、コネクタ206は、ユニバーサルシステムバス(USB)コネクタを含む。他の態様において、異なる形のコネクタが、使用されても良い。幾つかの態様において、無線通信がコネクタ206を置き換えても良い。
FIG. 9 is a conceptual diagram illustrating an example of a
As previously described,
図9の例において示されるように、表示デバイス201は、グラフィカル・ユーザ・インタフェース内に様々なタイプの情報を表示しても良い。この例では、表示デバイス201は、グラフィカル・ユーザ・インタフェース内にグラフィカル・ウインドウ203を表示する。ウインドウ203は、表示エリア211、グラフィックス命令エリア208及びステート/パフォーマンス情報エリア214を含む。表示エリア211は、3Dグラフィックス・イメージ210を含む。そして、それは、前に説明されたように、3Dグラフィックス・イメージ202の改造(re-creation)である。この例において、3Dグラフィックス・イメージは、立方体を含む。一つの態様に従って、表示デバイス201に表示される情報は、デバッギング及びテストの目的のために、グラフィックス・デバイス202上に表示される情報の表現又はシミュレーションを含む。
As shown in the example of FIG. 9,
グラフィックス命令エリア208は、グラフィックス・デバイス200から受信された1又は複数のグラフィックス命令のビジュアル表現を含む。前に説明されたように、そのような命令のビジュアル表現は、そのような命令の表現を含んでも良い。例えば、グラフィックス・デバイス200がバイナリのグラフィックス命令を送信するならば、表示デバイス201は、他の形(例えば、よりハイレベルなアプリケーション・プログラミング・インタフェース(API)命令(例えば、OpenGL命令))で、そのようなバイナリ命令の表現を表示しても良い。マッピング情報(例えば、図1に示されるマッピング情報31)は、受信されたバイナリ命令を、グラフィックス命令エリア208NAIに表示され得る他のフォーマットにマッピングするために、使用されても良い。
Graphics instruction area 208 includes a visual representation of one or more graphics instructions received from
ステート/パフォーマンス情報エリア214は、グラフィックス・デバイス200から受信されたステート及び/又はパフォーマンス情報のビジュアル表現を含む。受信されたグラフィックス命令及びステート/パフォーマンス情報は、表示エリア内に3Dグラフィックス・イメージ210を表示するために使用されても良い。一つの態様において、グラフィックス・デバイス200は、様々なステート及び/又はパフォーマンス・データを提供するために、ステート/パフォーマンス・データ・モジュール(例えば、図4に示されるステート/パフォーマンス・データ・モジュール116)を実装するグラフィックス・ドライバーを利用しても良い。受信されたステート/パフォーマンス情報は、グラフィックス・データ(例えば、プリミティブ・データ及び/又はラスタライズされたデータ)を含んでも良い。
State /
ウインドウ203又は、1又は複数のセレクター212A〜212Nを含む。ユーザは、これらのセレクター212A〜212Nの任意のものを選択しても良い。各々のセレクター212A〜212Nは、下で更に詳細に説明されるように、異なる機能(例えば統計及びナビゲーション機能)に関連し得る。ウインドウ203は、セレクター216A〜216N及び218A〜218Nを更に含む。そして、それぞれは、ユーザにより選択されても良い。各々のセレクター216A〜216N及び218A〜218Nはまた、図10を参照して下で更に詳細に説明されるように、異なる機能(例えば、メトリック機能、、オーバーライド機能及び/又はテクスチャー機能)に関連し得る。
The
ユーザ(例えばアプリケーション開発者)は、ウインドウ203内に表示される情報を変更しても良い。例えば、ユーザは、グラフィックス命令エリア208内に表示される命令のうちの1又は複数、又は、ステート/パフォーマンス情報エリア214内のステート/パフォーマンス情報の任意のものを修正しても良い。
A user (for example, an application developer) may change information displayed in the
ウインドウ203内でユーザにより開始される任意の変更は、それから、要求された修正としてグラフィックス・デバイス200へ送信されても良い。グラフィックス・デバイス200は、それから、これらの修正を処理しても良く、また、それからグラフィックス命令エリア208及び/又はステート/パフォーマンス情報エリア214内に表示され得る更新された命令及び/又は情報を提供しても良い。更新された命令及び/又は情報はまた、表示エリア211内に3Dグラフィックス・イメージ210の修正版を表示するために使用されても良い。
Any changes initiated by the user within the
一つの態様において、エリア214内に表示され得るステート及び/又はパフォーマンス情報は、グラフィックス・デバイス200上でのグラフィックス命令の実行の間、潜在的なボトルネックを識別するために、表示デバイス201(例えば、図1に示されるアプリケーション・コンピュータ・デバイス20)を含むコンピュータ・デバイスにより解析されても良い。最終的に、ユーザ(例えばアプリケーション開発者)は、グラフィックス・デバイス200上でのグラフィックス命令の実行を最適化するために、デバッギング・プロセスの間に、ウインドウ203中に提示される情報の閲覧を望む場合がある。前に説明されたように、ボトルネックは、グラフィックス・デバイス200中のグラフィックス処理パイプライン内のどこにでも、もたらされる可能性があり、アプリケーション開発者がパフォーマンス最適化のためにそのようなボトルネックを分離することは難しい場合がある。ステート及び/又はパフォーマンス情報の解析を通して、潜在的なボトルネック及び考えられる回避方法は、ウインドウ203中に、例えば1又は複数のサブウインドウ又はポップアップウインドウ内に、又は、ウインドウ203のエリア214内に、表示されることができる。
In one aspect, state and / or performance information that may be displayed in
一つの態様において、ウインドウ203は、グラフィックス・デバイス200から受信されるグラフィックス命令のコール・ストリームにおいて発生されるボトルネックに関するレポートを表示しても良く、さらに、考えられる回避方法を表示しても良い。場合によっては、これらの考えられる回避方法は、“仮定の(what-if)”シナリオとしてユーザへ提示されても良い。例えば、コール・ストリームにおける最適化されていない三角形のリストのレンダリングが、第1の可能性があるシナリオとして提示されても良く、一方、三角形−細片の最適化フレームワーク(triangle-strip optimization framework)を通してリストアップする前処理が、第2の可能性があるシナリオとして提示されても良い。ユーザは、これらの可能性がある回避方法シナリオの任意のものを要求された修正として選択しても良く、そして、要求された修正は、それから、グラフィックス・デバイス200へ送信される(そこでパフォーマンスが測定されても良い)。グラフィックス・デバイス200は、それから、更新された命令/情報を送信する。そして、それは、グラフィックス命令エリア208及び/又はステート/パフォーマンス情報エリア214内に提示されても良い。ユーザは、それから、その結果を閲覧することができ、そして、最適の解決を識別するために、様々な異なる潜在的な回避方法に関する結果を比較することができる。ユーザは、それらのアプリケーションからボトルネックを取り除くために、取ることができる一連のステップを速く識別するために、このプロセスを使用することができる。
In one aspect, the
ユーザは、実験又は試行/エラー・デバッギングの目的のために、ウインドウ203内での調整を行うことを繰り返し継続しても良い。ユーザは、表示エリア211内に表示されるイメージ又はシーンの変化を識別するために、グラフィックス命令及びステート/パフォーマンス情報の様々な異なる形又は組み合せで実験しても良い。ユーザは、グラフィックス・デバイス200上でソース・コードの再コンパイル及びコンパイルされたコードの再実行の必要なしに、グラフィックス命令(それはコール・ストリームの一部であっても良い)及びグラフィックス・デバイス200により提供されるステートをインタラクティブに閲覧及び修正するために、ウインドウ203の内容により提供されるシミュレーション環境を使用することができる。
The user may continue to make adjustments in the
場合によっては、ユーザは、グラフィックス・イメージ210の斜視図を修正するために、グラフィカル・ナビゲーション・コントローラ(例えば、グラフィカル・カメラ)を操作するために、ボタン212A〜212Nのうちの1又は複数を操作しても良い。そのような操作は、それから元のグラフィックス・デバイス200へ送信される要求された修正として捕捉されても良い。グラフィックス・デバイス200により提供される更新された命令/情報は、それから、グラフィックス・イメージ210の斜視図を修正するために使用される。
In some cases, the user presses one or more of
場合によっては、様々なテクスチャー及び/又はステート情報は、修正可能な実体としてウインドウ203のエリア214中に提供されても良い。さらに、グラフィックス命令エリア208内の1又は複数の対応する命令が識別されるように、ユーザは、例えば、表示エリア211内のグラフィックス・イメージ210のピクセルの選択さえ行っても良い。この方法において、ユーザは、そのピクセル又はグラフィックス・イメージ210の他の部分をレンダリングするために使用されたレンダリング命令又はコールに後退して効果的にドリル(drill)することができる。正確にそれがグラフィックス・デバイス200上で提示されているときに、グラフィックス・デバイス201がウインドウ203中でイメージ210を再作成する可能性があるので、ユーザは、それらのアプリケーション(それはグラフィックス命令エリア208中に表示される様々なグラフィックス命令に基づいても良い)におけるイッシューを速く分離させ、新たな影響をプロトタイピングするために、ステート/パフォーマンス・エリア214内の任意のステートを修正することができる。
In some cases, various texture and / or state information may be provided in
一つの態様において、表示デバイス201はまた、複数のパーティションにわたり得るポリゴン・データだけでなく、パーティショニング情報を表示することができる。例えば、アプリケーション開発者は、表示デバイス201に、イメージ210をオーバーレイさせ、そして、表示エリア211中のシーンをグラフィカルに分割するパーティション(例えば、長方形の形のパーティション)のグラフィカル表現を表示させるために、ボタン(例えば、ボタン212A〜212Nのうちの1つ)を選択しても良い。場合によっては、デバイス200がグラフィックス・デバイス2の一部であるとき、表示されたパーティションは、受信されたマッピング/パーティショニング情報33(図1)に基づいても良い。表示デバイス201を含むデバイスはまた、グラフィックス・データのいずれの部分が該パーティションのうちの複数のものに関連するかについて判定するために、グラフィックス・イメージ210のためのグラフィックス・データ(例えば、ポリゴン・データ)を解析しても良い。例えば、複数のポリゴンがグラフィックス・イメージ210をレンダリングするために使用されるならば、デバイスは、これらのポリゴンのいずれが複数のパーティションにわたるかについて判定するためにポリゴンを解析しても良い。
In one aspect, the
図10は、一つの態様に従って、グラフィカル・ウインドウ220中に情報を表示する表示デバイス201に接続されるグラフィックス・デバイス200の他の例を示す概念図である。この態様において、ウインドウ220は、メトリック情報だけでなく、様々な命令情報を含む。
FIG. 10 is a conceptual diagram illustrating another example of a
例えば、グラフィックス命令エリア208内に、様々なグラフィックス命令242が示される。グラフィックス命令242は、グラフィックス・デバイス200により提供されるグラフィックス命令のサブセットであっても良い。例えば、グラフィックス・デバイス200がグラフィックス・デバイス2の一部であるならば、グラフィックス命令242はグラフィックス命令30のサブセットであっても良い。場合によっては、マッピング情報(例えば、図1に示されるマッピング情報31)は、グラフィックス・デバイス200から受信される到来命令(incoming instructions)を、グラフィックス命令エリア208内に表示される命令242として実体化される、これらの命令のビジュアル表現にマッピングするために使用されても良い。例えば、受信された命令がバイナリ形式であるならば、命令242はバイナリ形式の命令を生成するために使用されたAPI命令を含んでも良い。
For example,
図10の例に示されるように、グラフィックス命令242は、ハイレベル命令及びローレベル命令の両方を含む。ユーザ(例えばアプリケーション開発者)は、命令242のフルセットを閲覧するために、スクロールバー244を使用しても良い。特定のハイレベル命令は、1又は複数のローレベル命令(例えば、より低いレベルのAPI命令)を含んでも良い。アプリケーション開発者は、場合によっては、関連するハイレベル命令の一部である又は関連するハイレベル命令により実行される、任意のローレベル命令を閲覧するために、特定のハイレベル命令の上で(例えば、クリックすることなどによって)選択しても良い。前に説明されたように、受信されたグラフィックス命令(例えば命令242)は、グラフィックス・イメージ202の表現を生成するために使用される。そして、それは、ウインドウ220の表示エリア211中に示されるグラフィックス・イメージ210を含む。
As shown in the example of FIG. 10,
様々な選択ボタンは、図10中のステート/パフォーマンス情報エリア214の下に示される。これらの選択ボタンは、テクスチャー・ボタン236、オーバーライド・ボタン238及びメトリック・ボタン240を含む。図10の例において、アプリケーション開発者は、メトリック・ボタン240を選択した。このボタンの選択に応じて、様々なメトリック・オプションが示されても良い。例えば、1又は複数のメトリック・ボタン234A〜234Nが、ステート/パフォーマンス・エリア214より上に示されても良い。各々のメトリック・ボタン234A〜234Nは、特定のメトリックに関連しても良い。場合によっては、これらのメトリックのうちの1又は複数は予め定義又は予め構成されたメトリック・タイプであっても良く、また、場合によっては、アプリケーション開発者が、メトリックのうちの1又は複数を選択又はカスタマイズしても良い。例示的なメトリックは、例えば、以下のうちの任意の1又は複数を含んでも良い:フレーム毎秒、%ビジー(1又は複数のプロセッサについて)、バス・ビジー、メモリ・ビジー、頂点ビジー、頂点毎秒、三角形毎秒、ピクセル・クロック毎秒、フラグメント毎秒、その他。アプリケーション開発者は、選択されたメトリックに関して更なる詳細を閲覧するために、メトリック・ボタン234A〜234Nのうちの任意のものを選択しても良い。
Various selection buttons are shown below the state /
例えば、メトリック・ボタン234Aがフレーム毎秒の数に関連するならば、アプリケーション開発者は、グラフィックス・イメージ210について(パフォーマンスに関係する)フレーム毎秒の数に関する更なる詳細を閲覧するために、メトリック・ボタン234Aを選択しても良く、又は、グラフィックス・イメージ210の部分を選択しても良い。開発者は、場合によっては、メトリック・ボタン234Aを選択しても良く、または、メトリック・ボタン234Aをステート/パフォーマンス情報エリア214にドラッグしても良い。フレーム毎秒の数に関する詳細な情報は、ステート/パフォーマンス情報エリア214内に表示されても良い。開発者はまた、メトリック・ボタン234Aを表示エリア211にドラッグしても良く、又は、メトリック・ボタン234Aのアプリケーションのためのグラフィックス・イメージ210の部分を選択しても良い。例えば、開発者は、メトリック・ボタン234Aの選択の後にグラフィックス・イメージ210の部分を選択しても良く、そして、その選択された部分に対するフレーム毎秒の数に関する詳細な情報が、ステート/パフォーマンス情報エリア214内に表示されても良い。そのような方法において、開発者は、メトリック・ボタン234A〜234Nのうちの1又は複数の選択に基づいて、そして、グラフィックス・イメージ210(又はその部分)の可能性がある選択にさえ基づいて、任意の数の異なるメトリック・タイプのためのパフォーマンス・データを閲覧しても良い。
For example, if the metric button 234A is related to the number of frames per second, the application developer can view the
一つの態様において、ウインドウ220内に表示され得るメトリック・データは、グラフィックス・デバイス200のグラフィックス・ドライバー(例えば、図4に示されるグラフィックス・ドライバー18)により提供されても良い。このグラフィックス・ドライバーは、それからウインドウ220内にメトリック・データとして表示され得る様々なデータを提供するために、ハードウェア・カウンタ・モジュール(例えば、図4のハードウェア・カウンタ・モジュール114)及び/又はプロセッサ使用モジュール(例えば、図4のプロセッサ使用モジュール112)を実装しても良い。
In one aspect, the metric data that may be displayed in the
開発者はまた、場合によっては、テクスチャー・ボタン236を選択しても良い。選択に応じて、グラフィックス・イメージ210に関係する様々な形のテクスチャー情報が、グラフィックス・デバイス201により表示されても良い。例えば、テクスチャー情報は、ウインドウ220内に(例えばステート/パフォーマンス情報エリア214内などに)表示されても良い。場合によっては、テクスチャー情報は、更なる(例えば、ポップアップ)ウインドウ(図示せず)内に表示されても良い。開発者は、表示されたテクスチャー情報を閲覧しても良いが、また、場合によっては、テクスチャー情報を修正しても良い。これらの場合、テクスチャー情報に対する任意の修正が、要求された修正として、グラフィックス・デバイス200へ伝播されても良い。グラフィックス・デバイス200からの更新された命令/情報の受信に応じて、グラフィックス・イメージ210に対する変更が、表示エリア211内に表示されても良い。図11は、テクスチャー・ボタン236の選択に応じて表示され得る特定のテクスチャー情報を含む。
The developer may also select the texture button 236 in some cases. Depending on the selection, various forms of texture information related to the
開発者はまた、場合によっては、オーバーライド・ボタン238を選択しても良い。オーバーライド・ボタン238の選択の後、特定の情報(命令及び/又はステート)が、(例えば、ウインドウ220又は他のウインドウ内に)表示されても良い。そして、それは、開発者によって、修正又はオーバーライドされても良い。任意の修正又はオーバーライドは、グラフィックス・デバイス200に送信される1又は複数の要求された修正の中に含まれても良い。一つの態様において、グラフィックス・デバイス200は、任意の要求された修正を処理するために、グラフィックス・ドライバー(例えばグラフィックス・ドライバー18A(図4))を実装しても良い。例えば、グラフィックス・デバイス200は、1又は複数のオーバーライドを含むそのような要求された修正を処理するために、オーバーライド・モジュール120を使用しても良い。
The developer may also select an override button 238 in some cases. After selection of the override button 238, specific information (command and / or state) may be displayed (eg, in
場合によっては、開発者は、グラフィックス命令エリア208内に示されるグラフィックス命令242上の1又は複数をオーバーライドしても良い。これらの場合、開発者は、グラフィックス命令242のうちの1又は複数を修正又はオーバーライドするために、グラフィックス命令エリア208内に情報をタイプ又は入力しても良い。これらの修正は、それから、グラフィックス・デバイス200に送信されても良い。そして、それは、表示エリア211内のグラフィックス・イメージ210の表示を更新するために、更新された命令/情報を提供するであろう。開発者は、命令242により提供される1又は複数の機能をオーバーライドするために、例えば、グラフィックス命令242のパラメータ、順序付け、タイプなどを変更しても良い。一つの態様において、マッピング情報31(図1)は、それから、グラフィックス命令242に対する変更を、グラフィックス・デバイス200に提供され得る他のフォーマット(例えば、バイナリ命令)の対応する命令に、マッピング又は変換するために使用されても良い。
In some cases, the developer may override one or more of the
場合によっては、開発者はまた、グラフィックス・デバイス200により実装される処理パイプラインに関連する1又は複数の機能をオーバーライドするオーバーライド・ボタン238を選択しても良い。図12は、オーバーライド・ボタン238の選択に応じて、開発者に対して表示され得るオーバーライド・スクリーンの例を表す。
In some cases, the developer may also select an override button 238 that overrides one or more functions associated with the processing pipeline implemented by the
ウインドウ220は、選択ボタン231及び232を更に含む。選択ボタン231は、パーティション・ボタンであり、選択ボタン232は、ナビゲーション・ボタンである。開発者は、グラフィックス・イメージ210をオーバーレイし、そして、表示エリア211中に表示されるシーンをグラフィカルに分割するパーティション(例えば長方形の形のパーティション)のグラフィカル表現を閲覧するためのパーティション・ボタン231を選択しても良い。パーティション・ボタン231のユーザ選択に応じて、グラフィカル・パーティションが、表示エリア211中に表示されても良い。
表示エリア211、又は独立した表示エリア又はウインドウはまた、データのいずれの部分が複数のパーティションに関連するかについて判定するグラフィックス・イメージ210のためのグラフィックス・データの解析に基づいて、情報を表示しても良い。例えば、表示エリア211、又は独立した表示エリア又はウインドウは、パーティションのグラフィカル表現とともに、いずれのポリゴン(それはグラフィックス・イメージ210をレンダリングするために使用される)が複数のパーティションにわたるかについて、表示しても良い。場合によっては、グラフィカル・インジケーション(例えば色)が、複数のパーティションにわたるポリゴン(例えば、三角形)ごとに表示されても良い。
例えば、一つの態様において、“ヒートマップ(heat map)”が表示されても良い。ここで、各々の三角形は特定の色で表示される。複数のパーティションにわたらない三角形は、第1の色(例えば、青)で表示されても良い。複数のパーティション(例えば、2〜3のパーティション)にわたる三角形は、第2の色(例えば、紫)で表示されても良い。3を超えるパーティションにわたる三角形は、第3の色(例えば、赤)で顕著に表示されても良い。このように、この例では、アプリケーション開発者は、いずれの三角形が複数のパーティションにわたるか、及び、いずれの三角形が他より多くのパーティションにわたるかについて、速く判定することができる。開発者は、グラフィックス・イメージ210を生成するときのパフォーマンス(例えば、レンダリング)オーバーヘッドを低減するために、複数のパーティションにわたる三角形を再構成、再定義又はさもなければ再構成する方法について判定するために、この情報を使用することができ得る。
For example, in one embodiment, a “heat map” may be displayed. Here, each triangle is displayed in a specific color. Triangles that do not span multiple partitions may be displayed in a first color (eg, blue). Triangles that span multiple partitions (eg, 2-3 partitions) may be displayed in a second color (eg, purple). Triangles that span more than three partitions may be displayed prominently in a third color (eg, red). Thus, in this example, the application developer can quickly determine which triangles span multiple partitions and which triangles span more partitions than others. To determine how to reconstruct, redefine, or otherwise reconstruct triangles across multiple partitions to reduce performance (eg, rendering) overhead when generating
開発者はまた、表示エリア211内でナビゲートするために、そして、表示エリア211内のグラフィックス・イメージ210の斜視図の変更さえ可能にする、ナビゲーション・ボタン232を選択しても良い。例えば、ナビゲーション・ボタン232の選択に応じて、3Dグラフィカル・カメラ又はナビゲーション・コントローラが、表示されても良い。開発者は、表示エリア211内の任意のエリアに対してナビゲートするために、コントローラとインタラクトしても良い。開発者はまた、グラフィックス・イメージ210の斜視図を(例えばグラフィックス・イメージ210の回転又はズームイン/ズームアウトなどによって)変更するために、コントローラを使用しても良い。
The developer may also select a navigation button 232 to navigate within the
一つの態様において、ナビゲーション・ボタン232の選択を通した任意の開発者起動(developer-initiated)の変更及びグラフィカル・ナビゲーション・コントローラに対するインタラクションは、要求された修正(例えば、図1に示される要求された修正84の一部)として、グラフィックス・デバイス200へ伝播されても良い。それからグラフィックス・デバイス200により提供される更新された命令/情報は、それから、グラフィックス・イメージ210の表示(例えば、斜視図)を更新するために使用されても良い。さらに、更新された命令は、グラフィックス命令エリア208内に表示されても良い。更新されたステート/パフォーマンス情報は、ステート/パフォーマンス情報エリア214内に表示されても良い。
In one aspect, any developer-initiated change through the selection of the navigation button 232 and interaction with the graphical navigation controller may be requested modification (eg, as shown in FIG. 1). As part of the modification 84) may be propagated to the
一つの態様において、グラフィカル・パーティションが、グラフィックス・イメージ210の修正された斜視図の上に表示又はオーバーレイされても良い。さらに、グラフィックス・イメージ210の修正された斜視図のための更新された命令/情報の中に含まれるグラフィックス・データは、データのいずれの部分が複数のパーティションに関連するかについて判定するために解析されても良い。
In one aspect, the graphical partition may be displayed or overlaid on the modified perspective view of the
その結果、開発者は、グラフィックス・イメージ210をレンダリング又は表示するための代わりの展望、方針、ビュー、その他が、グラフィックス・デバイス200のパフォーマンス及びステートにどのように影響を及ぼし得るかについて効果的且つ効率的に判定し得る。これは、表示デバイス201上に表示されたシミュレーション環境においてグラフィックス・イメージ210及び効果的にグラフィックス・デバイス200上に表示されるグラフィックス・イメージ202を作成及びレンダリングするために使用されるグラフィックス命令242を最適化する際に、開発者にとって非常に有用であり得る。一つの態様において、ウインドウ220内の開発者起動の選択及び制御に基づくグラフィックス・イメージ210の位置、奥行き、方向、その他の任意の変更はまた、テスティング・プロセスの間にグラフィックス・デバイス200に表示され得るグラフィックス・イメージ202のための変更とみなされても良い。
As a result, the developer has an effect on how alternative perspectives, policies, views, etc. for rendering or displaying the
グラフィカル・ユーザ・インタフェース内のグラフィカル・ウインドウ220とのインタラクションを通して、アプリケーション開発者は、グラフィックス命令242の実行の間、パフォーマンス・イッシュー及び/又はボトルネックを識別しようとすることができる。そして、それは、グラフィックス・イメージ202を作成するために、グラフィックス・デバイス200により実行されるグラフィックス命令のビジュアル表現である。グラフィックス・イメージ202(すなわち、グラフィックス・イメージ210)の表現は、グラフィックス・デバイス200により受信されるグラフィックス命令242及びステート/パフォーマンス・データに基づいて、表示エリア211内に表示される。グラフィックス命令242、グラフィックス・イメージ210及びステート/パフォーマンス情報と、これらのうちの1又は複数に対するユーザ起動(user-initiated)の修正に基づく影響とを閲覧することによって、アプリケーション開発者は、グラフィックス・デバイス200上での命令の実行を最適化するための、そして、命令実行の間の任意のパフォーマンス・イッシュー(例えば、ボトルネック)を除去又は軽減するためのプロセスを、試行錯誤又はデバッギングすることに、インタラクティブに動的に従事することができる。
Through interaction with the
さらに、幾つかの異なるグラフィカル・パーティションを含むグラフィカル・シーンの視覚の表現は、開発者が、スクリーン・パーティションに関連し得るコストに起因する低下したパフォーマンスを示すグラフィカル・シーンの部分を識別することができるようにしても良い。開発者は、これらのコスト及び/又は関係するパフォーマンス・オーバーヘッドを低減するのは支援するために、シーンの代わりのコンポジションを調査するために、パーティション及び関連する解析情報をレビューしても良い。 In addition, a visual representation of a graphical scene that includes several different graphical partitions allows developers to identify portions of the graphical scene that exhibit degraded performance due to the costs that can be associated with screen partitions. You may be able to do it. Developers may review partitions and associated analysis information to investigate alternative compositions of the scene to help reduce these costs and / or related performance overhead.
この開示において説明される技術は、汎用マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向けIC(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は他の均等な論理デバイスの中に実装されても良い。したがって、本明細書で使用される用語“プロセッサ(processor)”又は“コントローラ(controller)”は、本明細書で説明される技術の実装に適した前述の構造のうちの任意のもの又は他の任意の構造を指し示しても良い。 The techniques described in this disclosure are implemented in a general purpose microprocessor, digital signal processor (DSP), application specific IC (ASIC), field programmable gate array (FPGA), or other equivalent logic device. May be. Accordingly, as used herein, the term “processor” or “controller” refers to any of the previously described structures suitable for implementation of the technology described herein, or other Any structure may be indicated.
本明細書で説明される様々なコンポーネントは、ハードウェア、ソフトウェア、ファームウェアの適切な組み合わせ、又はそれらの任意の組み合わせにより実現されても良い。図において、様々なコンポーネントは、独立したユニット又はモジュールとして示される。しかし、これらの図を参照して説明される様々なコンポーネントの全て又は幾つかは、共通のハードウェア及び/又はソフトウェア内の複合のユニット又はモジュールに集積されても良い。したがって、コンポーネント、ユニット又はモジュールとしての特徴の表現は、説明を簡略化するために、特定の機能的な特徴を強調することを目的とされ、また、独立したハードウェア又はソフトウェア・コンポーネントによるそのような特徴の実現を必ずしも必要とするわけではない。場合によっては、様々なユニットは、1又は複数のプロセッサにより実行されるプログラム可能なプロセスとして実装されても良い。 The various components described herein may be implemented by any suitable combination of hardware, software, firmware, or any combination thereof. In the figure, the various components are shown as independent units or modules. However, all or some of the various components described with reference to these figures may be integrated into a complex unit or module within common hardware and / or software. Thus, the representation of features as components, units, or modules is intended to highlight specific functional features for ease of explanation, and as such by independent hardware or software components. It is not always necessary to realize such features. In some cases, the various units may be implemented as programmable processes that are executed by one or more processors.
モジュール群、デバイス群又はコンポーネント群(グラフィックス・デバイス100及び/又はその構成要素群を含む)として本明細書で説明されるいずれの機能群も、集積化された論理デバイスに一緒に又は別々であるが適時情報交換ができる(interoperable)複数の論理デバイスとして独立して実装されても良い。様々な態様において、そのようなコンポーネント群は、1又は複数の集積回路デバイスとして少なくとも部分的に形成されても良い。そして、それらは集積回路デバイス(例えば集積回路チップ又はチップセット)として集合的に指し示されても良い。そのような回路は、単一の集積回路チップ・デバイスで又は複数の適時情報交換ができる集積回路チップ・デバイスで提供されても良く、また、様々なイメージ、ディスプレイ、オーディオ又は他のマルチメディアのアプリケーション及びデバイスの任意のものにおいて使用されても良い。幾つかの態様において、例えば、そのようなコンポーネントは、モバイル・デバイス(例えば無線通信デバイス・ハンドセット)の一部を形成しても良い。
Any of the functional groups described herein as modules, devices, or components (including
ソフトウェアで実装されるならば、本技術は、1又は複数のプロセッサにより実行されるときに上で説明された方法のうちの1又は複数を実行する命令をもつコードを含むコンピュータ読み取り可能な媒体によって少なくとも部分的に実現されても良い。コンピュータ読み取り可能な媒体は、コンピュータ・プログラム製品(それはパッケージ材料を含んでもよい)の一部を形成しても良い。コンピュータ読み取り可能な媒体は、ランダムアクセスメモリ(RAM)(例えばシンクロナスダイナミックランダムアクセスメモリ(SDRAM))、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能PROM(EEPROM)、組み込み形ダイナミックランダムアクセスメモリ(eDRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュメモリ、磁気又は光学データ記憶媒体を含んでも良い。 If implemented in software, the techniques may be performed by a computer-readable medium containing code having instructions that, when executed by one or more processors, perform one or more of the methods described above. It may be realized at least partially. The computer readable medium may form part of a computer program product (which may include packaging material). Computer readable media include random access memory (RAM) (eg, synchronous dynamic random access memory (SDRAM)), read only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable PROM (EEPROM) Embedded dynamic random access memory (eDRAM), static random access memory (SRAM), flash memory, magnetic or optical data storage media.
加えて又は代わりに、本技術は、命令又はデータ構造の形でコードを運ぶか又は伝え且つ1又は複数のプロセッサによりアクセス、リード及び/又は実行されることができるコンピュータ読み取り可能な通信媒体に少なくとも部分的によって実現されても良い。いずれのコネクションも、コンピュータ読み取り可能な媒体と適切に呼ばれることができる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイスト・ペア、デジタル加入者回線(DSL)又は無線技術(例えば、赤外線、無線及びマイクロ波)を使用するウェブサイト、サーバ又は他のリモート・ソースから送信されるならば、該同軸ケーブル、光ファイバーケーブル、ツイスト・ペア、DSL又は無線技術(例えば、赤外線、無線及び電子レンジ)は、媒体の定義に含まれる。上記の組み合せはまた、コンピュータ読み取り可能な媒体の範囲内に含まれるべきである。利用されるいずれのソフトウェアも、1又は複数のプロセッサ(例えば、1又は複数のDSP、汎用マイクロプロセッサ、複数のASIC、複数のFPGA又は他の均等な集積化された又は個別の論理回路)によって実行されても良い。 In addition or alternatively, the present technology provides at least a computer-readable communication medium that carries or conveys code in the form of instructions or data structures and that can be accessed, read and / or executed by one or more processors. It may be realized partially. Either connection can be appropriately referred to as a computer-readable medium. For example, software sends from a web site, server, or other remote source that uses coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology (eg, infrared, wireless, and microwave) If so, the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology (eg, infrared, wireless and microwave) are included in the definition of the medium. Combinations of the above should also be included within the scope of computer-readable media. Any software utilized is executed by one or more processors (eg, one or more DSPs, general purpose microprocessors, multiple ASICs, multiple FPGAs, or other equivalent integrated or separate logic circuits). May be.
様々な態様が本明細書で説明された。これら及び他の態様は以下のクレームの範囲内である。 Various aspects have been described herein. These and other aspects are within the scope of the following claims.
様々な態様が本明細書で説明された。これら及び他の態様は以下のクレームの範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された各請求項に対応する発明を付記する。
[1]グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示することと、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示することと、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析することを含む方法。
[2]前記1又は複数のグラフィックス・イメージの表示、複数のパーティションのグラフィカル表現の表示及び前記1又は複数のグラフィックス・イメージの前記複数のフレームに関するグラフィックス・データの解析を、繰り返し行うことを更に含む[1]の方法。
[3]前記1又は複数のグラフィックス・イメージのうちの少なくとも一つは、3次元グラフィックス・イメージを含む[1]の方法。
[4]前記複数のパーティションの前記グラフィカル表現を表示することは、前記1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割する複数の長方形の形状のパーティションのグラフィカル表現を表示することを含む[1]の方法。
[5]前記グラフィックス・データは、前記1又は複数のグラフィックス・イメージをレンダーするために使用される複数のグラフィックス・プリミティブを含む[1]の方法。
[6]前記複数のグラフィックス・プリミティブは、複数の三角形を含む[5]の方法。
[7]前記グラフィックス・データを解析することは、前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定することを含む[6]の方法。
[8]前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定することは、前記三角形のうちのいずれの三角形が少なくとも部分的に前記パーティションのうちの複数のものにおいてレンダリングされたか判定することを含む[7]の方法。
[9]前記パーティションのうちの複数のものにわたる前記三角形のグラフィカル表現を表示することを更に含む[7]の方法。
[10]前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示することは、前記パーティションの前記グラフィカル表現を表示することと共に、前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示することを含む[9]の方法。
[11]前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示することは、各々の三角形に関するグラフィカル・インジケーションを表示することを含み、前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する[9]の方法。
[12]各々の対応する三角形に関する前記グラフィカル・インジケーションは、色を含む[11]の方法。
[13]各々の三角形に関する前記グラフィカル・インジケーションを表示することは、他の三角形より多くのパーティションにわたるそれらの三角形に関する前記グラフィカル・インジケーションを顕著に表示することを含む[11]の方法。
[14]前記複数のパーティションの前記グラフィカル表現を表示することは、外部グラフィックス・デバイスからパーティショニング情報を受信することと、前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示することを含む[1]の方法。
[15]ナビゲーション・コントローラを表示することと、前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信することと、前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示することを更に含む[1]の方法。
[16]前記複数のパーティションの前記グラフィカル表現を表示することは、前記1又は複数のグラフィカル・イメージの前記修正された斜視図をオーバーレイし且つ前記修正されたシーンをグラフィカルに分割する前記複数のパーティションの前記グラフィカル表現を表示することを含み、前記グラフィックス・データを解析することは、前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析することを含む[15]の方法。
[17]外部グラフィックス・デバイスからグラフィックス命令を受信することと、前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信することを含み、前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示することは、前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示することを含む[1]の方法。
[18]前記ステート情報は、前記1又は複数のグラフィックス・イメージに関する前記グラフィックス・データを含む[17]の方法。
[19]前記グラフィックス・データを前記グラフィックス命令にマッピングする前記外部グラフィックス・デバイスからのマッピング情報を受信することを更に含む[17]の方法。
[20]前記パーティションは、前記グラフィックス・データ上で実行されるオペレーションのレンダリングに基づいて判定される[1]の方法。
[21]1又は複数のプロセッサに、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示させ、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示させ、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析させるためのコンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体。
[22]前記1又は複数のプロセッサに、前記1又は複数のグラフィックス・イメージの表示、複数のパーティションのグラフィカル表現の表示及び前記1又は複数のグラフィックス・イメージの前記複数のフレームに関するグラフィックス・データの解析を、繰り返し行わせるためのコンピュータ実行可能な命令を更に含む[21]のコンピュータ読み取り可能な媒体。
[23]前記1又は複数のグラフィックス・イメージのうちの少なくとも一つは、3次元グラフィックス・イメージを含む[21]のコンピュータ読み取り可能な媒体。
[24]前記1又は複数のプロセッサに前記複数のパーティションの前記グラフィカル表現を表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割する複数の長方形の形状のパーティションのグラフィカル表現を表示させるためのコンピュータ実行可能な命令を含む[21]のコンピュータ読み取り可能な媒体。
[25]前記グラフィックス・データは、前記1又は複数のグラフィックス・イメージをレンダリングするために使用される複数のグラフィックス・プリミティブを含む[21]のコンピュータ読み取り可能な媒体。
[26]前記複数のグラフィックス・プリミティブは、複数の三角形を含む[25]のコンピュータ読み取り可能な媒体。
[27]前記1又は複数のプロセッサに前記グラフィックス・データを解析させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定させるためのコンピュータ実行可能な命令を含む[2]のコンピュータ読み取り可能な媒体。
[28]前記1又は複数のプロセッサに前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記三角形のうちのいずれの三角形が少なくとも部分的に前記パーティションのうちの複数のものにおいてレンダリングされたか判定させるためのコンピュータ実行可能な命令を含む[27]のコンピュータ読み取り可能な媒体。
[29]前記1又は複数のプロセッサに前記パーティションのうちの複数のものにわたる前記三角形のグラフィカル表現を表示させるための前記コンピュータ実行可能な命令を更に含む[27]のコンピュータ読み取り可能な媒体。
[30]前記1又は複数のプロセッサに前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記パーティションの前記グラフィカル表現を表示させると共に、前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示させるためのコンピュータ実行可能な命令を含む[29]のコンピュータ読み取り可能な媒体。
[31]前記1又は複数のプロセッサに前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに各々の三角形に関するグラフィカル・インジケーションを表示させるためのコンピュータ実行可能な命令を含み、前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する[29]のコンピュータ読み取り可能な媒体。
[32]各々の対応する三角形に関する前記グラフィカル・インジケーションは、色を含む[31]のコンピュータ読み取り可能な媒体。
[33]前記1又は複数のプロセッサに各々の三角形に関する前記グラフィカル・インジケーションを表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに他の三角形より多くのパーティションにわたるそれらの三角形に関する前記グラフィカル・インジケーションを顕著に表示させるためのコンピュータ実行可能な命令を含む[31]のコンピュータ読み取り可能な媒体。
[34]前記1又は複数のプロセッサに前記複数のパーティションの前記グラフィカル表現を表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに、外部グラフィックス・デバイスからパーティショニング情報を受信させ、前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示させるためのコンピュータ実行可能な命令を含む[21]のコンピュータ読み取り可能な媒体。
[35]前記1又は複数のプロセッサに、ナビゲーション・コントローラを表示させ、前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信させ、前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示させるためのコンピュータ実行可能な命令を更に含む[21]のコンピュータ読み取り可能な媒体。
[36]前記1又は複数のプロセッサに前記複数のパーティションの前記グラフィカル表現を表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記1又は複数のグラフィカル・イメージの前記修正された斜視図をオーバーレイし且つ前記修正されたシーンをグラフィカルに分割する前記複数のパーティションの前記グラフィカル表現を表示させるためのコンピュータ実行可能な命令を含み、前記1又は複数のプロセッサに前記グラフィックス・データを解析させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析させるためのコンピュータ実行可能な命令を含む[35]のコンピュータ読み取り可能な媒体。
[37]前記1又は複数のプロセッサに、外部グラフィックス・デバイスからグラフィックス命令を受信させ、前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信させるためのコンピュータ実行可能な命令を更に含み、前記1又は複数のプロセッサに前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示させるためのコンピュータ実行可能な命令を含む[21]のコンピュータ読み取り可能な媒体。
[38]前記ステート情報は、前記1又は複数のグラフィックス・イメージに関する前記グラフィックス・データを含む[37]のコンピュータ読み取り可能な媒体。
[39]前記1又は複数のプロセッサに前記グラフィックス・データを前記グラフィックス命令にマッピングする前記外部グラフィックス・デバイスからのマッピング情報を受信させるためのコンピュータ実行可能な命令を更に含む[37]のコンピュータ読み取り可能な媒体。
[40]前記パーティションは、前記グラフィックス・データ上で実行されるオペレーションのレンダリングに基づいて判定される[2]のコンピュータ読み取り可能な媒体。
[41]表示デバイスと、グラフィカル・シーン中に1又は複数のグラフィックス・イメージを前記表示デバイス上に表示し、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を前記表示デバイス上に表示し、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析するように構成される1又は複数のプロセッサとを含むデバイス。
[42]前記1又は複数のプロセッサは、前記1又は複数のグラフィックス・イメージの表示、複数のパーティションのグラフィカル表現の表示及び前記1又は複数のグラフィックス・イメージの前記複数のフレームに関するグラフィックス・データの解析を、繰り返し行うように更に構成される[41]のデバイス。
[43]前記1又は複数のグラフィックス・イメージのうちの少なくとも一つは、3次元グラフィックス・イメージを含む[41]のデバイス。
[44]前記1又は複数のプロセッサは、前記1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割する複数の長方形の形状のパーティションのグラフィカル表現を表示することに少なくともよって、前記複数のパーティションの前記グラフィカル表現を表示するように構成された[41]のデバイス。
[45]前記グラフィックス・データは、前記1又は複数のグラフィックス・イメージをレンダリングするために使用される複数のグラフィックス・プリミティブを含む[41]のデバイス。
[46]前記複数のグラフィックス・プリミティブは、複数の三角形を含む[45]のデバイス。
[47]前記1又は複数のプロセッサは、前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定することに少なくともよって、前記グラフィックス・データを解析するように構成された[46]のデバイス。
[48]前記1又は複数のプロセッサは、前記三角形のうちのいずれの三角形が少なくとも部分的に前記パーティションのうちの複数のものにおいてレンダリングされたか判定することに少なくともよって、前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定するように構成された[47]のデバイス。
[49]前記1又は複数のプロセッサは、前記パーティションのうちの複数のものにわたる前記三角形のグラフィカル表現を表示するように更に構成された[47]のデバイス。
[50]前記1又は複数のプロセッサは、前記パーティションの前記グラフィカル表現を表示することと共に、前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示することに少なくともよって、前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示するように構成された[49]のデバイス。
[51]前記1又は複数のプロセッサは、各々の三角形に関するグラフィカル・インジケーションを表示することに少なくともよって、前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示し、前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する[49]のデバイス。
[52]各々の対応する三角形に関する前記グラフィカル・インジケーションは、色を含む[51]のデバイス。
[53]前記1又は複数のプロセッサは、他の三角形より多くのパーティションにわたるそれらの三角形に関する前記グラフィカル・インジケーションを顕著に表示することに少なくともよって、各々の三角形に関する前記グラフィカル・インジケーションを表示するように構成された[51]のデバイス。
[54]前記1又は複数のプロセッサは、外部グラフィックス・デバイスからパーティショニング情報を受信し、前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示することに少なくともよって、前記複数のパーティションの前記グラフィカル表現を表示するように構成された[41]のデバイス。
[55]前記1又は複数のプロセッサは、前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信することと、前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示することに少なくともよって、ナビゲーション・コントローラを表示するように更に構成された[41]のデバイス。
[56]前記1又は複数のプロセッサは、前記1又は複数のグラフィカル・イメージの前記修正された斜視図をオーバーレイし且つ前記修正されたシーンをグラフィカルに分割する前記複数のパーティションの前記グラフィカル表現を表示することに少なくともよって、前記複数のパーティションの前記グラフィカル表現を表示するように構成され、前記1又は複数のプロセッサは、前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析することに少なくともよって、前記グラフィックス・データを解析するように構成された[55]のデバイス。
[57]前記1又は複数のプロセッサは、外部グラフィックス・デバイスからグラフィックス命令を受信し、前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信するように更に構成され、前記1又は複数のプロセッサは、前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示することに少なくともよって、前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示するように構成された[41]のデバイス。
[58]前記ステート情報は、前記1又は複数のグラフィックス・イメージに関する前記グラフィックス・データを含む[57]のデバイス。
[59]前記1又は複数のプロセッサは、前記グラフィックス・データを前記グラフィックス命令にマッピングする前記外部グラフィックス・デバイスからのマッピング情報を受信するように更に構成された[57]のデバイス。
[60]前記パーティションは、前記グラフィックス・データ上で実行されるオペレーションのレンダリングに基づいて判定される[41]のデバイス。
[61]グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示するための手段と、1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示するための手段と、前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析するための手段とを含むデバイス。
[62]前記1又は複数のグラフィックス・イメージの表示、複数のパーティションのグラフィカル表現の表示及び前記1又は複数のグラフィックス・イメージの前記複数のフレームに関するグラフィックス・データの解析を、繰り返し行うための手段を更に含む[61]のデバイス。
[63]前記1又は複数のグラフィックス・イメージのうちの少なくとも1つは、3次元グラフィックス・イメージを含む[61]のデバイス。
[64]前記複数のパーティションの前記グラフィカル表現を表示するための前記手段は、前記1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割する複数の長方形の形状のパーティションのグラフィカル表現を表示するための手段を含む[61]のデバイス。
[65]前記グラフィックス・データは、前記1又は複数のグラフィックス・イメージをレンダリングするために使用される複数のグラフィックス・プリミティブを含む[61]のデバイス。
[66]前記複数のグラフィックス・プリミティブは、複数の三角形を含む[65]のデバイス。
[67]前記グラフィックス・データを解析するための前記手段は、前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定するための手段を含む[66]のデバイス。
[68]前記三角形のうちのいずれの三角形が前記パーティションのうちの複数のものにわたるか判定するための前記手段は、前記三角形のうちのいずれの三角形が少なくとも部分的に前記パーティションのうちの複数のものにおいてレンダリングされたか判定するための手段を含む[67]のデバイス。
[69]前記パーティションのうちの複数のものにわたる前記三角形のグラフィカル表現を表示するための手段を更に含む[67]のデバイス。
[70]前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示するための前記手段は、前記パーティションの前記グラフィカル表現を表示することと共に、前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示するための手段を含む[69]のデバイス。
[71]前記パーティションのうちの複数のものにわたる前記三角形の前記グラフィカル表現を表示するための前記手段は、各々の三角形に関するグラフィカル・インジケーションを表示するための手段を含み、前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する[69]のデバイス。
[72]各々の対応する三角形に関する前記グラフィカル・インジケーションは、色を含む[71]のデバイス。
[73]各々の三角形に関する前記グラフィカル・インジケーションを表示するための前記手段は、他の三角形より多くのパーティションにわたるそれらの三角形に関する前記グラフィカル・インジケーションを顕著に表示するための手段を含む[71]のデバイス。
[74]前記複数のパーティションの前記グラフィカル表現を表示するための前記手段は、外部グラフィックス・デバイスからパーティショニング情報を受信するための手段と、前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示するための手段とを含む[61]のデバイス。
[75]ナビゲーション・コントローラを表示するための手段と、前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信するための手段と、前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示するための手段とを更に含む[61]のデバイス。
[76]前記複数のパーティションの前記グラフィカル表現を表示するための前記手段は、前記1又は複数のグラフィカル・イメージの前記修正された斜視図をオーバーレイし且つ前記修正されたシーンをグラフィカルに分割する前記複数のパーティションの前記グラフィカル表現を表示するための手段を含み、前記グラフィックス・データを解析するための前記手段は、前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析するための手段を含む[75]のデバイス。
[77]外部グラフィックス・デバイスからグラフィックス命令を受信するための手段と、前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信するための手段とを更に含み、前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示するための前記手段は、前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示するための手段を含む[61]のデバイス。
[78]前記ステート情報は、前記1又は複数のグラフィックス・イメージに関する前記グラフィックス・データを含む[77]のデバイス。
[79]前記グラフィックス・データを前記グラフィックス命令にマッピングする前記外部グラフィックス・デバイスからのマッピング情報を受信するための手段を更に含む[77]のデバイス。
[80]前記パーティションは、前記グラフィックス・データ上で実行されるオペレーションのレンダリングに基づいて判定される[61]のデバイス。
Various aspects have been described herein. These and other aspects are within the scope of the following claims.
Below, the invention corresponding to each claim described in the scope of claims of the present application is appended.
[1] displaying one or more graphics images in a graphical scene, and displaying a graphical representation of a partition that overlays the one or more graphics images and graphically divides the scene. Analyzing the graphics data to determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. Including methods.
[2] repeatedly displaying the one or more graphics images, displaying a graphical representation of a plurality of partitions, and analyzing the graphics data for the plurality of frames of the one or more graphics images. The method according to [1], further comprising:
[3] The method according to [1], wherein at least one of the one or more graphics images includes a three-dimensional graphics image.
[4] Displaying the graphical representation of the plurality of partitions displays a graphical representation of a plurality of rectangular shaped partitions overlaying the one or more graphics images and graphically dividing the scene. [1] The method of including.
[5] The method of [1], wherein the graphics data includes a plurality of graphics primitives used to render the one or more graphics images.
[6] The method according to [5], wherein the plurality of graphics primitives include a plurality of triangles.
[7] The method of [6], wherein analyzing the graphics data includes determining which of the triangles spans a plurality of the partitions.
[8] Determining which of the triangles spans more than one of the partitions is determining which of the triangles are at least partially rendered in the more of the partitions. The method of [7], comprising determining whether or not it has been done.
[9] The method of [7], further comprising displaying a graphical representation of the triangle over a plurality of the partitions.
[10] Displaying the graphical representation of the triangle over a plurality of the partitions together with displaying the graphical representation of the partition and the graphical representation of the triangle over the plurality of the partitions [9] The method including displaying an expression.
[11] Displaying the graphical representation of the triangle over a plurality of the partitions includes displaying a graphical indication for each triangle, the graphical indication corresponding to each [9] The method of [9], which provides a visual indication of the number of partitions spanned by a triangle.
[12] The method of [11], wherein the graphical indication for each corresponding triangle includes a color.
[13] The method of [11], wherein displaying the graphical indication for each triangle includes notably displaying the graphical indication for those triangles over more partitions than the other triangles.
[14] Displaying the graphical representation of the plurality of partitions includes receiving partitioning information from an external graphics device, and based on the received partitioning information, the graphical representation of the plurality of partitions. The method of [1], including displaying an expression.
[15] displaying a navigation controller; receiving user input for interacting with the navigation controller; and in a modified graphics scene based on the user input to the navigation controller The method of [1], further comprising displaying a modified perspective view of the one or more graphics images.
[16] Displaying the graphical representation of the plurality of partitions overlays the modified perspective view of the one or more graphical images and graphically divides the modified scene. Displaying the graphical representation of, wherein analyzing the graphics data is related to which portion of the graphics data is associated with the plurality of partitions of the plurality of partitions. The method of [15], comprising analyzing graphics data relating to the modified perspective view of the one or more graphics images to determine.
[17] Receiving graphics instructions from an external graphics device and state information from the external graphics device (the state information relates to execution of the graphics instructions on the external graphics device) And displaying the one or more graphics images in the graphical scene based on the graphics instructions and the state information. [1] The method including displaying an image.
[18] The method according to [17], wherein the state information includes the graphics data relating to the one or more graphics images.
[19] The method of [17], further comprising receiving mapping information from the external graphics device that maps the graphics data to the graphics instructions.
[20] The method of [1], wherein the partition is determined based on a rendering of an operation performed on the graphics data.
[21] Graphical representation of a partition that causes one or more processors to display one or more graphics images in a graphical scene, overlays the one or more graphics images, and graphically divides the scene To determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. A computer-readable medium containing computer-executable instructions for analysis.
[22] Displaying the one or more graphics images, displaying a graphical representation of a plurality of partitions, and graphics relating to the plurality of frames of the one or more graphics images on the one or more processors. [21] The computer-readable medium according to [21], further including computer-executable instructions for repeatedly performing data analysis.
[23] The computer-readable medium according to [21], wherein at least one of the one or more graphics images includes a three-dimensional graphics image.
[24] The computer-executable instructions for causing the one or more processors to display the graphical representation of the plurality of partitions overlay the one or more graphics images on the one or more processors. [21] The computer readable medium of [21] comprising computer executable instructions for displaying a graphical representation of a plurality of rectangular shaped partitions that graphically divide the scene.
[25] The computer-readable medium of [21], wherein the graphics data includes a plurality of graphics primitives used to render the one or more graphics images.
[26] The computer readable medium of [25], wherein the plurality of graphics primitives include a plurality of triangles.
[27] The computer-executable instructions for causing the one or more processors to analyze the graphics data are such that any one of the triangles is a plurality of the partitions. [2] The computer-readable medium including computer-executable instructions for determining whether or not the program is over.
[28] The computer-executable instructions for causing the one or more processors to determine which triangles of the triangles span a plurality of the partitions are the one or more processors, the triangle [27] The computer-readable medium of [27] comprising computer-executable instructions for determining which triangles of at least partially rendered in a plurality of said partitions.
[29] The computer-readable medium of [27], further comprising the computer-executable instructions for causing the one or more processors to display a graphical representation of the triangle across a plurality of the partitions.
[30] The computer-executable instructions for causing the one or more processors to display the graphical representation of the triangle across a plurality of the partitions are for causing the one or more processors to display the graphical of the partition. [29] The computer-readable medium of [29] comprising computer-executable instructions for displaying a representation and displaying the graphical representation of the triangle across a plurality of the partitions.
[31] The computer-executable instructions for causing the one or more processors to display the graphical representation of the triangles over a plurality of the partitions are graphically related to each triangle by the one or more processors. [29] computer readable including computer-executable instructions for displaying indications, wherein the graphical indication provides a visual indication of the number of partitions spanned by each corresponding triangle Medium.
[32] The computer-readable medium of [31], wherein the graphical indication for each corresponding triangle includes a color.
[33] The computer-executable instructions for causing the one or more processors to display the graphical indications for each triangle are those triangles that span more partitions than the other triangles. [31] The computer-readable medium comprising computer-executable instructions for prominently displaying the graphical indication regarding.
[34] The computer-executable instructions for causing the one or more processors to display the graphical representation of the plurality of partitions receive partitioning information from an external graphics device to the one or more processors. And [21] a computer-readable medium comprising computer-executable instructions for displaying the graphical representation of the plurality of partitions based on the received partitioning information.
[35] causing the one or more processors to display a navigation controller, receive user input for interacting with the navigation controller, and modify graphics based on the user input to the navigation controller The computer-readable medium of [21], further comprising computer-executable instructions for displaying a modified perspective view of the one or more graphics images in the scene.
[36] The computer-executable instructions for causing the one or more processors to display the graphical representation of the plurality of partitions are the modified one or more of the one or more graphical images to the one or more processors. Computer-executable instructions for displaying the graphical representation of the plurality of partitions that overlays a perspective view and graphically divides the modified scene, the graphics data to the one or more processors The computer-executable instructions for analyzing the one or more processors determine which portion of the graphics data is associated with the plurality of partitions of the plurality of partitions. In order to The computer-readable medium of [35] comprising computer executable instructions for causing the analysis graphics data for the modified perspective view of a plurality of graphics images.
[37] Cause the one or more processors to receive graphics instructions from an external graphics device, and state information from the external graphics device (the state information is the graphics on the external graphics device). Computer-executable instructions for causing said one or more processors to display said one or more graphics images in said graphical scene. Computer-executable instructions include computer-executable instructions for causing the one or more processors to display the one or more graphics images based on the graphics instructions and the state information [21]. Computer readable media.
[38] The computer-readable medium according to [37], wherein the state information includes the graphics data relating to the one or more graphics images.
[39] The computer-executable instructions for causing the one or more processors to receive mapping information from the external graphics device that maps the graphics data to the graphics instructions. Computer readable medium.
[40] The computer-readable medium of [2], wherein the partition is determined based on a rendering of an operation performed on the graphics data.
[41] A display device and a partition for displaying one or more graphics images on the display device in a graphical scene, overlaying the one or more graphics images and graphically dividing the scene Displaying a graphical representation on the display device to determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions; And one or more processors configured to analyze the graphics data.
[42] The one or more processors may display the one or more graphics images, display a graphical representation of a plurality of partitions, and graphics for the plurality of frames of the one or more graphics images. The device of [41], further configured to repeatedly perform data analysis.
[43] The device of [41], wherein at least one of the one or more graphics images includes a three-dimensional graphics image.
[44] The one or more processors at least by displaying a graphical representation of a plurality of rectangular shaped partitions overlaying the one or more graphics images and graphically dividing the scene. [41] The device configured to display the graphical representation of a plurality of partitions.
[45] The device of [41], wherein the graphics data includes a plurality of graphics primitives used to render the one or more graphics images.
[46] The device of [45], wherein the plurality of graphics primitives include a plurality of triangles.
[47] The one or more processors are configured to analyze the graphics data at least by determining which of the triangles spans more than one of the partitions. [46] The device.
[48] The one or more processors may determine which one of the triangles at least by determining which one of the triangles has been rendered at least partially in the plurality of the partitions. [47] The device configured to determine whether a triangle spans a plurality of the partitions.
[49] The device of [47], wherein the one or more processors are further configured to display a graphical representation of the triangle across a plurality of the partitions.
[50] The one or more processors are configured to display the graphical representation of the partition and at least by displaying the graphical representation of the triangle across the plurality of the partitions. The device of [49], configured to display the graphical representation of the triangle across a plurality of.
[51] The one or more processors display the graphical representation of the triangles over a plurality of the partitions, at least by displaying a graphical indication for each triangle, and the graphical indicators. Provides a visual indication of the number of partitions spanned by each corresponding triangle [49].
[52] The device of [51], wherein the graphical indication for each corresponding triangle includes a color.
[53] The one or more processors display the graphical indication for each triangle at least by prominently displaying the graphical indication for those triangles across more partitions than the other triangles. [51] The device configured as follows.
[54] At least by the one or more processors receiving partitioning information from an external graphics device and displaying the graphical representation of the plurality of partitions based on the received partitioning information. The device of [41], configured to display the graphical representation of the plurality of partitions.
[55] The one or more processors receive user input for interacting with the navigation controller and based on the user input to the navigation controller, in the modified graphics scene [41] The device of [41], further configured to display a navigation controller, at least by displaying a modified perspective view of the one or more graphics images.
[56] The one or more processors overlay the modified perspective view of the one or more graphical images and display the graphical representation of the plurality of partitions that graphically divides the modified scene At least by being configured to display the graphical representation of the plurality of partitions, wherein the one or more processors are configured such that any portion of the graphics data is the portion of the plurality of partitions. Analyzing the graphics data at least by analyzing graphics data relating to the modified perspective view of the one or more graphics images to determine whether they are associated with multiple partitions. [5 Device].
[57] The one or more processors receive graphics instructions from an external graphics device, and state information from the external graphics device (the state information is the graphics on the external graphics device). And wherein the one or more processors display the one or more graphics images based on the graphics instructions and the state information. [41] The device of [41], configured to display at least one of the one or more graphics images in the graphical scene.
[58] The device of [57], wherein the state information includes the graphics data relating to the one or more graphics images.
[59] The device of [57], wherein the one or more processors are further configured to receive mapping information from the external graphics device that maps the graphics data to the graphics instructions.
[60] The device of [41], wherein the partition is determined based on a rendering of an operation performed on the graphics data.
[61] A means for displaying one or more graphics images in a graphical scene and a graphical representation of a partition that overlays the one or more graphics images and graphically divides the scene And means for determining which portion of the graphics data relating to the one or more graphics images is associated with a plurality of the partitions. And a device including means for analyzing the device.
[62] To repeatedly display one or more graphics images, display a graphical representation of a plurality of partitions, and analyze graphics data relating to the plurality of frames of the one or more graphics images. [61] The device according to [61].
[63] The device of [61], wherein at least one of the one or more graphics images includes a three-dimensional graphics image.
[64] The means for displaying the graphical representation of the plurality of partitions overlays the one or more graphics images and graphically represents a plurality of rectangular shaped partitions that graphically divide the scene. [61] The device of [61] comprising means for displaying
[65] The device of [61], wherein the graphics data includes a plurality of graphics primitives used to render the one or more graphics images.
[66] The device of [65], wherein the plurality of graphics primitives include a plurality of triangles.
[67] The device of [66], wherein the means for analyzing the graphics data includes means for determining which of the triangles spans a plurality of the partitions.
[68] The means for determining which triangles of the triangles span a plurality of the partitions, wherein the triangles of the triangles are at least partially of the partitions of the partitions. [67] The device of [67], comprising means for determining whether it has been rendered in the object.
[69] The device of [67], further comprising means for displaying a graphical representation of the triangle across a plurality of the partitions.
[70] The means for displaying the graphical representation of the triangle over a plurality of the partitions, and displaying the graphical representation of the partition and the triangle over the plurality of the partitions. [69] The device of [69] comprising means for displaying said graphical representation of
[71] The means for displaying the graphical representation of the triangle across a plurality of the partitions includes means for displaying a graphical indication for each triangle, the graphical indication comprising: [69] The device of [69], which provides visual indication of the number of partitions spanned by each corresponding triangle.
[72] The device of [71], wherein the graphical indication for each corresponding triangle includes a color.
[73] The means for displaying the graphical indication for each triangle includes means for prominently displaying the graphical indication for those triangles across more partitions than other triangles. ] Device.
[74] The means for displaying the graphical representation of the plurality of partitions is based on the received partitioning information and means for receiving partitioning information from an external graphics device. Means for displaying the graphical representation of the partition of [61].
[75] Means for displaying a navigation controller, means for receiving user input for interacting with the navigation controller, and modified graphics based on the user input to the navigation controller [61] The device of [61], further comprising means for displaying a modified perspective view of the one or more graphics images in the scene.
[76] The means for displaying the graphical representation of the plurality of partitions overlays the modified perspective view of the one or more graphical images and graphically divides the modified scene. Means for displaying the graphical representation of a plurality of partitions, the means for analyzing the graphics data wherein any portion of the graphics data is the portion of the plurality of partitions. [75] The device of [75], comprising means for analyzing graphics data relating to the modified perspective view of the one or more graphics images to determine whether they are associated with a plurality of partitions.
[77] Means for receiving graphics instructions from an external graphics device and state information from the external graphics device (the state information is the execution of the graphics instructions on the external graphics device) And means for displaying the one or more graphics images in the graphical scene based on the graphics instructions and the state information. [61] The device of [61] comprising means for displaying said one or more graphics images.
[78] The device of [77], wherein the state information includes the graphics data relating to the one or more graphics images.
[79] The device of [77], further comprising means for receiving mapping information from the external graphics device that maps the graphics data to the graphics instructions.
[80] The device of [61], wherein the partition is determined based on a rendering of an operation performed on the graphics data.
開発者はまた、場合によっては、テクスチャー・ボタン236を選択しても良い。選択に応じて、グラフィックス・イメージ210に関係する様々な形のテクスチャー情報が、グラフィックス・デバイス201により表示されても良い。例えば、テクスチャー情報は、ウインドウ220内に(例えばステート/パフォーマンス情報エリア214内などに)表示されても良い。場合によっては、テクスチャー情報は、更なる(例えば、ポップアップ)ウインドウ(図示せず)内に表示されても良い。開発者は、表示されたテクスチャー情報を閲覧しても良いが、また、場合によっては、テクスチャー情報を修正しても良い。これらの場合、テクスチャー情報に対する任意の修正が、要求された修正として、グラフィックス・デバイス200へ伝播されても良い。グラフィックス・デバイス200からの更新された命令/情報の受信に応じて、グラフィックス・イメージ210に対する変更が、表示エリア211内に表示されても良い。テクスチャー・ボタン236の選択に応じて、特定のテクスチャー情報が表示されても良い。
The developer may also select the texture button 236 in some cases. Depending on the selection, various forms of texture information related to the
場合によっては、開発者はまた、グラフィックス・デバイス200により実装される処理パイプラインに関連する1又は複数の機能をオーバーライドするオーバーライド・ボタン238を選択しても良い。オーバーライド・ボタン238の選択に応じて、オーバーライド・スクリーンが開発者に対して表示されても良い。
In some cases, the developer may also select an override button 238 that overrides one or more functions associated with the processing pipeline implemented by the
Claims (80)
1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示することと、
前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析することを含む方法。 Displaying one or more graphics images in a graphical scene;
Displaying a graphical representation of a partition overlaying one or more graphics images and graphically dividing the scene;
Analyzing the graphics data to determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. Including methods.
前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する請求項9の方法。 Displaying the graphical representation of the triangles over a plurality of the partitions includes displaying a graphical indication for each triangle;
The method of claim 9, wherein the graphical indication provides a visual indication of the number of partitions spanned by each corresponding triangle.
外部グラフィックス・デバイスからパーティショニング情報を受信することと、
前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示することを含む請求項1の方法。 Displaying the graphical representation of the plurality of partitions comprises:
Receiving partitioning information from an external graphics device;
The method of claim 1, comprising displaying the graphical representation of the plurality of partitions based on the received partitioning information.
前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信することと、
前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示することを更に含む請求項1の方法。 Displaying a navigation controller;
Receiving user input to interact with the navigation controller;
The method of claim 1, further comprising displaying a modified perspective view of the one or more graphics images in a modified graphics scene based on the user input to the navigation controller.
前記グラフィックス・データを解析することは、前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析することを含む請求項15の方法。 Displaying the graphical representation of the plurality of partitions overlays the modified perspective view of the one or more graphical images and graphically divides the modified scene of the plurality of partitions. Including displaying a representation,
Analyzing the graphics data may include determining the portion of the graphics data that is associated with the plurality of partitions of the plurality of partitions. 16. The method of claim 15, comprising analyzing graphics data relating to the modified perspective view of a scanned image.
前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信することを含み、
前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示することは、前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示することを含む請求項1の方法。 Receiving graphics instructions from an external graphics device;
Receiving state information from the external graphics device, the state information relating to execution of the graphics instructions on the external graphics device;
The displaying of the one or more graphics images in the graphical scene includes displaying the one or more graphics images based on the graphics instructions and the state information. 1 method.
グラフィカル・シーン中に1又は複数のグラフィックス・イメージを表示させ、
1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示させ、
前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析させるためのコンピュータ実行可能な命令を含むコンピュータ読み取り可能な媒体。 One or more processors,
Display one or more graphics images in a graphical scene,
Displaying a graphical representation of a partition that overlays one or more graphics images and graphically divides the scene;
For analyzing the graphics data to determine which portions of the graphics data for the one or more graphics images are associated with a plurality of the partitions. A computer-readable medium containing computer-executable instructions.
前記1又は複数のグラフィックス・イメージの表示、複数のパーティションのグラフィカル表現の表示及び前記1又は複数のグラフィックス・イメージの前記複数のフレームに関するグラフィックス・データの解析を、繰り返し行わせるためのコンピュータ実行可能な命令を更に含む請求項21のコンピュータ読み取り可能な媒体。 The one or more processors;
A computer for repeatedly performing display of the one or more graphics images, display of a graphical representation of a plurality of partitions, and analysis of graphics data relating to the plurality of frames of the one or more graphics images The computer-readable medium of claim 21, further comprising executable instructions.
前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する請求項29のコンピュータ読み取り可能な媒体。 The computer-executable instructions for causing the one or more processors to display the graphical representation of the triangles across a plurality of the partitions are graphical indications for each triangle on the one or more processors. Including computer-executable instructions for displaying
30. The computer readable medium of claim 29, wherein the graphical indication provides a visual indication of the number of partitions spanned by each corresponding triangle.
前記1又は複数のプロセッサに、
外部グラフィックス・デバイスからパーティショニング情報を受信させ、
前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示させるためのコンピュータ実行可能な命令を含む請求項21のコンピュータ読み取り可能な媒体。 The computer-executable instructions for causing the one or more processors to display the graphical representation of the plurality of partitions are:
The one or more processors;
Receive partitioning information from an external graphics device,
The computer-readable medium of claim 21, comprising computer-executable instructions for displaying the graphical representation of the plurality of partitions based on the received partitioning information.
ナビゲーション・コントローラを表示させ、
前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信させ、
前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示させるためのコンピュータ実行可能な命令を更に含む請求項21のコンピュータ読み取り可能な媒体。 The one or more processors;
Display the navigation controller,
Receiving user input to interact with the navigation controller;
Computer-executable instructions for displaying a modified perspective view of the one or more graphics images in a modified graphics scene based on the user input to the navigation controller. Item 21. The computer-readable medium according to Item 21.
前記1又は複数のプロセッサに前記グラフィックス・データを解析させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析させるためのコンピュータ実行可能な命令を含む請求項35のコンピュータ読み取り可能な媒体。 The computer-executable instructions for causing the one or more processors to display the graphical representation of the plurality of partitions are the modified perspective view of the one or more graphical images on the one or more processors. Including computer-executable instructions for displaying the graphical representation of the plurality of partitions overlaying and graphically dividing the modified scene;
The computer-executable instructions for causing the one or more processors to analyze the graphics data are such that any part of the graphics data is included in the plurality of partitions. A computer-executable instruction for causing the graphics data relating to the modified perspective view of the one or more graphics images to be analyzed to determine whether the plurality of partitions are associated with the plurality of partitions. 35 computer-readable media.
外部グラフィックス・デバイスからグラフィックス命令を受信させ、
前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信させるためのコンピュータ実行可能な命令を更に含み、
前記1又は複数のプロセッサに前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示させるための前記コンピュータ実行可能な命令は、前記1又は複数のプロセッサに前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示させるためのコンピュータ実行可能な命令を含む請求項21のコンピュータ読み取り可能な媒体。 The one or more processors;
Receive graphics instructions from an external graphics device,
Computer-executable instructions for causing the external graphics device to receive state information (the state information relating to execution of the graphics instructions on the external graphics device);
The computer-executable instructions for causing the one or more processors to display the one or more graphics images in the graphical scene include the graphics instructions and the state information to the one or more processors. 23. The computer-readable medium of claim 21, comprising computer-executable instructions for displaying the one or more graphics images based on:
グラフィカル・シーン中に1又は複数のグラフィックス・イメージを前記表示デバイス上に表示し、
1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を前記表示デバイス上に表示し、
前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析するように構成される1又は複数のプロセッサとを含むデバイス。 A display device;
Displaying one or more graphics images on the display device during a graphical scene;
Displaying on the display device a graphical representation of a partition overlaying one or more graphics images and graphically dividing the scene;
Analyzing the graphics data to determine which portions of the graphics data for the one or more graphics images are associated with a plurality of the partitions. A device comprising one or more configured processors.
前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する請求項49のデバイス。 The one or more processors display the graphical representation of the triangles across a plurality of the partitions by at least displaying graphical indications for each triangle;
50. The device of claim 49, wherein the graphical indication provides a visual indication of the number of partitions spanned by each corresponding triangle.
外部グラフィックス・デバイスからパーティショニング情報を受信し、
前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示することに少なくともよって、
前記複数のパーティションの前記グラフィカル表現を表示するように構成された請求項41のデバイス。 The one or more processors are:
Receive partitioning information from an external graphics device,
At least by displaying the graphical representation of the plurality of partitions based on the received partitioning information.
42. The device of claim 41, configured to display the graphical representation of the plurality of partitions.
前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信することと、
前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示することに少なくともよって、
ナビゲーション・コントローラを表示するように更に構成された請求項41のデバイス。 The one or more processors are:
Receiving user input to interact with the navigation controller;
At least by displaying a modified perspective view of the one or more graphics images in a modified graphics scene based on the user input to the navigation controller.
42. The device of claim 41, further configured to display a navigation controller.
前記1又は複数のプロセッサは、前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析することに少なくともよって、前記グラフィックス・データを解析するように構成された請求項55のデバイス。 The one or more processors displaying the graphical representation of the plurality of partitions overlaying the modified perspective view of the one or more graphical images and graphically dividing the modified scene; At least according to, configured to display the graphical representation of the plurality of partitions;
The one or more processors may determine the one or more graphics images to determine which portion of the graphics data is associated with the plurality of partitions of the plurality of partitions. 56. The device of claim 55, configured to analyze the graphics data at least by analyzing graphics data relating to the modified perspective view.
外部グラフィックス・デバイスからグラフィックス命令を受信し、
前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信するように更に構成され、
前記1又は複数のプロセッサは、前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示することに少なくともよって、前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示するように構成された請求項41のデバイス。 The one or more processors are:
Receive graphics instructions from an external graphics device,
Further configured to receive state information from the external graphics device, the state information relating to execution of the graphics instructions on the external graphics device;
The one or more processors are configured to display the one or more graphics images in the graphical scene based at least on displaying the one or more graphics images based on the graphics instructions and the state information. 42. The device of claim 41, configured to display an image.
1又は複数のグラフィックス・イメージをオーバーレイし且つ前記シーンをグラフィカルに分割するパーティションのグラフィカル表現を表示するための手段と、
前記1又は複数のグラフィックス・イメージに関するグラフィックス・データのうちのいずれの部分が前記パーティションのうちの複数のものに関連しているかについて判定するために、該グラフィックス・データを解析するための手段とを含むデバイス。 Means for displaying one or more graphics images in a graphical scene;
Means for displaying a graphical representation of a partition that overlays one or more graphics images and graphically divides the scene;
Analyzing the graphics data to determine which portion of the graphics data for the one or more graphics images is associated with a plurality of the partitions. A device comprising means.
前記グラフィカル・インジケーションは、各々の対応する三角形によりわたられるパーティションの数のビジュアル・インジケーションを提供する請求項69のデバイス。 The means for displaying the graphical representation of the triangle across a plurality of the partitions includes means for displaying a graphical indication for each triangle;
70. The device of claim 69, wherein the graphical indication provides a visual indication of the number of partitions spanned by each corresponding triangle.
外部グラフィックス・デバイスからパーティショニング情報を受信するための手段と、
前記受信されたパーティショニング情報に基づいて、前記複数のパーティションの前記グラフィカル表現を表示するための手段とを含む請求項61のデバイス。 The means for displaying the graphical representation of the plurality of partitions comprises:
Means for receiving partitioning information from an external graphics device;
62. The device of claim 61, comprising: means for displaying the graphical representation of the plurality of partitions based on the received partitioning information.
前記ナビゲーション・コントローラとインタラクトするためのユーザ入力を受信するための手段と、
前記ナビゲーション・コントローラに対する前記ユーザ入力に基づいて、修正されたグラフィックス・シーン中の前記1又は複数のグラフィックス・イメージの修正された斜視図を表示するための手段とを更に含む請求項61のデバイス。 Means for displaying a navigation controller;
Means for receiving user input for interacting with the navigation controller;
62. means for displaying a modified perspective view of the one or more graphics images in a modified graphics scene based on the user input to the navigation controller. device.
前記グラフィックス・データを解析するための前記手段は、前記グラフィックス・データのうちのいずれの部分が前記複数のパーティションのうちの前記複数のパーティションに関連するかについて判定するために、前記1又は複数のグラフィックス・イメージの前記修正された斜視図に関するグラフィックス・データを解析するための手段を含む請求項75のデバイス。 The means for displaying the graphical representation of the plurality of partitions overlays the modified perspective view of the one or more graphical images and graphically divides the modified scene. Means for displaying said graphical representation of
The means for analyzing the graphics data is to determine which portion of the graphics data is associated with the plurality of partitions of the plurality of partitions. 76. The device of claim 75, comprising means for analyzing graphics data relating to the modified perspective view of a plurality of graphics images.
前記外部グラフィックス・デバイスからステート情報(該ステート情報は、前記外部グラフィックス・デバイス上での前記グラフィックス命令の実行に関連する)を受信するための手段とを更に含み、
前記グラフィカル・シーン中に前記1又は複数のグラフィックス・イメージを表示するための前記手段は、前記グラフィックス命令及び前記ステート情報に基づいて、前記1又は複数のグラフィックス・イメージを表示するための手段を含む請求項61のデバイス。 Means for receiving graphics instructions from an external graphics device;
Means for receiving state information from said external graphics device, said state information relating to execution of said graphics instructions on said external graphics device;
The means for displaying the one or more graphics images in the graphical scene is for displaying the one or more graphics images based on the graphics instructions and the state information. 62. The device of claim 61, comprising means.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8365908P | 2008-07-25 | 2008-07-25 | |
US61/083,659 | 2008-07-25 | ||
US12/507,767 | 2009-07-22 | ||
US12/507,767 US20100020069A1 (en) | 2008-07-25 | 2009-07-22 | Partitioning-based performance analysis for graphics imaging |
PCT/US2009/051772 WO2010011980A1 (en) | 2008-07-25 | 2009-07-24 | Partitioning-based performance analysis for graphics imaging |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011529236A true JP2011529236A (en) | 2011-12-01 |
JP5242788B2 JP5242788B2 (en) | 2013-07-24 |
Family
ID=41268228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011520245A Expired - Fee Related JP5242788B2 (en) | 2008-07-25 | 2009-07-24 | Partition-based performance analysis for graphics imaging |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP2319015A1 (en) |
JP (1) | JP5242788B2 (en) |
KR (1) | KR101286938B1 (en) |
CN (1) | CN102089784A (en) |
CA (1) | CA2730298A1 (en) |
TW (1) | TW201015483A (en) |
WO (1) | WO2010011980A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP3872767A1 (en) | 2014-04-05 | 2021-09-01 | Sony Interactive Entertainment LLC | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
CN109656106B (en) * | 2019-01-25 | 2020-12-04 | 墨研计算科学(南京)有限公司 | Processing method and device for mask in computational lithography |
CN110221715A (en) * | 2019-06-19 | 2019-09-10 | 南京孜博汇信息科技有限公司 | A kind of multi-interface displaying method and system of motion track information |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701405A (en) * | 1995-06-21 | 1997-12-23 | Apple Computer, Inc. | Method and apparatus for directly evaluating a parameter interpolation function used in rendering images in a graphics system that uses screen partitioning |
JPH10111815A (en) * | 1996-08-13 | 1998-04-28 | Nec Corp | Debugging system |
WO2005031640A2 (en) * | 2003-09-26 | 2005-04-07 | Rensselaer Polytechnic Institute | System and method of computing and displaying property-encoded surface translator descriptors |
US20050285850A1 (en) * | 2004-06-29 | 2005-12-29 | Heim Oliver A | Methods and apparatuses for a polygon binning process for rendering |
WO2007002952A2 (en) * | 2005-06-29 | 2007-01-04 | Qualcomm Incorporated | Visual debugging system for 3d user interface program |
JP2008500625A (en) * | 2004-05-24 | 2008-01-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Tile-based graphic rendering |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030156131A1 (en) * | 2002-02-21 | 2003-08-21 | Samir Khazaka | Method and apparatus for emulating a mobile device |
US7095416B1 (en) * | 2003-09-22 | 2006-08-22 | Microsoft Corporation | Facilitating performance analysis for processing |
DE102006014902B4 (en) * | 2006-03-30 | 2009-07-23 | Siemens Ag | Image processing device for the extended display of three-dimensional image data sets |
-
2009
- 2009-07-24 CN CN2009801274650A patent/CN102089784A/en active Pending
- 2009-07-24 CA CA2730298A patent/CA2730298A1/en not_active Abandoned
- 2009-07-24 KR KR1020117004633A patent/KR101286938B1/en not_active IP Right Cessation
- 2009-07-24 JP JP2011520245A patent/JP5242788B2/en not_active Expired - Fee Related
- 2009-07-24 EP EP09790829A patent/EP2319015A1/en not_active Withdrawn
- 2009-07-24 WO PCT/US2009/051772 patent/WO2010011980A1/en active Application Filing
- 2009-07-27 TW TW098125262A patent/TW201015483A/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701405A (en) * | 1995-06-21 | 1997-12-23 | Apple Computer, Inc. | Method and apparatus for directly evaluating a parameter interpolation function used in rendering images in a graphics system that uses screen partitioning |
JPH10111815A (en) * | 1996-08-13 | 1998-04-28 | Nec Corp | Debugging system |
WO2005031640A2 (en) * | 2003-09-26 | 2005-04-07 | Rensselaer Polytechnic Institute | System and method of computing and displaying property-encoded surface translator descriptors |
JP2008500625A (en) * | 2004-05-24 | 2008-01-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Tile-based graphic rendering |
US20050285850A1 (en) * | 2004-06-29 | 2005-12-29 | Heim Oliver A | Methods and apparatuses for a polygon binning process for rendering |
WO2007002952A2 (en) * | 2005-06-29 | 2007-01-04 | Qualcomm Incorporated | Visual debugging system for 3d user interface program |
Also Published As
Publication number | Publication date |
---|---|
JP5242788B2 (en) | 2013-07-24 |
KR101286938B1 (en) | 2013-07-23 |
WO2010011980A1 (en) | 2010-01-28 |
TW201015483A (en) | 2010-04-16 |
CA2730298A1 (en) | 2010-01-28 |
CN102089784A (en) | 2011-06-08 |
EP2319015A1 (en) | 2011-05-11 |
KR20110036947A (en) | 2011-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5242789B2 (en) | Mapping of graphics instructions to related graphics data in performance analysis | |
JP5437485B2 (en) | Display a visual representation of performance metrics for rendered graphics elements | |
US20100020069A1 (en) | Partitioning-based performance analysis for graphics imaging | |
TWI584223B (en) | Method and system of graphics processing enhancement by tracking object and/or primitive identifiers,graphics processing unit and non-transitory computer readable medium | |
JP6230076B2 (en) | Virtual surface assignment | |
JP5450624B2 (en) | Performance analysis in visual creation of graphics images | |
US20210366176A1 (en) | Shadow culling | |
JP5242788B2 (en) | Partition-based performance analysis for graphics imaging | |
Kelleher | Pixelvision architecture | |
Renhart | Fast Map Rendering for Mobile Devices | |
Dang | 3D graphics renderer for web applications using web assembly and WGPU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121113 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130121 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130403 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |