CN102089784A - 图形成像的基于分割的性能分析 - Google Patents
图形成像的基于分割的性能分析 Download PDFInfo
- Publication number
- CN102089784A CN102089784A CN2009801274650A CN200980127465A CN102089784A CN 102089784 A CN102089784 A CN 102089784A CN 2009801274650 A CN2009801274650 A CN 2009801274650A CN 200980127465 A CN200980127465 A CN 200980127465A CN 102089784 A CN102089784 A CN 102089784A
- Authority
- CN
- China
- Prior art keywords
- graph
- graphics
- cut section
- processors
- show
- 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.)
- Pending
Links
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)
- User Interface Of Digital Computer (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
大体来说,本发明涉及用于提供包括若干个不同图形分割区的图形场景的视觉表示的技术,所述视觉表示可允许用户识别所述图形场景的归因于与屏幕分割相关联的成本而展现减小的性能的部分。一种实例装置包括显示装置和一个或一个以上处理器。所述一个或一个以上处理器经配置以在所述显示装置上在图形场景中显示一个或一个以上图形图像,在所述显示装置上显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示,并分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
Description
根据35U.S.C.§119主张优先权
本专利申请案主张2008年7月25日申请的题目为“图形成像的基于分割的性能分析(PARTITIONING-BASED PERFORMANCE ANALYSIS FOR GRAPHICS IMAGING)”的第61/083,659号临时申请案的优先权,且所述临时申请案转让给本受让人并在此以引用的方式明确地并入本文中。
共同待决专利申请案的参考
本专利申请案与以下共同待决美国专利申请案相关:
2008年7月25日申请的61/083,656,代理人案号080967P1,与本申请案同时申请,其转让给本受让人且以引用的方式明确地并入本文中;以及
2008年7月25日申请的61/083,665,代理人案号080971P1,与本申请案同时申请,其转让给本受让人且以引用的方式明确地并入本文中。
技术领域
本发明涉及图形图像的显示。
背景技术
图形处理器广泛用于再现用于各种应用的二维(2D)和三维(3D)图像,所述应用例如视频游戏、图形程序、计算机辅助设计(CAD)应用程序、模拟和视觉化工具,以及成像。显示处理器可用于显示图形处理器的经再现的输出以供经由显示装置呈现给用户。
(开放图形库)是定义可在编写产生2D图形和3D图形的应用程序时使用的API(应用编程接口)的标准规范。例如Java等其它语言可经由其自身的标准处理而定义到OpenGL API的系结。接口包括可用于由简单基元绘制场景的多个函数呼叫或指令。图形处理器、多媒体处理器和甚至通用CPU可接着执行使用OpenGL函数呼叫编写的应用程序。OpenGL ES(嵌入式系统)为OpenGL的变体,其经设计以用于例如移动无线电话、数字多媒体播放器、个人数字助理(PDA)或视频游戏控制台等嵌入式装置。
例如3D图形应用程序等图形应用程序可通过调用API或指令来描述或定义场景的内容,所述API或指令又使用基础图形硬件(例如,图形装置中的一个或一个以上处理器)来产生图像。图形硬件可能经历经由这些API实行的一系列状态转变。用于每一API呼叫(例如,绘制呼叫或指令)的状态的整个集合可描述由硬件借以由一个或一个以上图形基元(例如,一个或一个以上三角形)再现图像的过程。
另外,基于方格化(binning)或基于分割的图形硬件常常可使用以下过程来实施:可将预定用于再现的个别图形基元群集成方格化分割区(binning partition)或方格以便划分显示于显示装置的屏幕上的图像场景。硬件可归因于屏幕大小或分辨率约束或归因于与再现操作相关联的存储器限制而进行此操作。在再现基元片段之前,可由硬件沿着分割区的边缘将可能横跨多个方格化分割区的图形基元划分成多个片段。硬件可分别再现每一分割区中的所有基元片段。
因此,可将可能横跨(例如)两个方格化分割区的个别基元划分成两个片段,且可接着独立地再现这两个片段中的每一者。然而,可能接着需要在将图形图像显示于显示装置的屏幕上之前在图像数据帧内重组由这些片段中的每一者产生的图形图像。因此,可分别处理和再现横跨不同分割区的基元图形数据,且接着可重组所再现的图像数据以形成最终图像。
发明内容
大体来说,本发明涉及用于提供包括若干个不同图形分割区的图形场景的视觉表示的技术,所述视觉表示可允许用户识别所述图形场景的归因于可与屏幕分割相关联的成本而展现减小的性能的部分。图形装置(例如,移动装置)可基于已由图形驱动程序创建的分割区的数目和类型而将分割或方格化信息提供到外部计算装置(例如,个人计算机)。所述图形装置还可将图形指令和状态信息提供到所述计算装置。
所述计算装置可基于所述图形指令和所述状态信息在图形场景中显示一个或一个以上图形图像。所述计算装置还可基于所述所接收的分割信息显示覆盖所述场景的分割区的图形表示,且还可提供关于潜在的分割成本或性能额外开销的分析信息。应用程序开发者可使用此信息来探究所述场景的替代组成以帮助减小这些成本和/或性能额外开销。
在一个方面中,一种方法包含:在图形场景中显示一个或一个以上图形图像,显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示;以及分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
在一个方面中,一种装置包含一显示装置和一个或一个以上处理器。所述一个或一个以上处理器经配置以在所述显示装置上在图形场景中显示一个或一个以上图形图像,在所述显示装置上显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示,并分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
在一个方面中,一种计算机可读媒体,其包含用于致使一个或一个以上处理器进行以下操作的计算机可执行指令:在图形场景中显示一个或一个以上图形图像;显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示;以及分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
本发明中所描述的技术可以硬件、软件、固件,或其任何组合来实施。如果以软件来实施,那么可在处理器中执行所述软件,所述处理器可指一个或一个以上处理器,例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP),或其它等效集成逻辑电路或离散逻辑电路。最初可将包含用于执行所述技术的指令的软件存储于计算机可读媒体中且由处理器来加载并执行。
因此,本发明还涵盖包含用于致使处理器执行如本发明中所描述的多种技术中的任一者的指令的计算机可读媒体。在一些状况下,所述计算机可读媒体可形成可出售给制造商和/或用于装置中的计算机程序产品的一部分。所述计算机程序产品可包括所述计算机可读媒体,且在一些状况下,还可包括封装材料。
在下文的附图和描述中阐述一个或一个以上方面的细节。其它特征、目的和优点将从所述描述和图式以及权利要求书而显而易见。
附图说明
图1为说明根据本发明的一个方面的图形装置的框图,所述图形装置可将图形指令、状态和/或性能信息以及分割信息提供到应用程序计算装置。
图2为说明根据本发明的一个方面的图1中所展示的图形处理系统、图形驱动程序和应用程序计算装置的特定细节的框图。
图3为说明根据本发明的一个方面的可由图1中所展示的控制处理器、图形处理器、顶点处理器和显示处理器执行的操作的额外细节的流程图。
图4为说明根据本发明的一个方面的图2中所展示的图形驱动程序的额外细节的框图。
图5A为说明根据本发明的一个方面的可横跨由显示装置提供的屏幕区的四个分割区的图形数据的第一实例的概念图。
图5B为说明沿着分割区边界分裂的图5A的第一实例的图形数据的概念图。
图6为说明根据本发明的一个方面的可横跨由显示装置提供的屏幕区的八个分割区的图形数据的第二实例的概念图。
图7为根据本发明的一个方面的可由图1中所展示的应用程序计算装置执行的第一方法的流程图。
图8为根据本发明的一个方面的可由图1中所展示的应用程序计算装置执行的第二方法的流程图。
图9为说明根据本发明的一个方面的耦合到用于在图形窗口中显示信息的显示装置的图形装置的一实例的概念图。
图10为说明根据本发明的一个方面的耦合到在图形窗口内显示信息的显示装置的图形装置的另一实例的概念图。
具体实施方式
图1为说明根据本发明的一个方面的图形装置2的框图,所述图形装置2可将图形指令30、状态和/或性能信息32以及分割信息33提供到应用程序计算装置20。图形装置2可为独立装置或可为较大系统的一部分。举例来说,图形装置2可形成无线通信装置(例如,无线移动手持机)的一部分,或可为数码相机、视频相机、数字多媒体播放器、个人数字助理(PDA)、视频游戏控制台、其它视频装置或专用检视站(viewing station)(例如,电视)的一部分。图形装置2还可包含个人计算机或膝上型装置。图形装置2还可包括在可用于上文所描述的装置的一些或全部中的一个或一个以上集成电路、芯片或芯片组中。
在一些状况下,图形装置2可能够执行各种应用程序,例如图形应用程序、视频应用程序、音频应用程序和/或其它多媒体应用程序。举例来说,图形装置2可用于图形应用程序、视频游戏应用程序、视频重放应用程序、数码相机应用程序、即时消息传送应用程序、视频电话会议应用程序、移动应用程序,或视频串流应用程序。
图形装置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)或快闪存储器。显示装置6可为用于显示目的的能够显示图像数据的任何装置,例如,LCD(液晶显示器)、等离子显示装置,或其它电视(TV)显示装置。
顶点处理器14能够管理顶点信息并处理顶点变换。在一个方面中,顶点处理器14可包含数字信号处理器(DSP)。图形处理器12可为用以再现、操纵和显示计算机化图形的专用图形再现装置。图形处理器12可实施与各种复杂图形有关的算法。举例来说,复杂算法可对应于二维或三维计算机化图形的表示。图形处理器12可实施若干所谓的“基元”图形操作(例如,形成点、线和三角形或其它多边形表面),以在例如显示装置6等显示器上创建复杂的三维图像。
图形处理器12可实行存储于存储媒体8中的指令。存储媒体8能够存储用于应用程序(例如,图形或视频应用程序)的应用程序指令21以及一个或一个以上图形驱动程序18。应用程序指令21可从存储媒体8加载到图形处理系统4中以供执行。举例来说,控制处理器10、图形处理器12和显示处理器16中的一者或一者以上可执行指令21。在一个方面中,应用程序指令21可包含以空中方式动态地下载到存储媒体8中的一个或一个以上可下载模块。在一个方面中,应用程序指令21可包含从由应用程序开发者创建的应用编程接口(API)指令产生或编译的二进制指令的呼叫流。
图形驱动程序18还可从存储媒体8加载到图形处理系统4中以供执行。举例来说,控制处理器10、图形处理器12和显示处理器16中的一者或一者以上可执行来自图形驱动程序18的某些指令。在一个实例方面中,由图形处理器12加载并执行图形驱动程序18。将在下文进一步详细描述图形驱动程序18。
存储媒体8还包括图形数据映射信息23。图形数据映射信息23包括用于将应用程序指令21中的一者或一者以上映射到可在应用程序指令21的执行期间再现的图形数据的信息。可存储于存储媒体8和/或缓冲器15中的图形数据可包括一个或一个以上基元(例如,多边形)。图形数据映射信息23可维护待再现的个别基元到个别指令的映射。在已再现所述基元之后,映射信息23允许从个别指令返回到原始图形数据的映射,所述原始图形数据用于创建最终显示于图形装置6上的一个或一个以上图像。映射信息23在一些情况下可对除错和/或性能分析有用。
还如图1中所展示,图形处理系统4包括一个或一个以上缓冲器15。控制处理器10、图形处理器12、顶点处理器14和/或显示处理器16每一者能够存取缓冲器15,且可将数据存储于缓冲器15中或从缓冲器15检索数据。缓冲器15可包含高速缓冲存储器,且可能够存储数据与指令两者。举例来说,缓冲器15可包括已从存储媒体8加载到图形处理系统4中的应用程序指令21中的一者或一者以上或来自图形驱动程序18的一个或一个以上指令。缓冲器15和/或存储媒体8还可含有在指令执行期间使用的图形数据。
应用程序指令21在某些状况下可包括用于图形应用程序(例如,3D图形应用程序)的指令。应用程序指令21可包含描述或定义包括一个或一个以上图形图像的图形场景的内容的指令。当将应用程序指令21加载到图形处理系统4中且由图形处理系统4执行时,图形处理系统4可经历一系列状态转变。还可在应用程序指令21的执行期间执行图形驱动程序18内的一个或一个以上指令以在显示装置6上再现或显示图形图像。
用于例如绘图呼叫等指令的状态的整个集合可描述由图形处理系统4借以再现图像的过程。然而,已编写应用程序指令21的应用程序开发者常常可能具有为了对描述或再现所定义场景中的图像的替代方法进行除错或实验的目的而交互地检视或修改这些状态的有限能力。另外,不同硬件平台可能具有这些状态和/或状态转变的不同硬件设计和实施方案。
另外,基于方格化(binning)的图形硬件(例如,处理器10、12、14和16中的一者或一者以上)常常可使用以下过程来实施:将预定用于再现的个别基元群集成矩形形状的方格化分割区或方格,以便划分显示于显示装置6的屏幕上的图像场景。硬件可基于显示装置6的屏幕大小或分辨率约束或基于与再现操作相关联的存储媒体8的存储器限制而进行此操作。在再现基元片段之前,可由处理器10、12、14或16中的一者或一者以上沿着分割区的边缘将可能横跨多个方格化分割区的基元划分成多个片段。可接着分别再现每一分割区中的基元片段。方格化分割区通常可视硬件架构而在数目上变化,且可具有各种大小和形状。举例来说,方格化分割区可包括多个(例如,四个、八个)矩形形状的分割区。
因此,可将可横跨(例如)两个方格化分割区的个别基元划分成两个片段,且可接着独立地再现这两个片段中的每一者。然而,可能接着需要在将图形图像显示于显示装置6的屏幕上之前在图像数据帧内重组由这些片段中的每一者产生的图形图像。因此,划分横跨多个方格化分割区的个别基元可具有潜在的处理额外开销,且引起总性能降级。
在一个方面中,应用程序开发者可使用图1中所展示的应用程序计算装置20来辅助处理对用于描述或再现场景中的图像的替代方法的除错和实验。应用程序计算装置20可能够显示场景,且覆盖方格化分割区的图形表示(其可由图形装置2来实施)。应用程序计算装置20耦合到图形装置2。举例来说,在一个方面中,应用程序计算装置20经由通用串列总线(USB)连接而耦合到图形装置2。在其它方面中,可使用其它类型的连接,例如无线或其它形式的有线连接。
应用程序计算装置20包括一个或一个以上处理器22、一显示装置24,和一存储媒体26(其可包含存储器)。根据一个方面,处理器22可包括控制处理器、图形处理器、顶点处理器和显示处理器中的一者或一者以上。存储媒体26可包括能够存储指令和/或数据的任何永久或易失性存储器,例如,同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、静态随机存取存储器(SRAM)或快闪存储器。显示装置24可为用于显示目的的能够显示图像数据的任何装置,例如,LCD(液晶显示器)、等离子显示装置,或其它电视(TV)显示装置。
应用程序计算装置20能够俘获和分析图形指令30连同从图形装置2发送的状态和/或性能信息32。在一个方面中,图形驱动程序18经配置以将图形指令30和状态/性能信息32发送到应用程序计算装置20。图形指令30可包括应用程序指令21中的一者或一者以上,且状态/性能信息32可在图形指令30在图形处理系统4内的执行期间产生或俘获。
状态/性能信息32包括关于在指令执行期间图形处理系统4的状态和/或性能的信息,且将在下文更详细地描述。状态/性能信息32可包括可与图形指令30一起使用或以其它方式与图形指令30相关联的图形数据(例如,基元和/或光栅化图形数据)。图形处理系统4可执行图形指令30以在显示装置6上显示图像或图像场景。应用程序计算装置20能够使用图形指令30连同状态/性能信息32来重新创建还展示于图形装置2的显示装置6上的图形图像或场景。
图形装置2还可将映射和/或分割信息33发送到应用程序计算装置20。在一个方面中,图形驱动程序18经配置以将映射/分割信息33发送到应用程序计算装置20。映射/分割信息33可包括图形数据映射信息23的一个或一个以上部分,图形数据映射信息23包括用于将图形数据映射到图形指令30内的个别指令的信息。举例来说,映射/分割信息33可包括用于将一个或一个以上基元(例如,多边形)映射到图形指令30内的个别指令的信息。
映射/分割信息33还可包括由图形装置2产生和提供的分割信息。此分割信息在一些状况下可由处理器10、12、14和16中的一者或一者以上(例如,控制处理器10)来产生和提供。分割信息可包括识别可在图形处理系统4内使用以将图形数据再现成一个或一个以上图形图像且将此类图像显示于显示装置6上的方格化分割区或方格的数目、类型、大小和/或形状的信息。如先前所描述,图形装置2可在再现操作期间基于(例如)缓冲器15和/或存储媒体8的存储器大小限制将显示装置6的屏幕空间或大小分割成分割区。分割信息提供关于所创建和使用的分割区的信息。图5和图6展示此类分割区的实例。
模拟应用程序28可由应用程序计算装置20的一个或一个以上处理器22执行以在接收到图形指令30和状态/性能信息32后即刻重新创建图形图像或场景,并在显示装置24上显示所述图像或图像场景。模拟应用程序28可包含含有若干应用程序指令的软件模块。模拟应用程序28存储于存储媒体26中,且可由处理器22加载和执行。可将模拟应用程序28预先加载到存储媒体26中,且可定制模拟应用程序28以与图形装置2一起操作。
在一个方面中,模拟应用程序28模拟图形装置2的硬件操作。可将模拟应用程序28的不同版本存储于存储媒体26中且由处理器22来执行以用于具有不同硬件设计的不同图形装置。在一些状况下,还可将结合模拟应用程序28使用的软件库存储于存储媒体26内。在一个方面中,模拟应用程序28可为一般应用程序,且特定硬件或图形装置模拟功能性可包括在可在执行期间与模拟应用程序28链接的每一单独库内。
在一个方面中,可在显示装置24上将状态/性能信息32的视觉表示显示给应用程序开发者。另外,还可显示图形指令30的视觉表示。因为在许多状况下,图形指令30可包含二进制指令,所以应用程序计算装置20可使用指令映射信息31来在显示装置24上产生图形指令30的视觉表示。指令映射信息31存储于存储媒体26内且可加载到处理器22中以便显示图形指令30的视觉表示。
在一个方面中,指令映射信息31可包括(例如)查找表内的用于将图形指令30映射到先前在产生图形指令30时可能已编译的对应API指令的映射信息。应用程序开发者可编写使用API指令的程序,但这些API指令通常编译成例如图形指令30(其包括在应用程序指令21内)等二进制指令以用于在图形装置2上执行。可将图形指令30内的一个或一个以上指令映射到个别API指令。可接着在显示装置24上将经映射的API指令显示给应用程序开发者以提供实际上正执行的图形指令30的视觉表示。
在一个方面中,例如应用程序开发者等用户可能希望改变图形指令30中的一者或一者以上以确定(例如)此类改变对性能的影响。在此方面中,用户可改变图形指令30的视觉表示。可接着使用映射信息31来将图形指令30的视觉表示内的这些改变映射到二进制指令,如将在下文更详细描述,所述二进制指令可接着在所请求修改34内提供回到图形装置2。
如上所述,显示于应用程序计算装置20的显示装置24上的图形图像可为显示于图形装置2上的图像的表示。因为模拟应用程序28可使用图形指令30和状态/性能信息32来重新创建图像或场景(完全如同其呈现于图形装置2上),所以使用应用程序计算装置20的应用程序开发者可能够在图形应用程序30的执行期间迅速地识别潜在的性能问题或瓶颈,和甚至原型修改以改进图形应用程序30的总体性能。
举例来说,应用程序开发者可在模拟应用程序28在应用程序计算装置20上的执行和重新创建的图像在显示装置24上的显示期间选择对图形指令30和/或状态/性能信息32作出一个或一个以上所请求修改34。任何此类所请求修改34可基于在图形指令30的执行或状态/性能信息32的分析期间所观测到的性能问题或瓶颈。可接着将这些所请求修改34从应用程序计算装置20发送到图形装置2,在图形装置2处,这些所请求修改34由图形处理系统4来处理。在一个方面中,在图形处理系统4内执行图形驱动程序18中的一者或一者以上以处理所请求修改34。所请求修改34在一些状况下可包括经修改的指令。在一些状况下,所请求修改可包括经修改的状态和/或性能信息。
在处理所请求修改34后,即刻(例如)通过图形驱动程序18中的一者或一者以上将经更新的指令和/或信息35发送回到应用程序计算装置20。经更新的指令/信息35可包括用于基于由图形装置2处理的所请求修改34而执行的经更新的图形指令。经更新的指令/信息35还可包括基于由图形装置2处理的所请求修改34的经更新的状态和/或性能信息。
经更新的指令/信息35通过模拟应用程序28来处理以更新经重新创建的图像信息在显示装置24上的显示,且还将经更新的指令/信息35的视觉表示提供给应用程序开发者(其可包括再次使用指令映射信息31)。应用程序开发者可接着检视显示装置24上的经更新的图像信息以及经更新的指令/信息35的视觉表示,以确定性能问题是否已得到解决或缓和。应用程序开发者可使用迭代过程来对图形指令30或原型修改进行除错以改进图形应用程序30的总体性能。
在一个方面中,应用程序计算装置20使用映射/分割信息23来显示覆盖显示于显示装置24上的图形图像的分割区的视觉的图形表示。这些分割区在图形上划分包含显示装置24上的这些图像的场景。举例来说,模拟应用程序28可使用分割模块27来处理映射/分割信息33以在显示装置24的屏幕上创建这些分割区(例如,多个矩形形状分割区)的图形表示。
分割模块27可从存储媒体26加载且由处理器22来执行。当执行时,分割模块27还可分析一个或一个以上图形图像的可包括在状态/性能信息32内的图形数据,以确定所述图形数据的哪些部分与所述分割区中的多者相关联。举例来说,如将在下文更详细描述,分割模块27可分析用于创建用于显示于显示装置24上的图形图像的一个或一个以上多边形,且确定这些多边形中的哪些者可能横跨多个分割区。
存储媒体26进一步包括也可由处理器22来执行的导航模块29。模拟应用程序28在执行期间可使用导航模块29在显示装置上显示导航控制器。用户(例如,应用程序开发者)可与此导航控制器交互作用以检视显示于显示装置24上的场景内的图形图像的经修改的透视图。分割模块27可接着显示覆盖所述图形图像的经修改透视图的分割区的图形表示以在图形上划分所述经修改的场景。分割模块27还可接着分析用于在所述经修改的透视图中创建图形图像的一个或一个以上多边形,以确定所述多边形中的哪些者可能横跨多个分割区。
图2为说明根据一个方面的图1中所展示的图形处理系统4、图形驱动程序18和应用程序计算装置20的某些细节的框图。在图2中,假定应用程序计算装置20耦合到装置2的图形处理系统4。然而,这仅出于说明目的而展示。在其它情况下,应用程序计算装置20可耦合到许多其它形式的图形处理系统和装置。
如图2中所展示,图形处理系统4包括四个可编程处理器:控制处理器10、顶点处理器14、图形处理器12,和显示处理器16,所述处理器也展示于图1中。控制处理器10可控制顶点处理器14、图形处理器12或显示处理器16中的任一者。在许多状况下,这些处理器10、12、14和16可为系统4内的图形处理管线的一部分。
控制处理器10可控制穿过所述管线的数据或指令执行的流程的一个或一个以上方面,且还可将用于图形图像的几何形状信息提供到顶点处理器14。顶点处理器14可管理可根据多个顶点以基元几何形状形式描述或定义的图形图像的顶点变换或几何形状处理。顶点处理器14可将其输出提供到图形处理器12,图形处理器12可对图形图像执行再现或光栅化操作。图形处理器12可将其输出提供到显示处理器16,显示处理器16以像素形式制备图形图像以供显示。图形处理器12还可对像素数据执行各种操作,例如加阴影或按比例缩放。
常常,可在图形指令30的执行期间在此处理管线中处理图形图像数据,图形指令30可为应用程序指令21(图1)的一部分。因此,可由控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上来执行图形指令30。应用程序开发者通常可能并不很了解或不能很好地控制图形处理系统4内的哪些特定处理器执行图形指令30中的哪些者。
在一些状况下,控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上在图形指令30的执行期间可能具有性能问题,或充当处理管线内的潜在的瓶颈。在这些状况下,图形处理系统4内的总体性能可能恶化,且应用程序开发者可能希望对图形指令30作出改变以改进性能。然而,开发者可能未必知晓处理器10、12、14或16中的哪些者可能为具有性能问题的处理器。这些性能问题可包括(例如)与控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上的处理器使用或利用有关的问题。
特定来说,基于方格化的操作常常可产生某些性能问题,在基于方格化的操作中,在再现之前跨越多个方格化分割区划分基元图形数据。举例来说,如果多边形(例如,图5A的实例中所展示的三角形146)横跨两个不同分割区(例如,图5A中所展示的分割区136和138),那么可将所述多边形划分成两个组成片段(每一分割区一个片段),且接着可将这两个组成片段(例如,图5B中所展示的片段146A和146B)独立地再现成包含像素数据的单独图形图像。可能接着需要在显示之前组合这两个单独图形图像以便创建三角形146的视觉表示。针对三角形146的所述两个片段的独立再现操作连同针对两个相关图形图像的组合操作可能引起性能额外开销。
为了辅助识别性能瓶颈和潜在解决方法的问题,图形装置2的图形驱动程序18A可从图形处理系统4俘获或收集图形指令30且将其路由到应用程序计算装置20,如图2中所展示。图形驱动程序18A为图1中所展示的图形驱动程序18的一部分。图形驱动程序18A可由控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上来加载和执行。另外,图形驱动程序18A还可从控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上收集状态和/或性能信息32且也将此信息32路由到应用程序计算装置20。在一个方面中,当图形指令30包括可能已从OpenGL ES API指令产生或编译的二进制指令时,图形驱动程序18A可包含OpenGL ES驱动程序。
各种形式的状态数据可包括在状态/性能信息32内。举例来说,状态数据可包括在图形指令30的执行期间使用或以其它方式与图形指令30相关联的图形数据。状态数据可与顶点阵列有关,例如位置、颜色、坐标、大小或重量数据。状态数据可进一步包括纹理状态数据、点状态数据、线状态数据、多边形状态数据、剔除(culling)状态数据、α测试(alpha test)状态数据、掺合状态数据、深度状态数据、模版状态数据,或颜色状态数据。如先前所描述,状态数据可包括状态信息与实际数据两者。在一些状况下,状态数据可包含与一个或一个以上OpenGL令牌相关联的数据。
各种形式的性能数据还可包括在状态/性能信息32内。大体来说,此性能数据可包括来自控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上的度量或硬件计数器数据。性能数据可包括帧速率或循环数据。循环数据可包括用于造型(profiling)、命令阵列、顶点和索引数据或其它操作的循环的数据。在各个方面中,各种形式的状态和性能数据可包括在由图形驱动程序18A从图形处理系统4收集的状态/性能信息32内。
如先前所描述,应用程序计算装置20可根据所接收的图形指令30和状态/性能信息32显示图形图像的表示。应用程序计算装置20还可显示状态/性能信息32的视觉表示。通过检视重新创建的图形图像和/或状态/性能信息32的视觉表示且与其交互作用,应用程序开发者可能够在图形指令30的执行期间迅速地识别并解决图形装置2的图形处理系统4内的性能问题。举例来说,应用程序开发者可能够识别处理器10、12、14和/或16中的哪些特定者可能具有性能问题。
另外,图形驱动程序18A还将映射和/或分割信息33提供到应用程序计算装置20。如先前参看图1所描述,分割模块27可处理所接收的映射/分割信息33以在显示装置24上显示覆盖场景中的图形图像的分割区的图形表示,以便在图形上划分所述场景。分割模块27还可使用映射/分割信息33来分析可包括在状态/性能信息32内的图形数据,以确定所述数据的哪些部分与所述分割区中的多者相关联。映射/分割信息33可包括将可用于产生一个或一个以上图形图像的图形数据映射到图形指令30内的所识别的指令的映射信息。
在识别对任何所识别的性能问题的暂时解决方案(workaround)或解决方法的尝试中,开发者可在应用程序计算装置20上起始一个或一个以上所请求修改34。举例来说,开发者可与重新创建的图像或状态/性能信息32的表示交互作用以创建所请求修改34。在一些状况下,如在下文更详细描述,开发者甚至可直接改变状态/性能信息32以产生所请求修改34。在某些状况下,所请求修改34可包括用于停用图形指令30中的一者或一者以上在图形装置2的图形处理系统4中的执行的一个或一个以上请求,或用于修改图形指令30中的一者或一者以上的请求。
在一些状况下,用户可与显示于显示装置24上的导航控制器交互作用以请求显示图形场景的经修改的透视图。导航模块29可管理此导航控制器的显示和与此导航控制器的交互作用。由用户经由用户接口输入的任何请求可包括于所请求修改34中。这些请求可包括(例如)用于使场景内的一个或一个以上图形图像旋转的请求、用于放大的请求、用于缩小的请求,或用于改变场景内的图像的透视图的其它类似请求。
将所请求修改34从应用程序计算装置20发送到图形驱动程序18A,图形驱动程序18A处置在操作期间针对图形装置2的请求。在许多状况下,所请求修改34可包括用于修改在图形指令30的执行期间在图形处理系统4内的处理器10、12、14或16中的一者或一者以上内的状态信息(其可包括数据)的请求。图形驱动程序18A可接着实施所请求修改34内所包括的图形处理系统4内的改变。这些改变可变更处理器10、12、14和/或16间执行图形指令30的执行流程。在某些状况下,图形指令30中的一者或一者以上可根据所请求修改34而在在图形处理系统4中执行期间停用。
图形驱动程序18A能够响应于所请求修改34的处理而将经更新的指令和/或信息35发送到应用程序计算装置20。经更新的指令/信息35可包括由图形驱动程序18A从图形处理系统4收集的经更新的状态信息,包括性能信息。经更新的指令/信息35可包括经更新的图形指令和/或图形数据。
应用程序计算装置20可使用经更新的指令/信息35来显示图形图像的经更新的表示,以及经更新的指令/信息35的视觉表示。应用程序开发者接着可能够评估先前所识别的性能问题是否已得到解决或以其它方式得到处理。举例来说,应用程序开发者可能够分析经更新的图像以及经更新的指令/信息35的视觉表示,以确定某些纹理、多边形或其它特征是否已得以优化,或其它性能参数是否已得到改进。
经更新的指令/信息35还可包括经更新的映射和/或分割信息,例如也包括在指令/信息35内的图形数据到指令的经更新的映射。如果由于经更新的指令/信息35而使得场景的经更新的透视图显示于显示装置24上,那么分割模块27可显示覆盖所述经修改的透视图且在图形上划分所述经修改的场景的分割区的图形表示。分割模块27还可分析用于所述经修改的透视图的图形数据(其也可包括在经更新的指令/信息35内),以确定所述图形数据的哪些部分与所述分割区中的多者相关联。可基于对图形数据所执行的再现操作确定所述分割区。
以此方式,应用程序开发者可能够快速且有效地对模拟图形装置2上的图形处理系统4的操作的应用程序计算装置20上的环境内的图形指令30的执行进行除错或分析。开发者可迭代地与应用程序计算装置20上所显示的图像和状态/性能信息交互作用,以分析场景或多个图像帧中的多个图形图像以最大化图形指令30的执行性能。将在下文更详细呈现应用程序计算装置20上的此交互作用和所显示信息的实例。
图3为说明根据一个方面的可由控制处理器10、图形处理器12、顶点处理器14和显示处理器16执行的操作的额外细节的流程图。图3还展示用于帧缓冲器存储100和显示102的操作。在一个方面中,控制处理器10、顶点处理器14、图形处理器12和/或显示处理器16执行由于图形指令30中的一者或一者以上的执行产生的各种操作。
如先前所描述,控制处理器10可控制穿过图形处理管线的数据或指令执行的流程的一个或一个以上方面,且还可将几何形状信息提供到顶点处理器14。如图3中所展示,控制处理器10可在90处执行几何形状存储。在一些状况下,可由控制处理器10将用于一个或一个以上基元的几何形状信息存储于缓冲器15(图1)中。在一些状况下,可将几何形状信息存储于存储媒体8中。
顶点处理器14可接着在92处获得由控制处理器提供和/或存储于缓冲器15中的用于给定基元的几何形状信息以供处理。在特定状况下,顶点处理器14可管理几何形状信息的顶点变换。在特定状况下,顶点处理器14可对几何形状信息执行照明操作。
顶点处理器14可将其输出提供到图形处理器12,图形处理器12可在94处对数据执行再现或光栅化操作。图形处理器12可将其输出提供到显示处理器16,显示处理器16以像素形式制备一个或一个以上图形图像以供显示。在一些状况下,图形处理器12可基于所确定的方格化分割区分裂用于几何形状(例如,一个或一个以上多边形)的图形数据。如先前所描述,图形装置2内的处理器中的一者或一者以上(例如,图形处理器12)可基于某些因素(例如,存储器要求或限制)创建与显示102的不同屏幕区相关联的多个方格化分割区。如果某一几何形状(例如,三角形)横跨多个分割区,那么图形处理器可沿着分割区边界将几何形状分裂成片段,且独立地再现所述片段。在一些状况下,图形处理器12可基于所确定的分割区的数目、类型、大小、形状等将映射/分割信息33提供到应用程序计算装置20。
显示处理器16可在98处对像素数据执行各种操作,包括用于处理数据的各个片段的片段处理。在某些状况下,此可包括如此项技术中已知的深度测试、模版测试、掺合,或纹理映射中的一者或一者以上。如果图形处理器12先前已再现多个几何形状片段,那么显示处理器16的片段处理98可接着组合所述所再现的片段以供存储到帧缓冲器中。当执行纹理映射时,显示处理器16可在96处并有纹理存储和过滤信息。在一些状况下,图形处理器16可对光栅化数据执行其它操作,例如加阴影或按比例缩放操作。
显示处理器16提供输出像素信息以供在100处存储到帧缓冲器中。在一些状况下,帧缓冲器可包括在缓冲器15(图1)内。在其它状况下,帧缓冲器可包括在存储媒体8内。帧缓冲器存储图像数据的一个或一个以上帧,图像数据的所述一个或一个以上帧可接着在102处显示,例如在显示装置6上显示。
如先前所描述,可由控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上来执行图形指令30。应用程序开发者通常可能并不很了解或不能很好地控制图形处理系统4内的哪些特定处理器执行图形指令30中的哪些者。在某些状况下,控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上在图形指令30的执行期间可能具有性能问题,或充当处理管线内的潜在瓶颈。
应用程序开发者可能常常难以查明瓶颈的位置,或如何最佳地解决或缓和此类瓶颈的影响。因此,在一个方面中,可将图形指令30和/或状态信息从图形装置2提供到外部计算装置(例如,应用程序计算装置20)。状态信息可包括来自控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上的关于在图形指令30的执行期间发生的各种操作(例如,图3中所展示的那些操作)的数据。应用程序计算装置20可创建图形图像,所述图形图像展示于装置2上,以便帮助以高效且有效的方式识别并解决瓶颈。应用程序计算装置20还可显示分割信息,且分析用于一个或一个以上几何形状的图形数据以确定所述数据的哪些部分与所述分割区中的多者相关联。
图4为说明根据一个方面的图2中所展示的图形驱动程序18A的额外细节的框图。如先前所描述,图形驱动程序18A可包含可在图形处理系统4内执行(例如,由控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上执行)且可为图形驱动程序18的一部分的指令。图形驱动程序18A的执行允许图形处理系统4与应用程序计算装置20通信。在一个方面中,图形驱动程序18A可包含可在图形处理系统54内执行且可为图形驱动程序68的一部分的指令。
图形驱动程序18A在执行时包括各种功能块,所述功能块在图4中展示为输送接口110、处理器使用模块112、硬件计数器模块114、可管理其它状态和/或性能数据的状态/性能数据模块116、API迹线模块118,和越权控制(override)模块120。图形驱动程序18A使用输送接口模块110来与应用程序计算装置20通信。
处理器使用模块112收集并维护用于控制处理器10、顶点处理器14、图形处理器12和显示处理器16中的一者或一者以上的处理器使用信息。处理器使用信息可包括处理器循环和/或性能信息。循环数据可包括用于造型、命令阵列、顶点和索引数据或其它操作的时钟循环的数据。处理器使用模块112可接着经由输送接口模块110将此处理器使用信息提供到应用程序计算装置20。在一些状况下,当处理器使用模块112接收到此信息时,其以非同步方式将此信息提供到装置20。在其它状况下,处理器使用模块112可在接收到来自装置20的请求后即刻提供所述信息。
硬件计数器模块114收集并维护在指令由控制处理器10、图形处理器12、顶点处理器14或显示处理器16中的一者或一者以上执行期间的各种硬件计数器。计数器可追踪关于图形处理系统4内的指令执行的各种状态指示符和/或度量。硬件计数器模块114可非同步地将信息提供到装置20或在请求后即刻将信息提供到装置20。
状态/性能数据模块116收集并维护用于图形处理系统4中的控制处理器10、图形处理器12、顶点处理器14和显示处理器16中的一者或一者以上的其它状态和/或性能数据。举例来说,状态数据在一些状况下可包含图形数据。状态数据可包括与顶点阵列有关的数据,例如位置、颜色、坐标、大小或重量数据。状态数据可进一步包括纹理状态数据、点状态数据、线状态数据、多边形状态数据、剔除状态数据、α测试状态数据、掺合状态数据、深度状态数据、模版状态数据,或颜色状态数据。性能数据可包括各种其它度量或循环数据。状态/性能数据模块116可非同步地将信息提供到装置20或在请求后即刻将信息提供到装置20。
映射/分割模块117从控制处理器10、图形处理器12、顶点处理器14和显示处理器16中的一者或一者以上收集映射和/或分割信息33,且还可从图形数据映射信息23(图1)收集信息。映射信息可包括用于将经再现以产生用于显示的图形图像的图形数据的经识别的部分映射到图形指令30中的一者或一者以上的信息。此映射信息可有助于将个别指令映射回到用于再现输出图像的原始图形数据。分割信息可包括识别在再现之前当将图形数据分裂开成为组成片段时在图形处理系统4内所创建和使用的分割区的数目、类型、大小、形状等的信息。映射/分割模块117可将映射/分割信息33提供到应用程序计算装置20。
API迹线模块118管理由图形处理系统4执行且经由输送接口模块110输送到应用程序计算装置20的图形指令的流程和/或迹线。如先前所描述,图形装置2将由图形处理系统4在其处理管线中执行的图形指令30的副本提供到装置20。API迹线模块118管理这些图形指令30的俘获和输送。API迹线模块118还可提供与用于将图形指令30映射到图形指令30的视觉表示的指令映射信息31(图1)一起使用的某些信息,例如可能已用于产生图形指令30的API指令。
越权控制模块120允许图形驱动程序18A改变或越权控制图形处理系统4内的某些指令的执行。如先前所描述,应用程序计算装置20可将一个或一个以上所请求修改(例如,修改34)发送到图形装置2。在某些状况下,所请求修改34可包括用于停用图形指令30中的一者或一者以上在图形处理系统4中的执行的一个或一个以上请求,或用于修改图形指令30中的一者或一者以上的请求。在一些状况下,所请求修改34可包括用于改变状态/性能信息32的请求。
越权控制模块120可接受并处理所请求修改34。举例来说,越权控制模块120可从装置20接收用于修改图形指令30中的一者或一者以上的任何请求,连同用于修改状态/性能信息32的任何请求,且将此类请求发送到图形处理系统4。控制处理器10、图形处理器12、顶点处理器14和显示处理器16中的一者或一者以上可接着处理这些请求并产生经更新的指令/信息35。越权控制模块120可接着将经更新的指令/信息35发送到应用程序计算装置20以供处理,如先前所描述。
以此方式,图形驱动程序18A在图形装置2与应用程序计算装置20之间提供接口。图形驱动程序18A能够将图形指令和状态/性能信息32提供到应用程序计算装置20,且还从应用程序计算装置20接收所请求修改34。在处理此类所请求修改34之后,图形驱动程序18A随后能够将经更新的指令/信息35提供回到应用程序计算装置20。
图5A为说明可横跨由显示装置(例如,图1中的图形装置2的显示装置6,或应用程序计算装置20的显示装置24)提供的屏幕区130的四个分割区的图形数据的第一实例的概念图。图5A中所展示的数据在一些状况下可显示于显示装置6上。在一个方面中,基于从图形装置2所接收的状态/性能信息32且还基于从图形装置2所接收的映射/分割信息33将图5A中所展示的数据以图形展示于应用程序计算装置20的显示装置24上。状态/性能信息32可包括用于多边形(即,几何形状)140、142、144和146的图形数据,且映射/分割信息33可包括用于分割区132、134、136和138的信息。举例来说,由应用程序计算装置20接收的映射/分割信息33可指示图形装置2在再现图形数据时使用由132、134、136和138表示的四个相异分割区。
在图5A的实例中,实施四个方格化分割区132、134、136和138。这些分割区表示可显示于显示装置6或显示装置24上的屏幕区130内的四个对应区。如在所述图中可见,多边形140和142每一者通过应用程序指令21(图1)来定义以完全定位或位于对应分割区内。多边形140定位于分割区132内,且多边形142定位于分割区134内。当再现图形数据时,图形处理器12(例如)可分别地且在独立再现操作期间再现分割区132、134、136和138中的每一者内的数据。因为多边形140完全处于分割区132内,所以在与分割区132相关联的再现操作期间可将多边形140再现为完整几何形状。同样,因为多边形142完全处于分割区134内,所以在与分割区134相关联的再现操作期间可将多边形142再现为完整几何形状。
另一方面,多边形144和146横跨多个分割区。多边形144横跨所有四个分割区132、134、136和138,而多边形146横跨两个分割区136和138。为了再现多边形144,图形处理器12可将多边形144分裂成四个组成片段144A、144B、144C和144D(图5B中所展示)。图形处理器12可接着在独立再现操作期间独立地再现片段144A、144B、144C和144D。举例来说,在与分割区132相关联的再现操作期间,图形处理器12可再现片段144A;在与分割区134相关联的再现操作期间,图形处理器12可再现片段144B;在与分割区138相关联的再现操作期间,图形处理器12可再现片段144C;且在与分割区136相关联的再现操作期间,图形处理器12可再现片段144D。
在已独立地再现这些片段144A、144B、144C和144D之后,显示处理器16可能需要组合针对这些片段中的每一者所再现的图像以便显示多边形144的准确的图形表示。这些单独再现和组成操作可能引起性能额外开销。
类似地,为了再现多边形146,图形处理器12可将多边形146分裂成两个组成片段146A和146B(图5B中所展示)。图形处理器12可接着在独立再现操作期间独立地再现片段146A和146B。举例来说,在与分割区138相关联的再现操作期间,图形处理器12可再现片段146A,在与分割区136相关联的再现操作期间,图形处理器12可再现片段146B。在已独立地再现这些片段146A和146B之后,显示处理器16可组合针对这些片段中的每一者所再现的图像以便显示多边形146的准确的图形表示。
图5A到图5B中所展示的信息在一些状况下可显示于应用程序计算装置20的显示装置24上。应用程序计算装置20可使用图形指令30和状态/性能信息32来在显示装置24的屏幕区130内显示多边形140、142、144和146的表示或图形图像。应用程序计算装置20还可使用映射/分割信息33来显示覆盖所述图形图像且在图形上划分具有这些图像的场景的分割区132、134、136和138的图形表示。应用程序计算装置20还可分析用于多边形140、142、144和146的图形数据以确定这些多边形中的哪些者横跨分割区132、134、136和/或138中的多者。
当应用程序开发者检视显示于窗口130内的信息时,开发者能够获知可通过硬件分裂哪些多边形(因为所述多边形横跨多个分割区)且还获知此类分割区定位于何处。当定义场景时,开发者可能够使用此信息来确定图形应用程序(例如,使用应用程序指令21(图1)的应用程序)内的某些图形数据的优化配置或位置。举例来说,在查核图5A中所呈现的信息后,开发者即刻可确定重新布置或重新配置多边形144和146,以使得其不横跨多个分割区。
因为向开发者呈现了覆盖窗口130内的图形图像的分割区的表示,所以当由图形装置2来定义这些分割区时,开发者可更好地理解如何定义、配置或定位多边形144和146以使得其不横跨多个分割区,或使得其仅横跨最小数目的分割区。在一些状况下,开发者可确定将多边形重新定义为子多边形,以使得其可能不需要在再现之后由显示处理器16进行组合。举例来说,开发者可在应用程序指令21的经修改版本中将多边形146重新定义为两个单独多边形146A和146B,如图5B中所展示。如果起初分别定义这些多边形,那么可能接着不需要在显示之前组合这些多边形的经再现的版本,这可减小性能额外开销。
图6为说明可横跨由显示装置(例如,图1中所示的显示装置6(在图形装置2中),或显示装置24(在应用程序计算装置20中))提供的屏幕区150的八个分割区的图形数据的第二实例的概念图。如先前所描述,图形装置2的图形处理系统4可创建或使用具有各种不同形状、大小和类型的与显示装置6的屏幕区相关联的方格化分割区,这可视各种因素而定,例如存储器大小要求或约束,或其它性能考虑。在图6的第二实例中,处理器10、12、14或16中的一者或一者以上可确定创建和使用八个单独分割区,而非图5A和图5B中的实例中所展示的四个分割区。
在屏幕区150内,所述八个分割区为分割区152、154、156、158、160、162、164和166。这些分割区中的每一者为矩形形状。出于说明的目的,如果屏幕区150的区大小大体上与屏幕区130(图5A和图5B)的区大小相同,那么图6中所展示的每一分割区为图5A和图5B中所展示的每一分割区的大小的二分之一。
在图6的实例中,可再次执行应用程序指令21以创建和/或再现多边形140、142、144和146。在图5A和图5B中,当仅使用四个分割区时,多边形140和142不横跨多个分割区。因此,如果图形装置2仅实施四个方格化分割区,那么包括应用程序指令21的图形应用程序可不经历由于多边形140和142的再现引起的额外性能额外开销,因为这些多边形不横跨多个分割区。然而,如果图形装置2实施八个方格化分割区,如图6中所展示,那么多边形140和140每一者横跨两个单独分割区-多边形140横跨分割区152和154,而多边形142横跨分割区156和158。
在一个方面中,可在显示装置24上将分割区152、154、156、158、160、162、164和166的图形表示显示给应用程序开发者。覆盖图形图像的此类分割区的任何图形显示(例如,多边形140、142、144和146的表示)可能对开发者非常有用。常常,开发者将几乎不具有关于由任何个别装置(例如,图形装置2)创建和使用的分割区的数目、类型、形状、大小等的信息或几乎不知晓由任何个别装置(例如,图形装置2)创建和使用的分割区的数目、类型、形状、大小等。通过能够检视覆盖于场景中的图形图像上的此类分割区的图形表示,开发者更好地获知哪些图形图像或基元图形数据(例如)可能横跨多个分割区且因此可具有某一再现性能额外开销。因此,开发者可能够重新定义、重新配置、重新设定大小或以其它方式改变由图形应用程序(例如,包括应用程序指令21的图形应用程序)产生和操纵的图形数据。
图7为根据一个方面的可由应用程序计算装置20经由模拟应用程序28(图1)的执行来执行的方法的流程图。应用程序计算装置20可从外部图形装置(例如,图形装置2)接收映射/分割信息33(170)。应用程序计算装置20还可从图形装置2接收图形指令30(172)。由图形装置2来执行图形指令30以在显示装置6上显示例如三维(3D)图形图像等一个或一个以上图形图像。在一个方面中,图形指令30包含在执行时再现图形图像的呼叫流。在一个方面中,所述呼叫流包含从应用编程接口(API)指令产生的二进制指令。
应用程序计算装置20可进一步从图形装置2接收状态和/或性能信息32(174)。状态/性能信息32与图形指令30在图形装置2上的执行相关联。状态/性能信息32可包括指示图形装置2在其再现图形图像时的一个或一个以上状态的状态信息。所述状态信息可包括来自图形装置2的执行图形指令30的一个或一个以上处理器(例如,控制处理器10、图形处理器12、顶点处理器14,和/或显示处理器16)的状态信息。在一些状况下,状态信息可包含图形数据,例如由图形处理器12使用以再现图形图像数据的基元多边形数据。
应用程序计算装置20可在图形场景中基于图形指令30和状态/性能信息32显示一个或一个以上图形图像的表示(176)。以此方式,应用程序计算装置20能够在模拟图形装置2的模拟环境内显示这些图形图像的表示。可经由模拟应用程序28在应用程序计算装置20的处理器22上的执行来提供所述模拟环境。
应用程序计算装置20可显示覆盖所述图形图像且在图形上划分所述场景的分割区的图形表示(178)。举例来说,在一种情况下,应用程序计算装置20可显示图5A和图5B中所展示的分割区的图形表示。在一些状况下,所述分割区可包含矩形形状分割区。应用程序计算装置20可基于所接收的映射/分割信息33显示所述分割区的图形表示。
另外,应用程序计算装置20可分析用于所述所显示的图形图像的图形数据且确定哪些部分与多个分割区相关联(180)。举例来说,应用程序计算装置20可分析图形基元(例如,用于产生或再现所显示的图形图像的多边形数据),且确定哪些多边形(例如,三角形)横跨多个分割区。
如果尚存在待处理的帧(182),那么可针对一个或一个以上图形图像的多个图像帧重复图形指令的接收(172)、状态信息的接收(174)、图形图像的表示的显示(176)、分割区的显示(178)和图形数据的分析(180)。以此方式,应用程序计算装置20能够在显示装置24上显示静态图形图像与移动图形图像(包括3D图像)两者,且显示覆盖所述图像且在图形上划分场景的分割区的图形表示。当图形图像改变时,或当展示所述图像的替代透视图时,应用程序开发者可连续地查明与所述图像相关联的图形数据与所述分割区的位置之间的关系。
图8为根据一个方面的可由应用程序计算装置20经由模拟应用程序28(图1)的执行来执行的方法的流程图。在一个方面中,处理器22可执行模拟应用程序28以在显示装置24上显示导航控制器。
应用程序计算装置20可从外部图形装置(例如,图形装置2)接收映射/分割信息33(190)。应用程序计算装置20还可在其显示装置24上显示一个或一个以上图形图像的透视图(191)。举例来说,应用程序计算装置20可基于所接收的图形指令30和/或状态/性能信息32显示图形图像的透视图。
应用程序计算装置20可基于所接收的映射/分割信息33在显示装置24上显示覆盖所述图形图像的分割区的图形表示(192)。应用程序计算装置20还可分析用于所述图形图像的图形数据(例如,状态/性能信息32内所包括的图形数据),以确定所述图形数据的哪些部分与所述分割区中的多者相关联。举例来说,所述图形数据可包含多个图形基元(例如,三角形)。应用程序计算装置20可确定所述三角形中的哪些者横跨所述分割区中的多者(193)。这些三角形可包含已至少部分地再现于多个分割区中的三角形。
在一个方面中,应用程序计算装置20结合显示所述分割区的图形表示在显示装置24上显示横跨所述分割区中的多者的三角形的图形表示。在一些状况下,应用程序计算装置20可对于横跨多个分割区的每一三角形显示图形指示(例如,颜色)(194)。
举例来说,应用程序计算装置20在一个方面中可在显示装置24上显示所述三角形的“热图(heat map)”表示,其中每一三角形具有相关联的图形指示符(例如,颜色)。除颜色之外,在某些情况下还可使用其它形式的图形指示符(例如,虚线、闪烁指示符、突出显示的指示符)来将三角形彼此区分。不横跨多个分割区的三角形可以一种颜色(例如,蓝色)来显示。横跨多个分割区(例如,两个到三个分割区)的三角形可以第二颜色(例如,紫色)来显示。横跨三个以上分割区的三角形可以第三颜色(例如,红色)来突出地显示。因此,在此实例中,应用程序开发者可迅速地确定哪些三角形横跨多个分割区,以及哪些三角形比其它三角形横跨更多的分割区。开发者可能够使用此信息来确定如何重新配置、重新定义或以其它方式重构横跨多个分割区的三角形以减小性能(例如,再现)额外开销。
应用程序计算装置20可使用导航模块29(图1)来在显示于显示装置24上的用户接口内显示导航控制器。举例来说,导航控制器可包含3D相机控制器。应用程序开发者可与导航控制器交互作用以随意导航显示于显示装置24上的图形图像的场景。应用程序计算装置20可经由导航控制器接收来自开发者的用户输入以修改所述图像的透视图(195)。
应用程序计算装置20可接着基于到导航控制器的用户输入在经修改的图形场景中显示图形图像的经修改的透视图。举例来说,开发者可与导航控制器交互作用以使图像场景随意旋转,放大或缩小所述场景,或以其它方式改变所述场景的透视图,此可接着在经修改的场景(包括新图像)内显示图像的经修改的透视图。可将提供到导航控制器的用户输入作为所请求修改34发送回到图形装置2,且经更新的透视图的显示可基于由图形装置2提供回到应用程序计算装置20的经更新的指令/信息35。在一个方面中,所请求修改34可包括以下请求中的至少一者:用于停用图形指令30中的一者或一者以上在图形装置2上的执行的请求、用于在图形装置2上修改图形指令30中的一者或一者以上的请求,和用于在图形装置2上修改状态/性能信息32的请求。
在一个方面中,应用程序计算装置20还可显示覆盖所述图形图像的经修改的透视图且在图形上划分所述经修改的场景的分割区的图形表示。应用程序计算装置20可分析用于所述图形图像的经修改的透视图的图形数据,以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
可对场景的多个透视图重复以下操作(196):图形图像的透视图的显示(191)、覆盖所述图形图像的分割区的显示(192)、确定哪个(哪些)基元三角形横跨多个分割区(193)、用于每一所确定的三角形的图形指示的显示(194),以及经由导航控制器接收用户输入以修改场景的透视图(195)。当图形图像改变时,或当展示所述图像的替代透视图时,应用程序开发者可连续地查明与所述图像相关联的图形数据与所述分割区的位置之间的关系。
图9为说明根据一个方面的耦合到用于在图形窗口203中显示信息的显示装置201的图形装置200的一实例的概念图。如果(例如)图形装置200为图形装置2(图1)的一部分,那么显示装置201可为应用程序计算装置20中的图形装置24的一部分。图形装置200能够显示3D图形图像202。显示装置201能够基于图形指令和从图形装置200所发送的状态/性能信息在窗口203内显示为图形图像202的重新创建的3D图形图像210。显示装置201还能够显示这些指令和状态/性能信息的视觉表示,以使得开发者可改变这些指令和信息以修改图形图像210或包括图形图像210的整个场景。显示装置201可包括在耦合到图形装置200且能够从图形装置200接收此类指令和状态/性能信息的任何类型的计算装置(未展示)内。(出于简单的目的,在图10中所展示的概念图中省略包括显示装置201的计算装置。)
如先前所描述,图形装置200能够显示3D图形图像202(其在图9的实例中为立方体)。在图9的实例中,图形装置200还具有小键盘204。用户可与小键盘204交互作用以操纵图形装置200。小键盘204可包括若干个键和/或按钮。图形装置200能够经由连接器206将图形指令和状态/性能信息发送到包括图形装置201的装置(例如,应用程序计算装置20)。在一个方面中,连接器206包含通用串列总线(USB)连接器。在其它方面中,可使用不同形式的连接器。在一些方面中,无线通信可替换连接器206。
如图9的实例中所展示,显示装置201可在图形用户接口内显示各种类型的信息。在此实例中,显示装置在图形用户接口内显示图形窗口203。窗口203包括显示区211、图形指令区208,和状态/性能信息区214。显示区211包括3D图形图像210,其如先前所描述为3D图形图像202的重新创建。在此实例中,3D图形图像包含立方体。根据一个方面,显示于显示装置201上的信息包含显示于图形装置202上的信息的表示或模拟(用于除错和测试的目的)。
图形指令区208包括已从图形装置200接收的一个或一个以上图形指令的视觉表示。如先前所描述,此类指令的视觉表示可包含此类指令的表示。举例来说,如果图形装置200发送二进制图形指令,那么显示装置201可以另一形式显示此类二进制指令的表示,例如较高阶应用编程接口(API)指令(例如,OpenGL指令)。可使用映射信息(例如,图1中所展示的映射信息31)来将所接收的二进制指令映射成可在图形指令区208内显示的另一格式。
状态/性能信息区214包括已从图形装置200接收的状态和/或性能信息的视觉表示。可使用所接收的图形指令和状态/性能信息来在显示区内显示3D图形图像210。在一个方面中,图形装置200可利用实施状态/性能数据模块(例如,图4中所展示的状态/性能数据模块116)的图形驱动程序来提供各种状态和/或性能数据。所接收的状态/性能信息可包括图形数据(例如,基元数据和/或光栅化数据)。
窗口203还包括一个或一个以上选择器212A-212N。用户可选择这些选择器212A-212N中的任一者。如将在下文更详细描述,每一选择器212A-212N可与不同功能(例如,统计和导航功能)相关联。窗口203进一步包括选择器216A-216N和218A-218N,所述选择器中的每一者可供用户选择。如将在下文参看图10更详细描述,每一选择器216A-216N和218A-218N还可与不同功能(例如,度量功能、越权控制功能,和/或纹理功能)相关联。
用户(例如,应用程序开发者)可改变显示于窗口203内的信息。举例来说,用户可修改显示于图形指令区208内的指令中的一者或一者以上,或状态/性能信息区214内的状态/性能信息中的任一者。
可接着将窗口203内由用户起始的任何改变作为所请求修改发送回到图形装置200。图形装置200可接着处理这些修改,且提供可接着显示于图形指令区208和/或状态/性能信息区214内的经更新的指令和/或信息。还可使用所述经更新的指令和/或信息在显示区211内显示3D图形图像210的经修改的版本。
在一个方面中,可由包括显示装置201的计算装置(例如,图1中所展示的应用程序计算装置20)来分析可显示于区214内的状态和/或性能信息以识别在图形指令在图形装置200上的执行期间的潜在瓶颈。最终,用户(例如,应用程序开发者)可能希望在除错过程期间检视窗口203中所呈现的信息以优化图形指令在图形装置200上的执行。如先前所描述,可能在图形装置200中的图形处理管线内的任何处引入瓶颈,且应用程序开发者可能难以隔离此类瓶颈以用于性能优化。经由状态和/或性能信息的分析,可在窗口203中(例如,在一个或一个以上子窗口或弹出窗口内,或在窗口203的区214内)显示潜在瓶颈和可能的暂时解决方案。
在一个方面中,窗口203可显示关于从图形装置200所接收的图形指令的呼叫流中所遭遇的瓶颈的报告,且还可显示可能的暂时解决方案。在一些状况下,可将这些可能的暂时解决方案作为“如果-那么”情况呈现给用户。举例来说,再现呼叫流中的非优化三角形列表可作为一个可能的情况呈现,而贯穿三角形条带优化框架预先处理所述列表可作为第二可能情况呈现。用户可选择这些可能的暂时解决方案情况中的任一者作为所请求修改,且接着将所述所请求修改发射回到图形装置200,在图形装置200处可测量性能。图形装置200接着发送可呈现于图形指令区208和/或状态/性能信息区214内的经更新的指令/信息。用户可接着检视结果,且比较各种不同潜在暂时解决方案的结果以识别最佳解决方法。用户可使用此过程来迅速地识别可采取以便从其应用程序移除瓶颈的一系列步骤。
用户可迭代地继续在窗口203内作出调整以用于实验或试/错(trial/error)除错的目的。用户可实验图形指令和状态/性能信息的各种不同形式或组合以识别显示于显示区211内的图像或场景的改变。用户可使用由窗口203的内容提供的模拟环境来迭代地检视并修改图形指令(其可为呼叫流的一部分),和由图形装置200提供的状态,而不必重新编译任何源代码且在图形装置200上重新执行所编译的代码。
在一些状况下,用户可操纵按钮212A-212N中的一者或一者以上以操纵图形导航控制器(例如,图形相机),以修改图形图像210的透视图。可将此操纵俘获为接着发送回到图形装置200的所请求修改。接着使用由图形装置200提供的经更新的指令/信息来修改图形图像210的透视图。
在一些状况下,可在窗口203的区214中作为可修改的实体提供各种纹理和/或状态信息。另外,用户甚至可选择(例如)显示区211内的图形图像210的像素,以便识别图形指令区208内的一个或一个以上对应指令。以此方式,用户可有效地向后操演(drill backwards)到用于再现或创建所述像素或图形图像210的其它部分的再现指令或呼叫。因为图形装置201可在窗口203中重新创建图像210(完全如同其呈现于图形装置200上),所以用户能够迅速地隔离其应用程序中的问题(所述应用程序可基于显示于图形指令区208中的各种图形指令),且将状态/性能区214内的任何状态修改成原型新效应。
在一个方面中,显示装置201还能够显示分割信息,以及可横跨多个分割区的多边形数据。举例来说,应用程序开发者可选择一按钮(例如,按钮212A-212N中的一者),以使得显示装置201在显示区211中显示覆盖图像210且在图形上划分场景的分割区(例如,矩形形状分割区)的图形表示。在一些状况下,当装置200为图形装置2的一部分时,所显示的分割区可基于所接收的映射/分割信息33(图1)。包括显示装置201的装置还可分析用于图形图像210的图形数据(例如,多边形数据)以确定所述图形数据的哪些部分与所述分割区中的多者相关联。举例来说,如果使用多个多边形来再现图形图像210,那么装置可分析所述多边形以确定这些多边形中的哪些者横跨多个分割区。
图10为说明根据一个方面的耦合到在图形窗口220内显示信息的显示装置201的图形装置200的另一实例的概念图。在此方面中,窗口220包括各种指令信息以及度量信息。
举例来说,在图形指令区208内,展示各种图形指令242。图形指令242可为由图形装置200提供的图形指令的子集。举例来说,如果图形装置200为图形装置2的一部分,那么图形指令242可为图形指令30的子集。在一些状况下,可使用映射信息(例如,图1中所展示的映射信息31)来将从图形装置200所接收的传入的指令映射到这些指令的视觉表示,这些指令的视觉表示经实质化为显示于图形指令区208内的指令242。举例来说,如果所接收的指令呈二进制形式,那么指令242可包含用于产生二进制形式的指令的API指令。
如图10的实例中所展示,图形指令242包括高阶指令与低阶指令两者。用户(例如,应用程序开发者)可使用滚动条244来检视指令242的整个集合。某些高阶指令可包括一个或一个以上低阶指令(例如,较低阶API指令)。应用程序开发者在一些状况下可选择(例如,例如通过点击)特定高阶指令以便检视为相关联的高阶指令的一部分或由相关联的高阶指令执行的任何低阶指令。如先前所描述,使用所接收的图形指令(例如,指令242)来产生图形图像202的表示,所述表示包含展示于窗口220的显示区211中的图形图像210。
在图10中的状态/性能信息区214的下方展示各种选择按钮。这些选择按钮包括纹理按钮236、越权控制按钮238,和度量按钮240。在图10的实例中,应用程序开发者已选择度量按钮240。在选择此按钮后,即刻可显示各种度量选项。举例来说,可在状态/性能区214的上方显示一个或一个以上度量按钮234A-234N。每一度量按钮234A-234N可与特定度量相关联。在一些状况下,这些度量中的一者或一者以上可为预定义或预配置的度量类型,且在一些状况下,应用程序开发者可选择或定制所述度量中的一者或一者以上。实例度量可包括(例如)以下中的任何一者或一者以上:每秒帧数、忙碌%(针对一个或一个以上处理器)、总线忙碌、存储器忙碌、顶点忙碌、每秒顶点数、每秒三角形数、每秒像素时钟数、每秒片段数等。应用程序开发者可选择度量按钮234A-234N中的任一者以检视关于选定度量的额外细节。
举例来说,如果度量按钮234A与每秒帧数相关联,那么应用程序开发者可选择度量按钮234A以检视关于图形图像210的每秒帧数(与性能有关)的额外细节,或选择图形图像210的部分。开发者在一些状况下可选择度量按钮234A,或将度量按钮234A拖曳到状态/性能信息区214中。关于每秒帧数的详细信息可显示于状态/性能信息区214内。开发者还可将度量按钮234A拖曳到显示区211中,或选择图形图像210的一部分以用于应用度量按钮234A。举例来说,开发者可在选择度量按钮234A之后选择图形图像210的一部分,且接着关于所述选定部分的每秒帧数的详细信息可显示于状态/性能信息区214内。以此方式,开发者可基于度量按钮234A到234N中的一者或一者以上的选择和甚至图形图像210(或其一部分)的可能选择来检视针对任何数目的不同度量类型的性能数据。
在一个方面中,可由图形装置200的图形驱动程序(例如,图4中所展示的图形驱动程序18)来提供可显示于窗口220内的度量数据。此图形驱动程序可实施硬件计数器模块(例如,图4的硬件计数器模块114)和/或处理器使用模块(例如,图4的处理器使用模块112)以提供可接着作为度量数据显示于窗口220内的各种数据。
开发者在一些状况下还可选择纹理按钮236。在选择后,即刻可由图形装置201来显示与图形图像210有关的各种形式的纹理信息。举例来说,纹理信息可显示于窗口220内,例如,显示于状态/性能信息区214内。在一些状况下,纹理信息可显示于额外(例如,弹出)窗口(未展示)内。开发者可检视所显示的纹理信息,但在一些状况下还可修改纹理信息。在这些状况下,可将对纹理信息的任何修改作为所请求修改传播回到图形装置200。在从图形装置200接收到经更新的指令/信息后,即刻可在显示区211内显示对图形图像210的改变。图11包括可在选择纹理按钮236后即刻被显示的某些纹理信息。
开发者在一些状况下还可选择越权控制按钮238。在选择越权控制按钮238之后,可显示(例如,在窗口220或另一窗口内)可由开发者修改或越权控制的某些信息(例如,指令和/或状态信息)。任何修改或越权控制可包括在发送到图形装置200的一个或一个以上所请求修改内。在一个方面中,图形装置200可实施例如图形驱动程序18A(图4)等图形驱动程序,以处理任何所请求修改。举例来说,图形装置200可使用越权控制模块120来处理包含一个或一个以上越权控制的此类所请求修改。
在一些状况下,开发者可越权控制展示于图形指令区208内的图形指令242中的一者或一者以上。在这些状况下,开发者可键入或以其它方式在图形指令区208内输入信息以修改或越权控制图形指令242中的一者或一者以上。可接着将这些修改发送到图形装置200,图形装置200将提供经更新的指令/信息以更新图形图像210在显示区211内的显示。开发者可改变(例如)图形指令242的参数、排序、类型等以越权控制由指令242提供的一个或一个以上功能。在一个方面中,可使用映射信息31(图1)来将对图形指令242的改变映射或转换成可接着提供到图形装置200的另一格式的对应指令(例如,二进制指令)。
在一些状况下,开发者还可选择越权控制按钮238以越权控制与由图形装置200实施的处理管线相关联的一个或一个以上功能。图12展示可在选择越权控制按钮238后即刻被显示给开发者的越权控制屏幕的一实例。
窗口220进一步包括选择按钮231和232。选择按钮231为分割按钮,且选择按钮232为导航按钮。开发者可选择分割按钮231以检视覆盖图形图像210且在图形上划分显示于显示区211中的场景的分割区(例如,矩形形状分割区)的图形表示。在用户选择分割按钮231后,所述图形分割区即刻可显示于显示区211中。
显示区211或单独的显示区或窗口还可基于对图形图像210的图形数据的分析(所述分析确定所述数据的哪些部分与多个分割区相关联)来显示信息。举例来说,显示区211或单独的显示区或窗口可结合分割区的图形表示显示用于再现图形图像210的哪些多边形横跨多个分割区。在一些状况下,可对于横跨多个分割区的每一多边形(例如,三角形)显示图形指示(例如,颜色)。
举例来说,在一个方面中,可显示“热图”,其中以特定颜色显示每一三角形。不横跨多个分割区的三角形可以一种颜色(例如,蓝色)来显示。横跨多个分割区(例如,两个到三个分割区)的三角形可以第二颜色(例如,紫色)来显示。横跨三个以上分割区的三角形可以第三颜色(例如,红色)来突出地显示。因此,在此实例中,应用程序开发者可迅速地确定哪些三角形横跨多个分割区,和哪些三角形比其它三角形横跨更多分割区。开发者可能够使用此信息来确定如何重新配置、重新定义或以其它方式重构横跨多个分割区的三角形以减小产生图形图像210时的性能(例如,再现)额外开销。
开发者还可选择导航按钮232以在显示区211内导航,且甚至可能改变显示区211内的图形图像210的透视图。举例来说,在选择导航按钮232后,即刻可显示3D图形相机或导航控制器。开发者可与所述控制器交互作用以导航到显示区211内的任何区。开发者还可使用所述控制器来(例如)通过使图形图像210旋转或将图形图像210放大/缩小来改变图形图像210的透视图。
在一个方面中,可将经由导航按钮232的选择和与图形导航控制器的交互作用进行的任何开发者起始的改变作为所请求修改(例如,图1中所展示的所请求修改84的一部分)传播回到图形装置200。可接着使用接着由图形装置200提供的经更新的指令/信息来更新图形图像210的显示(例如,透视图)。另外,经更新的指令可显示于图形指令区208内。经更新的状态/性能信息可显示于状态/性能信息区214内。
在一个方面中,图形分割区可显示和覆盖于图形图像210的经修改的透视图上。另外,可分析经更新的指令/信息内所含有的针对图形图像210的经修改的透视图的图形数据以确定所述数据的哪些部分与多个分割区相关联。
因此,开发者可有效且高效地确定用于再现和显示图形图像210的替代透视、定向、视图等可如何影响图形装置200的性能和状态。这对于开发者优化用于在显示于显示装置201上的模拟环境中创建和再现图形图像210的图形指令242且有效地优化显示于图形装置200上的图形图像202可能是非常有用的。在一个方面中,还可将基于窗口220内的开发者起始的选择和控制的图形图像210的位置、透视、定向等的任何改变视为在测试过程期间对可显示于图形装置200上的图形图像202的改变。
经由与图形用户接口内的图形窗口220的交互作用,应用程序开发者可试图识别在图形指令242的执行期间的性能问题和/或瓶颈,图形指令242为由图形装置200执行以创建图形图像202的图形指令的视觉表示。基于由图形装置200接收的图形指令242和状态/性能数据将图形图像202的表示(即,图形图像210)显示于显示区211内。通过检视图形指令242、图形图像210和状态/性能信息以及基于对这些中的一者或一者以上的用户起始的修改的效应,应用程序开发者可交互地且动态地进行试错或除错过程以优化指令在图形装置200上的执行,且消除或缓和指令执行期间的任何性能问题(例如,瓶颈)。
另外,包括若干个不同图形分割区的图形场景的视觉表示可允许开发者识别所述图形场景的归因于可与屏幕分割相关联的成本而展现减小的性能的部分。开发者可查核分割和相关联的分析信息以探究所述场景的替代组成以帮助减小这些成本和/或相关的性能额外开销。
本发明中所描述的技术可实施于通用微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效逻辑装置内。因此,如本文中所使用的术语“处理器”或“控制器”可指代上述结构中的任一者或适合于实施本文中所描述的技术的任何其它结构。
本文中所说明的各种组件可通过硬件、软件、固件或其任何组合的任何合适组合来实现。在图中,各种组件描绘为单独单元或模块。然而,参看这些图所描述的各种组件的全部或若干者可集成为共同硬件和/或软件内的组合单元或模块。因此,作为组件、单元或模块的特征的表示希望突出显示特定功能特征以易于说明,且未必需要通过单独硬件或软件组件来实现此类特征。在一些状况下,各种单元可实施为由一个或一个以上处理器执行的可编程处理。
本文中描述为模块、装置或组件的任何特征(包括图形装置100和/或其组成组件)可共同实施于集成式逻辑装置中或单独实施为离散但可交互操作的逻辑装置。在各个方面中,此类组件可至少部分地形成为可统称为集成电路装置(例如,集成电路芯片或芯片组)的一个或一个以上集成电路装置。此类电路可提供于单一集成电路芯片装置中或多个、可交互操作的集成电路芯片装置中,且可用于多种图像、显示器、音频或其它多媒体应用程序和装置中的任一者中。在一些方面中,举例来说,此类组件可形成移动装置(例如,无线通信装置手持机)的一部分。
如果以软件来实施,那么可至少部分地通过计算机可读媒体来实现所述技术,所述计算机可读媒体包含具有在由一个或一个以上处理器执行时执行上文所描述的方法中的一者或一者以上的指令的代码。计算机可读媒体可形成计算机程序产品的一部分,所述计算机程序产品可包括封装材料。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)等随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、嵌入式动态随机存取存储器(eDRAM)、静态随机存取存储器(SRAM)、快闪存储器、磁性或光学数据存储媒体。
另外或作为替代,所述技术可至少部分地通过计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传送代码且可由一个或一个以上处理器来存取、读取和/或执行。可将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术而从网站、服务器或其它远程源发射软件,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波等无线技术包括在媒体的定义中。上述内容的组合也应包括在计算机可读媒体的范围内。所利用的任何软件可由一个或一个以上处理器来执行,例如一个或一个以上DSP、通用微处理器、ASIC、FPGA或其它等效集成逻辑电路或离散逻辑电路。
本文中已描述各个方面。这些和其它方面在所附权利要求书的范围内。
Claims (80)
1.一种方法,其包含:
在图形场景中显示一个或一个以上图形图像;
显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示;以及
分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
2.根据权利要求1所述的方法,其进一步包含:
针对所述一个或一个以上图形图像的多个帧重复以下操作:一个或一个以上图形图像的所述显示,显示多个分割区的图形表示,以及分析图形数据。
3.根据权利要求1所述的方法,其中所述一个或一个以上图形图像中的至少一者包含三维图形图像。
4.根据权利要求1所述的方法,其中显示所述多个分割区的所述图形表示包含显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的多个矩形形状分割区的图形表示。
5.根据权利要求1所述的方法,其中所述图形数据包含用于再现所述一个或一个以上图形图像的多个图形基元。
6.根据权利要求5所述的方法,其中所述多个图形基元包含多个三角形。
7.根据权利要求6所述的方法,其中分析所述图形数据包含确定所述三角形中的哪些者横跨所述分割区中的所述多者。
8.根据权利要求7所述的方法,其中确定所述三角形中的哪些者横跨所述分割区中的所述多者包含确定所述三角形中的哪些者已至少部分地再现于所述分割区中的所述多者中。
9.根据权利要求7所述的方法,其进一步包含:
显示横跨所述分割区中的所述多者的所述三角形的图形表示。
10.根据权利要求9所述的方法,其中显示横跨所述分割区中的所述多者的所述三角形的所述图形表示包含结合显示所述分割区的所述图形表示显示横跨所述分割区中的所述多者的所述三角形的所述图形表示。
11.根据权利要求9所述的方法,其中显示横跨所述分割区中的所述多者的所述三角形的所述图形表示包含对于每一三角形显示图形指示,其中所述图形指示提供每一对应三角形所横跨的分割区的数目的视觉指示。
12.根据权利要求11所述的方法,其中用于每一对应三角形的所述图形指示包含颜色。
13.根据权利要求11所述的方法,其中对于每一三角形显示所述图形指示包含突出地显示用于比其它三角形横跨更多分割区的那些三角形的所述图形指示。
14.根据权利要求1所述的方法,其中显示所述多个分割区的所述图形表示包含:
从外部图形装置接收分割信息;以及
基于所述所接收的分割信息显示所述多个分割区的所述图形表示。
15.根据权利要求1所述的方法,其进一步包含:
显示导航控制器;
接收用户输入以与所述导航控制器交互作用;以及
基于到所述导航控制器的所述用户输入在经修改的图形场景中显示所述一个或一个以上图形图像的经修改的透视图。
16.根据权利要求15所述的方法,其中:
显示所述多个分割区的所述图形表示包含显示覆盖所述一个或一个以上图形图像的所述经修改的透视图且在图形上划分所述经修改的场景的所述多个分割区的所述图形表示;且
分析所述图形数据包含分析用于所述一个或一个以上图形图像的所述经修改的透视图的图形数据以确定所述图形数据的哪些部分与所述分割区中的所述多者相关联。
17.根据权利要求1所述的方法,其进一步包含:
从外部图形装置接收图形指令;以及
从所述外部图形装置接收状态信息,其中所述状态信息与所述图形指令在所述外部图形装置上的执行相关联,且
其中在所述图形场景中显示所述一个或一个以上图形图像包含基于所述图形指令和所述状态信息显示所述一个或一个以上图形图像。
18.根据权利要求17所述的方法,其中所述状态信息包含用于所述一个或一个以上图形图像的所述图形数据。
19.根据权利要求17所述的方法,其进一步包含:
从所述外部图形装置接收将所述图形数据映射到所述图形指令的映射信息。
20.根据权利要求1所述的方法,其中基于对所述图形数据所执行的再现操作确定所述分割区。
21.一种计算机可读媒体,其包含用于致使一个或一个以上处理器进行以下操作的计算机可执行指令:
在图形场景中显示一个或一个以上图形图像;
显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示;以及
分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
22.根据权利要求21所述的计算机可读媒体,其进一步包含用于致使所述一个或一个以上处理器进行以下操作的计算机可执行指令:
针对所述一个或一个以上图形图像的多个帧重复以下操作:一个或一个以上图形图像的所述显示,显示多个分割区的图形表示,以及分析图形数据。
23.根据权利要求21所述的计算机可读媒体,其中所述一个或一个以上图形图像中的至少一者包含三维图形图像。
24.根据权利要求21所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器显示所述多个分割区的所述图形表示的计算机可执行指令包含用于致使所述一个或一个以上处理器显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的多个矩形形状分割区的图形表示的计算机可执行指令。
25.根据权利要求21所述的计算机可读媒体,其中所述图形数据包含用于再现所述一个或一个以上图形图像的多个图形基元。
26.根据权利要求25所述的计算机可读媒体,其中所述多个图形基元包含多个三角形。
27.根据权利要求26所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器分析所述图形数据的计算机可执行指令包含用于致使所述一个或一个以上处理器确定所述三角形中的哪些者横跨所述分割区中的所述多者的计算机可执行指令。
28.根据权利要求27所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器确定所述三角形中的哪些者横跨所述分割区中的所述多者的计算机可执行指令包含用于致使所述一个或一个以上处理器确定所述三角形中的哪些者已至少部分地再现于所述分割区中的所述多者中的计算机可执行指令。
29.根据权利要求27所述的计算机可读媒体,其进一步包含用于致使所述一个或一个以上处理器进行以下操作的计算机可执行指令:
显示横跨所述分割区中的所述多者的所述三角形的图形表示。
30.根据权利要求29所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器显示横跨所述分割区中的所述多者的所述三角形的所述图形表示的计算机可执行指令包含用于致使所述一个或一个以上处理器结合显示所述分割区的所述图形表示显示横跨所述分割区中的所述多者的所述三角形的所述图形表示的计算机可执行指令。
31.根据权利要求29所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器显示横跨所述分割区中的所述多者的所述三角形的所述图形表示的计算机可执行指令包含用于致使所述一个或一个以上处理器对于每一三角形显示图形指示的计算机可执行指令,其中所述图形指示提供每一对应三角形所横跨的分割区的数目的视觉指示。
32.根据权利要求31所述的计算机可读媒体,其中用于每一对应三角形的所述图形指示包含颜色。
33.根据权利要求31所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器对于每一三角形显示所述图形指示的计算机可执行指令包含用于致使所述一个或一个以上处理器突出地显示用于比其它三角形横跨更多分割区的那些三角形的所述图形指示的计算机可执行指令。
34.根据权利要求21所述的计算机可读媒体,其中所述用于致使所述一个或一个以上处理器显示所述多个分割区的所述图形表示的计算机可执行指令包含用于致使所述一个或一个以上处理器进行以下操作的计算机可执行指令:
从外部图形装置接收分割信息;以及
基于所述所接收的分割信息显示所述多个分割区的所述图形表示。
35.根据权利要求21所述的计算机可读媒体,其进一步包含用于致使所述一个或一个以上处理器进行以下操作的计算机可执行指令:
显示导航控制器;
接收用户输入以与所述导航控制器交互作用;以及
基于到所述导航控制器的所述用户输入在经修改的图形场景中显示所述一个或一个以上图形图像的经修改的透视图。
36.根据权利要求35所述的计算机可读媒体,其中:
所述用于致使所述一个或一个以上处理器显示所述多个分割区的所述图形表示的计算机可执行指令包含用于致使所述一个或一个以上处理器显示覆盖所述一个或一个以上图形图像的所述经修改的透视图且在图形上划分所述经修改的场景的所述多个分割区的所述图形表示的计算机可执行指令;且
所述用于致使所述一个或一个以上处理器分析所述图形数据的计算机可执行指令包含用于致使所述一个或一个以上处理器分析用于所述一个或一个以上图形图像的所述经修改的透视图的图形数据以确定所述图形数据的哪些部分与所述分割区中的所述多者相关联的计算机可执行指令。
37.根据权利要求21所述的计算机可读媒体,其进一步包含用于致使所述一个或一个以上处理器进行以下操作的计算机可执行指令:
从外部图形装置接收图形指令;以及
从所述外部图形装置接收状态信息,其中所述状态信息与所述图形指令在所述外部图形装置上的执行相关联,且
其中所述用于致使所述一个或一个以上处理器在所述图形场景中显示所述一个或一个以上图形图像的计算机可执行指令包含用于致使所述一个或一个以上处理器基于所述图形指令和所述状态信息显示所述一个或一个以上图形图像的计算机可执行指令。
38.根据权利要求37所述的计算机可读媒体,其中所述状态信息包含用于所述一个或一个以上图形图像的所述图形数据。
39.根据权利要求37所述的计算机可读媒体,其进一步包含用于致使所述一个或一个以上处理器进行以下操作的计算机可执行指令:
从所述外部图形装置接收将所述图形数据映射到所述图形指令的映射信息。
40.根据权利要求21所述的计算机可读媒体,其中所述分割区基于对所述图形数据所执行的再现操作而确定。
41.一种装置,其包含:
显示装置;以及
一个或一个以上处理器,其经配置以:
在所述显示装置上在图形场景中显示一个或一个以上图形图像;
在所述显示装置上显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示;以及
分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联。
42.根据权利要求41所述的装置,其中所述一个或一个以上处理器进一步经配置以针对所述一个或一个以上图形图像的多个帧重复以下操作:一个或一个以上图形图像的所述显示,显示多个分割区的图形表示,以及分析图形数据。
43.根据权利要求41所述的装置,其中所述一个或一个以上图形图像中的至少一者包含三维图形图像。
44.根据权利要求41所述的装置,其中所述一个或一个以上处理器经配置以至少通过显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的多个矩形形状分割区的图形表示来显示所述多个分割区的所述图形表示。
45.根据权利要求41所述的装置,其中所述图形数据包含用于再现所述一个或一个以上图形图像的多个图形基元。
46.根据权利要求45所述的装置,其中所述多个图形基元包含多个三角形。
47.根据权利要求46所述的装置,其中所述一个或一个以上处理器经配置以至少通过确定所述三角形中的哪些者横跨所述分割区中的所述多者来分析所述图形数据。
48.根据权利要求47所述的装置,其中所述一个或一个以上处理器经配置以至少通过确定所述三角形中的哪些者已至少部分地再现于所述分割区中的所述多者中来确定所述三角形中的哪些者横跨所述分割区中的所述多者。
49.根据权利要求47所述的装置,其中所述一个或一个以上处理器进一步经配置以显示横跨所述分割区中的所述多者的所述三角形的图形表示。
50.根据权利要求49所述的装置,其中所述一个或一个以上处理器经配置以至少通过结合显示所述分割区的所述图形表示显示横跨所述分割区中的所述多者的所述三角形的所述图形表示来显示横跨所述分割区中的所述多者的所述三角形的所述图形表示。
51.根据权利要求49所述的装置,其中所述一个或一个以上处理器经配置以至少通过对于每一三角形显示图形指示来显示横跨所述分割区中的所述多者的所述三角形的所述图形表示,其中所述图形指示提供每一对应三角形所横跨的分割区的数目的视觉指示。
52.根据权利要求51所述的装置,其中用于每一对应三角形的所述图形指示包含颜色。
53.根据权利要求51所述的装置,其中所述一个或一个以上处理器经配置以至少通过突出地显示用于比其它三角形横跨更多分割区的那些三角形的所述图形指示来显示用于每一三角形的所述图形指示。
54.根据权利要求41所述的装置,其中所述一个或一个以上处理器经配置以至少通过从外部图形装置接收分割信息且基于所述所接收的分割信息显示所述多个分割区的所述图形表示来显示所述多个分割区的所述图形表示。
55.根据权利要求41所述的装置,其中所述一个或一个以上处理器进一步经配置以显示导航控制器,接收用户输入以与所述导航控制器交互作用,且基于到所述导航控制器的所述用户输入在经修改的图形场景中显示所述一个或一个以上图形图像的经修改的透视图。
56.根据权利要求55所述的装置,其中:
所述一个或一个以上处理器经配置以至少通过显示覆盖所述一个或一个以上图形图像的所述经修改的透视图且在图形上划分所述经修改的场景的所述多个分割区的所述图形表示来显示所述多个分割区的所述图形表示;且
所述一个或一个以上处理器经配置以至少通过分析用于所述一个或一个以上图形图像的所述经修改的透视图的图形数据以确定所述图形数据的哪些部分与所述分割区中的所述多者相关联来分析所述图形数据。
57.根据权利要求41所述的装置,其中所述一个或一个以上处理器进一步经配置以从外部图形装置接收图形指令且从所述外部图形装置接收状态信息,其中所述状态信息与所述图形指令在所述外部图形装置上的执行相关联,且其中所述一个或一个以上处理器经配置以至少通过基于所述图形指令和所述状态信息显示所述一个或一个以上图形图像来在所述图形场景中显示所述一个或一个以上图形图像。
58.根据权利要求57所述的装置,其中所述状态信息包含用于所述一个或一个以上图形图像的所述图形数据。
59.根据权利要求57所述的装置,其中所述一个或一个以上处理器进一步经配置以从所述外部图形装置接收将所述图形数据映射到所述图形指令的映射信息。
60.根据权利要求41所述的装置,其中所述分割区基于对所述图形数据所执行的再现操作而确定。
61.一种装置,其包含:
用于在图形场景中显示一个或一个以上图形图像的装置;
用于显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的分割区的图形表示的装置;以及
用于分析用于所述一个或一个以上图形图像的图形数据以确定所述图形数据的哪些部分与所述分割区中的多者相关联的装置。
62.根据权利要求61所述的装置,其进一步包含:
用于针对所述一个或一个以上图形图像的多个帧重复以下操作的装置:一个或一个以上图形图像的所述显示,显示多个分割区的图形表示,以及分析图形数据。
63.根据权利要求61所述的装置,其中所述一个或一个以上图形图像中的至少一者包含三维图形图像。
64.根据权利要求61所述的装置,其中所述用于显示所述多个分割区的所述图形表示的装置包含用于显示覆盖所述一个或一个以上图形图像且在图形上划分所述场景的多个矩形形状分割区的图形表示的装置。
65.根据权利要求61所述的装置,其中所述图形数据包含用于再现所述一个或一个以上图形图像的多个图形基元。
66.根据权利要求65所述的装置,其中所述多个图形基元包含多个三角形。
67.根据权利要求66所述的装置,其中所述用于分析所述图形数据的装置包含用于确定所述三角形中的哪些者横跨所述分割区中的所述多者的装置。
68.根据权利要求67所述的装置,其中所述用于确定所述三角形中的哪些者横跨所述分割区中的所述多者的装置包含用于确定所述三角形中的哪些者已至少部分地再现于所述分割区中的所述多者中的装置。
69.根据权利要求67所述的装置,其进一步包含:
用于显示横跨所述分割区中的所述多者的所述三角形的图形表示的装置。
70.根据权利要求69所述的装置,其中所述用于显示横跨所述分割区中的所述多者的所述三角形的所述图形表示的装置包含用于结合显示所述分割区的所述图形表示显示横跨所述分割区中的所述多者的所述三角形的所述图形表示的装置。
71.根据权利要求69所述的装置,其中所述用于显示横跨所述分割区中的所述多者的所述三角形的所述图形表示的装置包含用于对于每一三角形显示图形指示的装置,其中所述图形指示提供每一对应三角形所横跨的分割区的数目的视觉指示。
72.根据权利要求71所述的装置,其中用于每一对应三角形的所述图形指示包含颜色。
73.根据权利要求71所述的装置,其中所述用于对于每一三角形显示所述图形指示的装置包含用于突出地显示用于比其它三角形横跨更多分割区的那些三角形的所述图形指示的装置。
74.根据权利要求61所述的装置,其中所述用于显示所述多个分割区的所述图形表示的装置包含:
用于从外部图形装置接收分割信息的装置;以及
用于基于所述所接收的分割信息显示所述多个分割区的所述图形表示的装置。
75.根据权利要求61所述的装置,其进一步包含:
用于显示导航控制器的装置;
用于接收用户输入以与所述导航控制器交互作用的装置;
用于基于到所述导航控制器的所述用户输入在经修改的图形场景中显示所述一个或一个以上图形图像的经修改的透视图的装置。
76.根据权利要求75所述的装置,其中:
所述用于显示所述多个分割区的所述图形表示的装置包含用于显示覆盖所述一个或一个以上图形图像的所述经修改的透视图且在图形上划分所述经修改的场景的所述多个分割区的所述图形表示的装置;且
所述用于分析所述图形数据的装置包含用于分析用于所述一个或一个以上图形图像的所述经修改的透视图的图形数据以确定所述图形数据的哪些部分与所述分割区中的所述多者相关联的装置。
77.根据权利要求61所述的装置,其进一步包含:
用于从外部图形装置接收图形指令的装置;以及
用于从所述外部图形装置接收状态信息的装置,其中所述状态信息与所述图形指令在所述外部图形装置上的执行相关联,且
其中所述用于在所述图形场景中显示所述一个或一个以上图形图像的装置包含用于基于所述图形指令和所述状态信息显示所述一个或一个以上图形图像的装置。
78.根据权利要求77所述的装置,其中所述状态信息包含用于所述一个或一个以上图形图像的所述图形数据。
79.根据权利要求77所述的装置,其进一步包含:
用于从所述外部图形装置接收将所述图形数据映射到所述图形指令的映射信息的装置。
80.根据权利要求61所述的装置,其中所述分割区基于对所述图形数据所执行的再现操作而确定。
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 (1)
Publication Number | Publication Date |
---|---|
CN102089784A true CN102089784A (zh) | 2011-06-08 |
Family
ID=41268228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801274650A Pending CN102089784A (zh) | 2008-07-25 | 2009-07-24 | 图形成像的基于分割的性能分析 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP2319015A1 (zh) |
JP (1) | JP5242788B2 (zh) |
KR (1) | KR101286938B1 (zh) |
CN (1) | CN102089784A (zh) |
CA (1) | CA2730298A1 (zh) |
TW (1) | TW201015483A (zh) |
WO (1) | WO2010011980A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656106A (zh) * | 2019-01-25 | 2019-04-19 | 墨研计算科学(南京)有限公司 | 一种计算光刻中掩模版的处理方法及装置 |
Families Citing this family (3)
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 |
KR101923562B1 (ko) | 2014-04-05 | 2018-11-29 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | 가변 렌더링 및 래스터화 파라미터 하에서 가변 뷰포트에 대하여 오브젝트를 효율적으로 리렌더링하는 방법 |
CN110221715A (zh) * | 2019-06-19 | 2019-09-10 | 南京孜博汇信息科技有限公司 | 一种运动轨迹信息的多界面显示方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005031640A2 (en) * | 2003-09-26 | 2005-04-07 | Rensselaer Polytechnic Institute | System and method of computing and displaying property-encoded surface translator descriptors |
CN1643569A (zh) * | 2002-02-21 | 2005-07-20 | 高通股份有限公司 | 对移动设备进行仿真的方法和装置 |
US7095416B1 (en) * | 2003-09-22 | 2006-08-22 | Microsoft Corporation | Facilitating performance analysis for processing |
WO2007002952A2 (en) * | 2005-06-29 | 2007-01-04 | Qualcomm Incorporated | Visual debugging system for 3d user interface program |
CN1957377A (zh) * | 2004-05-24 | 2007-05-02 | 皇家飞利浦电子股份有限公司 | 基于贴片的图形渲染 |
CN101046890A (zh) * | 2006-03-30 | 2007-10-03 | 西门子公司 | 用于扩展表示三维图像数据组的图像处理装置 |
Family Cites Families (3)
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 |
JP3175757B2 (ja) * | 1996-08-13 | 2001-06-11 | 日本電気株式会社 | デバッグシステム |
US7167171B2 (en) * | 2004-06-29 | 2007-01-23 | Intel Corporation | Methods and apparatuses for a polygon binning process for rendering |
-
2009
- 2009-07-24 CN CN2009801274650A patent/CN102089784A/zh active Pending
- 2009-07-24 CA CA2730298A patent/CA2730298A1/en not_active Abandoned
- 2009-07-24 KR KR1020117004633A patent/KR101286938B1/ko not_active IP Right Cessation
- 2009-07-24 EP EP09790829A patent/EP2319015A1/en not_active Withdrawn
- 2009-07-24 JP JP2011520245A patent/JP5242788B2/ja not_active Expired - Fee Related
- 2009-07-24 WO PCT/US2009/051772 patent/WO2010011980A1/en active Application Filing
- 2009-07-27 TW TW098125262A patent/TW201015483A/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643569A (zh) * | 2002-02-21 | 2005-07-20 | 高通股份有限公司 | 对移动设备进行仿真的方法和装置 |
US7095416B1 (en) * | 2003-09-22 | 2006-08-22 | Microsoft Corporation | Facilitating performance analysis for processing |
WO2005031640A2 (en) * | 2003-09-26 | 2005-04-07 | Rensselaer Polytechnic Institute | System and method of computing and displaying property-encoded surface translator descriptors |
CN1957377A (zh) * | 2004-05-24 | 2007-05-02 | 皇家飞利浦电子股份有限公司 | 基于贴片的图形渲染 |
WO2007002952A2 (en) * | 2005-06-29 | 2007-01-04 | Qualcomm Incorporated | Visual debugging system for 3d user interface program |
CN101046890A (zh) * | 2006-03-30 | 2007-10-03 | 西门子公司 | 用于扩展表示三维图像数据组的图像处理装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656106A (zh) * | 2019-01-25 | 2019-04-19 | 墨研计算科学(南京)有限公司 | 一种计算光刻中掩模版的处理方法及装置 |
CN109656106B (zh) * | 2019-01-25 | 2020-12-04 | 墨研计算科学(南京)有限公司 | 一种计算光刻中掩模版的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20110036947A (ko) | 2011-04-12 |
JP5242788B2 (ja) | 2013-07-24 |
KR101286938B1 (ko) | 2013-07-23 |
TW201015483A (en) | 2010-04-16 |
JP2011529236A (ja) | 2011-12-01 |
CA2730298A1 (en) | 2010-01-28 |
EP2319015A1 (en) | 2011-05-11 |
WO2010011980A1 (en) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102089786B (zh) | 在性能分析期间将图形指令映射到相关联的图形数据的方法和设备 | |
CN102449665B (zh) | 显示经渲染的图形元素的性能度量的视觉表示 | |
US8587593B2 (en) | Performance analysis during visual creation of graphics images | |
CN102663799B (zh) | 用于利用创作系统创建可播放场景的方法和装置 | |
KR102433857B1 (ko) | 혼합 현실에서 동적 가상 콘텐츠들을 생성하기 위한 디바이스 및 방법 | |
CN102105868B (zh) | 在图形图像的视觉创建期间的性能分析 | |
CN109045694B (zh) | 虚拟场景显示方法、装置、终端及存储介质 | |
CN102089784A (zh) | 图形成像的基于分割的性能分析 | |
EP3343513A1 (en) | Device and method for generating flexible dynamic virtual contents in mixed reality | |
US11625900B2 (en) | Broker for instancing | |
Schulze et al. | Advanced applications of virtual reality | |
CN117078868B (zh) | 基于信创软硬件的虚拟现实引擎及其建模和渲染方法 | |
CN118331572A (zh) | 一种基于WebGL零代码构建混合现实空间的方法 | |
KR100751397B1 (ko) | 영상 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110608 |