CN101118643B - 用于调试图形管线子单元的方法和系统 - Google Patents

用于调试图形管线子单元的方法和系统 Download PDF

Info

Publication number
CN101118643B
CN101118643B CN2007101434987A CN200710143498A CN101118643B CN 101118643 B CN101118643 B CN 101118643B CN 2007101434987 A CN2007101434987 A CN 2007101434987A CN 200710143498 A CN200710143498 A CN 200710143498A CN 101118643 B CN101118643 B CN 101118643B
Authority
CN
China
Prior art keywords
group
selecting
called
subelement
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.)
Active
Application number
CN2007101434987A
Other languages
English (en)
Other versions
CN101118643A (zh
Inventor
劳尔·阿古瓦比瓦
塞巴斯蒂安·朱利安·多米内
威廉·奥维尔·雷米二世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN101118643A publication Critical patent/CN101118643A/zh
Application granted granted Critical
Publication of CN101118643B publication Critical patent/CN101118643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种调试可在图形管线子单元上操作的应用程序的方法。存取多个绘图调用群组。每个绘图调用群组包括各自的多个绘图调用,其共享指定状态的共同状态属性。显示所述多个可选择的绘图调用群组。响应于用户选择,显示与所述选出的绘图调用群组相关联的多个可选择的绘图调用。显示多个可选择的图形管线子单元。响应于用户对选出的子单元的选择,显示与选出的绘图调用相关联的多个可编辑的状态信息和图形图元。可将所述多个可编辑的状态信息分组,使得共享所述指定状态的共同属性的部分在一个群组中。响应于用户选择,可对所述选出的绘图调用或所述选出的绘图调用群组作出改变。

Description

用于调试图形管线子单元的方法和系统
相关美国专利申请案
本申请案将以下申请案全文以引用的方式并入:2006年8月1日由Aguaviva等人申请的代理人案号为NVID-P002635且转让给本发明的受让人的题为“Method And UserInterface For Enhanced Graphical Operation Organization”的第11/498,229号美国专利申请案;以及2006年8月1日由Aguaviva等人申请的代理人案号为NVID-P002603且转让给本发明的受让人的题为“A Method And System For Calculating PerformanceParameters For A Processor”的第11/497,863号美国专利申请案。
技术领域
本发明涉及图形处理单元领域。更确切地说,本发明的实施例涉及一种用于调试图形管线子单元的方法和系统。
背景技术
需要改进图形处理单元(GPU)执行图形应用程序的效率一直是软件开发者的一个主要关注问题。举例来说,考虑到管线GPU的速度仅等于其最慢的管线单元的速度,瓶颈分析对于优化应用程序来说是重要的。同样,需要监测对图形管线的每个单元的利用率,从而在任何给定时间允许负载分布并确保充分利用每个单元。然而,考虑到可用的性能工具的数目有限且常规工具提供的特征数目有限,优化GPU性能和调试图形管线子单元是一项艰难的任务。
常规方法无法提供执行图形操作(例如,绘图调用)时图形管线的每个子单元的设置及其状态信息的详细信息。因此,通过试错法进行校正动作时,并不真正了解用于绘图调用的每个子单元的设置及其相应的状态信息。此外,任何用以补救GPU的有问题的子单元的校正均可能负面地影响GPU的其它子单元。举例来说,减小一个子单元的瓶颈可能会负面地影响对其它子单元的利用。因此,由于不能够检测与管线子单元有关的利用率信息,所以即使校正了瓶颈,开发者仍然经常会遇到最小性能增益。
除了上述不足外,即使开发者能够针对给定的帧或图形操作而补救瓶颈且提高利用不足的子单元的利用率,其它帧和/或图形操作的性能也可能会降低。因此,使用常规性能工具很可能花费大量时间和精力,而给定GPU上的图形应用程序的性能却很少或没有明显提高。
发明内容
因此,需要为执行图形操作(例如,绘图调用)时GPU管线的子单元的设置及其状态信息提供透明性。此外,需要为可编辑状态信息提供透明性,因为编辑状态信息可能会实质上改进GPU管线的整体效率及其帧速率。进一步需要在还允许自动识别帧的有问题的图形操作的调试工具内提供上述透明性。所属领域的技术人员在阅读了本发明的详细描述之后将了解,本发明的实施例满足以上提到的需要。
在本发明的一个实施例中,通过图形用户界面存取和显示多个可选择的绘图调用群组,所述群组可依据其执行时间来分类。响应于用户对所选的绘图调用群组的选择,从所述群组显示多个可选择的绘图调用。每个绘图调用群组的所有绘图调用共享指定状态的共同状态属性。还显示多个可选择的图形管线子单元的识别符。响应于用户对与绘图调用群组相关联的绘图调用的选择以及子单元的选择,自动显示多个可编辑的状态信息(例如,文本窗口)。响应于用户编辑状态信息,改变多个数据储存设置。此外,编辑状态信息响应于用户选择而应用于选出的绘图调用或选出的绘图调用群组。
因为使用本发明的实施例,子单元设置信息和状态信息对于开发者变成透明的。因此,用户可在编辑状态信息方面作出明智的决定,从而改进GPU管线的整体效率及其帧速率。
更确切地说,本发明的实施例涉及一种调试和/或优化可在图形管线子单元上操作的应用程序的方法,所述方法包含:存取多个绘图调用群组,其中每个绘图调用群组包括各自的多个绘图调用,所述多个绘图调用全部共享指定状态的共同状态属性;在第一窗口中显示所述多个绘图调用群组,并允许用户从中进行选择;响应于用户对绘图调用群组的选择,显示与选出的绘图调用群组相关联的多个绘图调用,并允许用户从中进行选择;在第二窗口中显示多个图形管线子单元的标识,并允许用户从中进行选择;以及响应于用户对选出的图形管线子单元的选择,显示与选出的绘图调用相关联的选出的图形管线子单元的多个状态信息。
实施例包含上述内容,且其中所述方法进一步包含显示由于执行所述选出的绘图调用而由选出的管线子单元渲染的图形图元。实施例进一步包含上述内容,且进一步包含显示涉及选出的图形管线子单元的选出的绘图调用和绘图调用群组的性能数据,其中所述性能数据指示所述多个图形管线子单元执行选出的绘图调用群组的时间,且其中所述性能数据进一步指示选出的图形管线子单元执行选出的绘图调用的时间。
此外,实施例包含上述内容,且其中所述方法进一步包含允许用户编辑多个状态信息。此外,实施例包含上述内容,且其中所述多个绘图调用群组和多个绘图调用分别根据群组和绘图调用的执行时间来排列。此外,实施例包含以上内容,且其中显示多个状态信息进一步包含将多个状态信息分组,使得所述多个状态信息的在所述选出的绘图调用群组中共同的一部分被描绘在一起。
附图说明
在附图的各图中以举例而非限制的方式说明本发明,且其中相似参考标号指代类似元件,且其中:
图1展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的用户界面的示范性屏幕截图。
图2展示根据本发明一个实施例用于选择绘图调用群组的示范性用户界面的屏幕截图。
图3展示根据本发明一个实施例用于选择绘图调用的示范性用户界面的屏幕截图。
图4展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的示范性用户界面的屏幕截图。
图5展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的示范性用户界面的屏幕截图。
图6展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的示范性用户界面的屏幕截图。
图7展示根据本发明一个实施例用于显示对应于在选出的子单元上执行的选出的绘图调用的状态信息的示范性用户界面的屏幕截图。
图8展示根据本发明一个实施例用于显示对应于在选出的子单元上执行的选出的绘图调用的状态信息的示范性用户界面的屏幕截图。
图9展示根据本发明一个实施例用于调试可在图形管线子单元上操作的应用程序的计算机实施的过程的流程图。
图10说明可为本发明的实施例充当平台的通用计算机系统。
具体实施方式
现将具体参照本发明的实施例,附图中说明了实施例的实例。虽然将结合这些实施例描述本发明,但将了解,所述实施例并不意图将本发明局限于这些实施例。相反,本发明意图涵盖可能包含在由所附权利要求书界定的本发明的精神和范围内的替代物、修改和均等物。此外,在对本发明的以下详细描述中阐述了许多特定细节,目的是提供对本发明的全面的了解。然而,所属领域的一般技术人员将明了,可在没有这些特定细节的情况下实践本发明。在其它示例中,并未详细描述众所周知的方法、程序、组件和电路,以免不必要地混淆本发明的各方面。
符号和术语
以下的详细描述中的一些部分是按照程序、步骤、逻辑区块、处理和可在计算机存储器上执行的对数据位的操作的其它符号表示形式呈现的。这些描述和表示形式是所属领域的技术人员用于向所属领域的其他技术人员最有效地传达其工作的主旨的手段。在此处并且一般来说,认为程序、计算机执行的步骤、逻辑区块、过程等是导致所要结果的自相容的步骤或指令序列。所述步骤是需要对物理量进行物理操纵的步骤。
通常(但不必要),这些量采用能够在计算机系统中被存储、传送、组合、比较和以其它方式操纵的电或磁信号的形式。已时常证明,主要因为通常使用的原因,将这些信号称为位、值、元素、符号、字符、项、数字等是方便的。
然而,应记住,所有这些和类似术语应与适当的物理量相关联,且仅是应用于这些量的方便的标签。除非从以下论述明显看出另有特别规定,否则将了解,在整个本发明中,利用例如“处理”或“创建”或“传送”或“执行”或“确定”或“指示”或“发布”或“暂停”或“清除”或“存取”或“聚集”或“获得”或“选择”或“计算”或“测量”或“显示”或“存取”或“允许”或“分组”等术语的论述是指计算机系统或类似的电子计算装置将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵和转换成计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置内的同样表示为物理量的其它数据的动作和过程。
用于调试图形管线子单元的方法和系统
GPU管线通常执行在主机计算机处理器上操作的驱动程序所指示的图形操作(例如,绘图调用)。一帧包含多个绘图调用。计算GPU管线的子单元的各种性能参数(例如,瓶颈和利用率信息)。2006年8月1日由Aguaviva等人申请的代理人案号为NVID-P002603且题为″A Method And System For Calculating Performance Parameters ForA Processor″的第11/497,863号美国专利申请案中论述了计算这些性能参数和其它参数,该申请案全文并入本文中。绘图调用可响应于用户指定的共同状态属性而自动形成为绘图调用群组。2006年8月1日由Aguaviva等人申请的代理人案号为NVID-P002635且题为″Method And User Interface For Enhanced Graphical Operation Organization″的第11/498,229号美国专利申请案中论述了基于共同状态属性对绘图调用进行分组,该申请案全文并入本文中。
现参看图1,展示根据本发明一个实施例用于显示执行来自选出的绘图调用群组的选出的绘图调用的选出的子单元的状态信息的示范性计算机控制的用户界面100。所述用户界面存取并在下拉菜单105中显示可选择的绘图调用群组。如2006年8月1日由Aguaviva等人申请的题为″Method And User Interface For Enhanced Graphical OperationOrganization″的第11/498,229号美国专利申请案中所述,每个绘图调用群组具有共同的状态属性。下拉菜单105可显示绘图调用群组中的绘图调用的数目、群组的总执行时间和所处理的像素的数目。群组的执行时间是GPU管线执行绘图调用群组所需的时间量。在此实例中,选出的绘图调用群组含有32个绘图调用,且由GPU管线在3.056ms内执行。此外,GPU管线在完全执行选出的绘图调用群组之后将已经写入了906240个像素。应了解,对下拉菜单的使用是示范性的且并不是限制性的。举例来说,其它实施例可使用弹出窗口来显示可选择的信息。或者,可以其它可选择的格式,在表中或通过链接来显示信息。
下拉菜单110显示选出的绘图调用群组中的所有绘图调用。下拉菜单110可进一步显示绘图调用的执行时间和由GPU管线处理的像素的数目。在此实例中,绘图调用由GPU管线在0.458ms内执行。此外,GPU管线在完全执行选出的绘图调用之后将已经写入了136473个像素。应了解,对下拉菜单的使用是示范性的且并不是限制性的。举例来说,其它实施例可使用弹出窗口来显示可选择的信息。或者,可以其它可选择的格式,在表中或通过链接来显示信息。
仍然参看图1,用户界面100包含多个用于选择GPU管线内的管线子单元的可选择项。在此实施例中,可选择的子单元是顶点集合115、顶点着色器120、像素着色器125和光栅操作130。其它实施例可视管线结构而定而具有较少或较多或不同的子单元,应了解,使用标记(tab)作为可选择的工具是示范性而并非限制性的。举例来说,其它实施例可使用弹出窗口来显示可选择的信息。或者,可以其它可选择的格式,在表中或通过链接来显示信息。
响应于用户选择绘图调用群组、所述群组的绘图调用和子单元,实施例接着可显示与其有关的性能信息。性能信息可如135、140和145中所示以条形图格式显示。条形图135显示GPU子单元执行帧所需的时间。在此实例中,GPU子单元在9.651ms内执行所述帧。条形图140显示GPU子单元执行选出的绘图调用群组所需的时间量。条形图145显示选出的子单元执行选出的绘图调用所需的时间量。因此,所展示的条形图在帧改变时、或选出的绘图调用群组改变时、或选出的绘图调用改变时、或选出的子单元改变时改变。应了解,对条形图的使用是示范性而并非限制性的。因此,其它实施例可使用其它方法来显示性能信息,可能会显示较多或较少的信息。应进一步了解,所论述的性能信息是示范性的而非限制性的。因此,可显示其它性能信息(例如,利用率和瓶颈)。
根据本发明的实施例,响应于用户选择绘图调用群组、绘图调用和子单元,在窗口150中显示对应于选出的子单元的选出的绘图调用的状态信息。在此实例中,选择具有32个绘图调用的绘图调用群组(其中绘图调用在0.458ms内执行)和顶点集合115子单元。状态信息包含与管线单元有关的用于设置、配置和编程以便处理绘图调用(例如,用于绘制图元155)的可选择的参数。用于绘制图元的状态信息是绘制图元(例如,三角形)所需的设置和值。在此实例中,所界定的图元类型是三角形。还可显示所使用的顶点的数目或图元计数。举例来说,顶点数目是28385且图元计数是4864。
状态信息还可包含对索引缓冲器160的描述。索引缓冲器可界定存储器缓冲器的类型和格式。此外,索引缓冲器可界定存储集区的位置。
状态信息可进一步包含顶点缓冲器声明165。顶点缓冲器声明165界定(例如)顶点大小、顶点缓冲器中每一个别顶点的位置、法线和切线被定位的偏移或流。在此实例中,顶点大小为32。流顶点缓冲器描述170的状态信息与顶点缓冲器描述的状态信息类似。状态信息还可包含顶点缓冲器边界框175。顶点缓冲器边界框175可界定几何形状在物体空间中的范围。
软件开发者可针对低效等情况查看状态信息。通常软件开发者将选择具有较高执行时间的绘图调用来进行状态分析,并且对绘图调用设置参数作出修改,且对于所述操作共享相同参数的其它绘图调用可能将在得到优化的情况下对帧速率性能具有显著影响。此窗口150内的状态信息可由用户编辑。
可基于窗口150中的状态信息在窗口180中渲染针对选出的子单元的选出的绘图调用的图形图元。这种渲染可能是线框渲染,其允许软件开发者获悉原始模型数据中的潜在错误,或者可能是经过完全着色的渲染,用以查看渲染的不规则性。在此实施例中,用户可通过使用下拉菜单110而滚动到选出的绘图调用群组中的其它绘图调用。或者,用户可通过使用后退按钮185而滚动经过绘图调用以便以相反次序前进,或者通过使用前进按钮190而按照次序滚动。或者,用户可使用滑动条195来滚动经过绘图调用。因此,可使用调试程序以每次一个绘图调用的方式逐步经过整个场景。因此,对于每个绘图调用,用户可看到所使用的几何形状、纹理、着色器和光栅操作设置。应了解,滚动经过绘图调用会更新条形图145中的性能信息。应进一步了解,滚动经过绘图调用会更新窗口150中的状态信息。因此,滚动经过绘图调用会以窗口180中的图形图元的循序执行次序来更新所述图形图元,从而允许用户知晓有问题的绘图调用或绘图调用群组的原因。
仍然参看图1,可通过下拉菜单196来修改窗口180中描绘的渲染。响应于对菜单196的菜单项的选择,可显示对应于选出的菜单项的渲染信息的不同描绘。举例来说,可在窗口180内显示帧缓冲器内的对应于一个或一个以上识别出的图形操作的数据。或者,可显示对应于一个或一个以上识别出的图形操作的渲染信息,其中所述渲染信息包括线框视图中的一个或一个以上渲染的对象。且在其它实施例中,菜单196中的其它选择可实现对所渲染对象的对应于一个或一个以上识别出的图形操作的其它特征(例如,深度缓冲器信息、α通道覆盖图等)的显示。
导出按钮197提供导出执行、状态信息和性能信息以供以替代形式查看的能力。导出的数据可形成文本和/或图形图像。因此,可使用另一应用程序和/或用户界面来存取和呈现导出的数据。
“简单”按钮198实现对与通过图形处理管线的各个管线单元来处理数据流相关的更少信息的呈现(例如,在单个弹出窗口中移除图形界面覆盖图)。可使用所述信息来简化对数据流的处理。因此,用户可使用对数据流的简化处理来定位有问题的子单元和有问题的绘图调用群组。因此,可使用调试用户界面来采取必要的校正动作,以补救有问题的绘图调用、有问题的绘图调用群组或有问题的子单元。因此,改进了GPU管线的性能和帧速率。
在一个实施例中,用户界面提供按钮199,使得选择按钮199便会隐藏下拉菜单105和110,以及条形图135、140和145,连同窗口150和180以及可选择的子单元115、120、125和130。因此,选择按钮199会显示针对一帧引出的绘图调用,直至所执行的最后的绘图调用。图形界面元素可能会遮盖潜在渲染中的所关注区域,因而为软件开发者导致混淆。软件开发者可选择“简单”按钮198来移除图形界面,从而允许其重新获得对情形的知晓。接着,软件工程师可重新启用图形界面并继续进行优化活动。其它实施例可隐藏上述图形用户界面的某些部分。
在本发明的一个实施例中,用户可将窗口150中的状态信息编辑(例如)成字处理器函数。应了解,在一个实施例中,编辑状态信息会改变潜在的应用程序。因此,状态信息向用户提供关于针对有问题的绘图调用和/或有问题的绘图调用群组的不同子单元处的确切状态属性值的透明性。此外,通过选择具有较长执行时间的绘图调用群组,用户可处理并优化过长的绘图调用。因此,可通过较少的改变而实现显著的帧改进。
在一个实施例中,可将窗口150的状态信息分组,使得将在绘图调用群组上具有共同属性的状态信息分组在一起,且将其余的状态信息分组在一起。因此,对具有共同属性的状态信息进行编辑可应用于所有具有那些相同属性的绘图调用。因此,编辑此状态信息会影响选出的绘图调用群组和其中所有的绘图调用。或者,用户可编辑不具有共同属性的群组。因此,编辑独特的状态信息会影响含有所述状态信息的绘图调用。应了解,在一个实施例中,可通过对状态信息进行彩色编码而将状态信息分组成上述这些群组。或者,弹出窗口可询问用户:用户是希望仅将变化应用于选出的绘图调用,还是应用于选出的绘图调用群组(如果共享那些属性的话)。其它实施例可使用其它方法将状态信息分组在一起。
现参看图2,展示根据本发明一个实施例用于从群组列表中选择绘图调用群组的示范性用户界面。如上所述,每个绘图调用群组通过一组共同的状态属性来界定。在此实例中,下拉菜单105含有五个绘图调用群组。在一个实施例中,绘图调用群组按照其各自的执行时间的次序来分类或排列。举例来说,绘图调用群组可按照其执行时间的升序分类。因此,可选择具有较长执行时间的绘图调用群组,因为优化具有过长执行时间的绘图调用群组可比优化具有较短执行时间的绘图调用群组更加有效地改进GPU管线的效率。应了解,在此实施例中,通过从下拉菜单110中选择绘图调用,促使在窗口150中显示状态信息。因此,在此实施例中,选择绘图调用群组不会改变窗口150中的状态信息的值。
现参看图3,展示根据本发明一个实施例用于选择选出的群组的绘图调用的示范性用户界面。如上所述,选出的绘图调用群组在所述群组中含有32个绘图调用。因此,使用下拉菜单110,用户可滚动经过不同的可选择绘图调用。在一个实施例中,绘图调用按照其各自的执行时间的次序来分类。举例来说,绘图调用可按照其执行时间的降序分类。因此,执行时间最长的绘图调用是GPU管线执行的花费最多的绘图调用。因此,优化较长的绘图调用可有效地改进GPU管线的性能和执行时间。选择绘图调用会促使在窗口150中显示其相关联的状态信息。
现参看图4,展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的示范性用户界面。图4展示针对同一选出的绘图调用群组、同一选出的绘图调用但不同的子单元显示状态信息。在此实施例中,选出的子单元是顶点着色器120。在一个实施例中,选择顶点着色器120会显示顶点着色器窗口410和顶点着色器常数窗口420。因此,显示顶点着色器120所使用的任何常数和纹理以供查看。顶点着色器窗口410显示正在每个顶点上执行的顶点着色器汇编语言。顶点着色器常数窗口420显示常数。所述常数提供(例如)变换矩阵、平滑参数(smoothing parameter)、皮肤参数(skinning parameter)、照明和位移常数。一般来说,顶点着色器常数窗口420提供用于修改几何形状的信息。选择顶点着色器子单元120进一步提供纹理窗口430。纹理窗口430使得能够基于纹理的值来移动顶点。RGB标记440使用户能够查看不同的通道,从而使用户能够看到可能在纹理中的各个颜色通道中编码的不同信息。举例来说,在此实施例中,提供三个通道——红、绿和蓝。
如上所述,可编辑状态信息或纹理数据。因此,可编辑在顶点着色器窗口410中显示的状态信息。应了解,此实施例提供放大能力,从而使用户能够放大纹理。
现参看图5,展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的示范性用户界面。图5展示针对同一选出的绘图调用群组、同一选出的绘图调用但不同的子单元显示状态信息。在此实例中,选出的子单元是像素着色器125。在一个实施例中,选择像素着色器125会显示固定函数设置窗口510。当选择像素着色器125程序时,会显示像素着色器125所使用的任何常数和纹理以供查看。固定函数设置窗口510含有具有有限可编程性的预定义的函数。因此,可使用预定义的函数的参数及预定义的函数的组合以便创建其它函数。因此,可编辑状态信息以便基于预定义的函数来创建新函数。
或者,选择像素着色器125,便可显示可编程的窗口(未图示)。所述可编程的窗口含有可编辑的状态信息。这些状态信息包含在像素着色器子单元上运行的汇编语言程序设计和与所述程序有关的可能指定(例如)光位置、材料参数等的任何常数。选择像素着色器125可显示纹理窗口520。纹理窗口520的功用与图4中纹理窗口430的功用类似。因此,纹理窗口520可提供(例如)光照贴图、法线贴图、正弦或余弦值的查找表和平方根映射。
现参看图6,展示根据本发明一个实施例用于显示执行选出的绘图调用的选出的子单元的状态信息的示范性用户界面。图6展示针对同一选出的绘图调用群组、同一选出的绘图调用但不同的子单元显示状态信息。在此实例中,选出的子单元是光栅操作130。在一个实施例中,选择光栅操作130会显示渲染状态窗口610。渲染状态窗口610含有多个设置的树状结构,所述设置以可分拆树状的形式提供以帮助管理大量数据。可改变光栅操作130中的各种渲染状态。举例来说,可关闭α混合。渲染状态窗口610影响渲染设置。
选择光栅操作130会在渲染目标窗口620中显示渲染目标。渲染目标窗口620显示例如存储器集区位置和位深度等状态信息。一般来说,渲染目标窗口620显示渲染操作的结果被写入到的位置。因此,编辑状态信息可能会影响例如存储器存取等各种操作。
现参看图7,展示根据本发明一个实施例用于显示对应于在选出的子单元上执行的选出的绘图调用的状态信息的示范性用户界面。在此实例中,在窗口150中显示67个绘图调用中的30号绘图调用的状态信息。图形图元180描绘GPU管线正在绘制的容器。如上所述,可编辑状态信息,从而影响选出的绘图调用和/或选出的绘图调用群组的性能和执行。
现参看图8,展示根据本发明一个实施例用于显示对应于在选出的子单元上执行的选出的绘图调用的状态信息的示范性用户界面。在此实例中,在窗口150中显示67个绘图调用中的51号绘图调用的状态信息。图形图元180描绘GPU管线正在绘制的骷髅。如上所述,可编辑状态信息,从而影响选出的绘图调用和/或选出的绘图调用群组的性能和执行。因此,用户可滚动经过不同的绘图调用,以便检查状态信息并按照顺序检查被执行并作为新的图形图元而添加到所绘制的场景的每个绘图调用。
现参看图9,展示根据本发明一个实施例用于调试可在图形管线子单元上操作的应用程序的计算机实施的过程的流程图900。调试可在图形管线子单元上操作的应用程序的方法在步骤905处开始。
在步骤910处,从存储器存取多个绘图调用群组。如上所述且如以引用方式并入的,响应于用户对指定状态的共同状态属性的选择来组织多个绘图调用群组。因此,每个含有多个绘图调用的绘图调用群组共享指定的共同状态属性。
在步骤915处,在第一窗口中显示表示被存取的多个绘图调用群组的列表。举例来说,可使用下拉菜单显示所述多个绘图调用群组。应了解,可使用其它用以显示所述信息的方法。举例来说,可使用弹出窗口。所述显示进一步允许用户选择列表的绘图调用群组。在一个实施例中,按照绘图调用群组的执行时间在列表中为绘图调用群组排序。绘图调用群组的执行时间是GPU管线执行绘图调用群组所需的时间。在一个实施例中,所显示的多个绘图调用群组还可显示额外信息,例如每个群组中绘图调用的数目、群组的执行时间以及所渲染的像素的数目。
在步骤920中,响应于用户对绘图调用群组的选择,在第一窗口中或者在单独窗口中显示与选出的绘图调用群组相关联的多个绘图调用。在一个实施例中,可使用下拉菜单将多个绘图调用显示为列表。应了解,可使用其它用以显示信息的方法。举例来说,可使用弹出窗口。所述显示进一步允许用户选择绘图调用。在一个实施例中,按照针对选出的子单元的绘图调用的执行时间在列表中为绘图调用排序。
在步骤925处,在第一窗口或者在单独窗口中显示多个图形管线子单元。此外,所述多个图形管线子单元可由用户选择。因此,用户可选择一子单元,使得用户可查看针对选出的子单元的选出的绘图调用。
在步骤930处,响应于用户对绘图调用群组、绘图调用和子单元的选择,可在第二窗口中显示多个相关联的状态信息。然而,应了解,可在第一窗口或在单独窗口中显示状态信息。在步骤935处,由于执行了选出的绘图调用而通过选出的管线子单元来渲染图形图元。改变绘图调用或滚动经过各个绘图调用除了更新状态信息外还将更新图形图元。因此,用户可以每次一个步骤的方式查看每个绘图调用的执行、其状态信息及其相应的图形图元。
在步骤940处,显示涉及选出的图形管线子单元的选出的绘图调用和绘图调用群组的性能数据。在一个实施例中,性能数据是GPU管线对帧的执行时间、GPU管线对选出的绘图调用群组的执行时间以及选出的子单元对选出的绘图调用的执行时间。其它实施例可提供每个子单元的利用率和瓶颈信息。
在步骤945处,将多个状态信息分组,使得所述多个状态信息的共享共同状态属性的一部分被描绘在一起。在一个实施例中,所述分组是通过将具有共同状态属性的状态信息分组在同一窗口中来进行的。在另一实施例中,分组是通过对群组进行彩色编码来进行的。应了解,可使用其它用于将状态信息分组的方法。
在步骤950处,用户可编辑多个状态信息。在一个实施例中,编辑状态信息会改变应用程序。在步骤955处,对多个状态信息的编辑响应于用户选择而应用于选出的绘图调用或者应用于选出的绘图调用群组。在步骤960处,调试可在图形管线子单元上操作的应用程序的过程结束。
图10是说明可在上面实施本发明实施例的通用计算机系统1000的方框图。计算机系统1000可实施如图9所示的用于调试图形管线子单元的方法,且包含总线1002或其它用于传递信息的通信机构,以及与总线1002耦合以处理信息的处理器1004。计算机系统1000还包含主存储器1006,例如随机存取存储器(RAM)或其它动态存储装置,其耦合到总线1002以用于存储信息和将由处理器1004执行的指令。主存储器106还可用于存储将由处理器1004执行的指令的执行期间的临时变量或其它中间信息。计算机系统1000进一步包含只读存储器(ROM)1008或其它静态存储装置,其耦合到总线1002以存储供处理器1004用的静态信息和指令。提供非易失性存储装置1010(例如,磁盘或光盘)并将其耦合到总线1002,以用于存储信息和指令且可存储持久的内部队列。
计算机系统1000可经由总线1002耦合到可选的显示器1012(例如,阴极射线管(CRT)),以便向计算机用户显示信息。可选的输入装置1014(包含字母数字和其它键)可耦合到总线1002,以便向处理器1004传递信息和命令选择。另一类型的用户输入装置是光标控制件1016(例如,鼠标、跟踪球或光标方向键),用于向处理器1004传递方向信息和命令选择,且用于控制光标在显示器1012上的移动。
本文所使用的术语“计算机可读媒体”是指任何参与向处理器1004提供指令以供执行的媒体。此种媒体可采用许多形式,其中包含但不限于非易失性媒体、易失性媒体和传输媒体。非易失性媒体包含(例如)光盘或磁盘,例如存储装置1010。易失性媒体包含动态存储器,例如主存储器1006。传输媒体包含同轴电缆、铜线和光纤,其中包含包括总线1002的线。传输媒体还可采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的声波或光波。
计算机可读媒体的常见形式包含(例如)软盘、柔性盘、硬盘、磁带或其它任何磁性媒体、CD-ROM、其它任何光学媒体、穿孔卡、纸带、其它任何具有孔图案的物理媒体、RAM、PROM和EPROM、FLASH-EPROM、其它任何存储器芯片或盒子、载波(例如下文所述)或计算机可从中进行读取的其它任何媒体。
计算机系统1000可通过网络、网络链接1020和通信接口1018发送和接收消息。在因特网实例中,服务器1030可能通过因特网1028、ISP1026、局域网络1022和通信接口1018传输用于应用程序的所请求的代码。所接收的代码可在接收到时由处理器1004执行,且/或可存储在存储装置1010或其它非易失性存储装置中以供以后执行。
在以上说明书中,已参考许多特定细节描述了本发明的实施例,所述特定细节在各个实施方案之间可能会有所变化。因此,本发明的实质和申请人希望作为本发明的实质的唯一且排他的指示是由本申请案产生的一组权利要求,且其具体形式是产生这些权利要求的形式,其中包含任何后续的改正。因此,权利要求中未明确陈述的任何限制、元件、特性、特征、优点或属性均不应以任何形式限制此权利要求的范围。因此,应在说明性而非限制性意义上看待说明书和图式。

Claims (7)

1.一种调试可在图形管线子单元上操作的应用程序的方法,所述方法包括:
存取多个绘图调用群组,其中每个绘图调用群组包括各自的多个绘图调用,所述多个绘图调用全部共享指定状态的共同状态属性;
在第一窗口中显示所述多个绘图调用群组,并允许用户从中进行选择;
响应于用户对绘图调用群组的选择,显示与所述选出的绘图调用群组相关联的多个绘图调用,并允许用户从中进行选择;
在第二窗口中显示多个图形管线子单元的标识,并允许用户从中进行选择;以及
响应于用户对选出的图形管线子单元的选择,显示与选出的绘图调用相关联的选出的图形管线子单元的多个状态信息。
2.根据权利要求1所述的方法,其进一步包括:
显示由于执行所述选出的绘图调用而由所述选出的管线子单元渲染的图形图元。
3.根据权利要求1所述的方法,其进一步包括:
显示涉及所述选出的图形管线子单元的所述选出的绘图调用和所述绘图用群组的性能数据,其中所述性能数据指示所述多个图形管线子单元执行所述选出的绘图调用群组的时间,且其中所述性能数据进一步指示所述选出的图形管线子单元执行所述选出的绘图调用的时间。
4.根据权利要求1所述的方法,其进一步包括:
允许用户编辑所述多个状态信息。
5.根据权利要求1所述的方法,其中按照执行时间排列所述多个绘图调用群组。
6.根据权利要求1所述的方法,其中按照执行时间排列所述多个绘图调用。
7.根据权利要求1所述的方法,其中显示所述多个状态信息进一步包括:对所述多个状态信息进行分组,使得所述多个状态信息的在所述选出的绘图调用群组中共同的部分被描绘在一起。
CN2007101434987A 2006-08-01 2007-08-01 用于调试图形管线子单元的方法和系统 Active CN101118643B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/498,203 US8607151B2 (en) 2006-08-01 2006-08-01 Method and system for debugging a graphics pipeline subunit
US11/498,203 2006-08-01

Publications (2)

Publication Number Publication Date
CN101118643A CN101118643A (zh) 2008-02-06
CN101118643B true CN101118643B (zh) 2012-05-23

Family

ID=39030707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101434987A Active CN101118643B (zh) 2006-08-01 2007-08-01 用于调试图形管线子单元的方法和系统

Country Status (6)

Country Link
US (1) US8607151B2 (zh)
JP (1) JP5489395B2 (zh)
KR (1) KR100909153B1 (zh)
CN (1) CN101118643B (zh)
DE (1) DE102007036071A1 (zh)
TW (1) TWI378399B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593465B2 (en) * 2007-06-13 2013-11-26 Advanced Micro Devices, Inc. Handling of extra contexts for shader constants
US7992137B2 (en) * 2007-07-30 2011-08-02 Nvidia Corporation Client server system for analysis and performance tuning of remote graphics devices
US9035957B1 (en) * 2007-08-15 2015-05-19 Nvidia Corporation Pipeline debug statistics system and method
US8624907B2 (en) * 2009-06-26 2014-01-07 Intel Corporation Graphics analysis techniques
US8581916B2 (en) * 2009-06-26 2013-11-12 Intel Corporation Graphics analysis techniques
US20100332987A1 (en) * 2009-06-26 2010-12-30 Cormack Christopher J Graphics analysis techniques
US20110072414A1 (en) * 2009-09-20 2011-03-24 Richard Dee Gardner Method of using a diagram to create a program code
US8614716B2 (en) * 2010-10-01 2013-12-24 Apple Inc. Recording a command stream with a rich encoding format for capture and playback of graphics content
US8933948B2 (en) * 2010-10-01 2015-01-13 Apple Inc. Graphics system which utilizes fine grained analysis to determine performance issues
KR101773396B1 (ko) * 2011-02-09 2017-08-31 삼성전자주식회사 데이터를 압축 해제하는 그래픽 처리 장치 및 방법
US9519568B2 (en) 2012-12-31 2016-12-13 Nvidia Corporation System and method for debugging an executing general-purpose computing on graphics processing units (GPGPU) application
US9720842B2 (en) * 2013-02-20 2017-08-01 Nvidia Corporation Adaptive multilevel binning to improve hierarchical caching
US9471456B2 (en) 2013-05-15 2016-10-18 Nvidia Corporation Interleaved instruction debugger
US9645916B2 (en) 2014-05-30 2017-05-09 Apple Inc. Performance testing for blocks of code
US10204394B2 (en) 2017-04-10 2019-02-12 Intel Corporation Multi-frame renderer
CN107423019B (zh) * 2017-07-31 2020-11-10 山东超越数控电子股份有限公司 一种基于飞腾平台控制3d图形加速的实现方法
US20190369849A1 (en) * 2018-06-01 2019-12-05 Apple Inc. Visualizing Execution History With Shader Debuggers
US11087431B2 (en) * 2019-11-25 2021-08-10 Qualcomm Incorporated Methods and apparatus for reducing draw command information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026362A (en) * 1995-09-11 2000-02-15 Compaq Computer Corporation Tool and method for diagnosing and correcting errors in a computer program
US6668325B1 (en) * 1997-06-09 2003-12-23 Intertrust Technologies Obfuscation techniques for enhancing software security
CN1514407A (zh) * 2003-04-04 2004-07-21 威盛电子股份有限公司 处理三维绘图数据请求的系统及方法

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905296A (en) * 1986-07-22 1990-02-27 Schlumberger Systems & Services, Inc. System for shape recognition
CA2077970C (en) * 1991-11-19 1999-02-23 Daniel P. Huttenlocher Optical word recognition by examination of word shape
US5966539A (en) * 1994-03-01 1999-10-12 Digital Equipment Corporation Link time optimization with translation to intermediate program and following optimization techniques including program analysis code motion live variable set generation order analysis, dead code elimination and load invariant analysis
US5524066A (en) * 1994-03-31 1996-06-04 Xerox Corporation Text recognition by predictive composed shapes
JPH08255155A (ja) * 1995-03-16 1996-10-01 Fuji Xerox Co Ltd 全文登録語検索装置および方法
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
NO302388B1 (no) * 1995-07-13 1998-02-23 Sigurd Sigbjoernsen Fremgangsmåte og anordning for å beskytte programvare mot bruk uten tillatelse
US6016474A (en) * 1995-09-11 2000-01-18 Compaq Computer Corporation Tool and method for diagnosing and correcting errors in a computer program
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5815154A (en) * 1995-12-20 1998-09-29 Solidworks Corporation Graphical browser system for displaying and manipulating a computer model
US5987459A (en) * 1996-03-15 1999-11-16 Regents Of The University Of Minnesota Image and document management system for content-based retrieval
US5913205A (en) * 1996-03-29 1999-06-15 Virage, Inc. Query optimization for visual information retrieval system
US5978484A (en) * 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US5970147A (en) * 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6714909B1 (en) * 1998-08-13 2004-03-30 At&T Corp. System and method for automated multimedia content indexing and retrieval
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
JP2002526841A (ja) * 1998-09-29 2002-08-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 区分符号化方法及び装置
US6389168B2 (en) * 1998-10-13 2002-05-14 Hewlett Packard Co Object-based parsing and indexing of compressed video streams
JP2000174948A (ja) * 1998-12-04 2000-06-23 Canon Inc 画像入出力装置、画像入出力方法および画像処理システム
TW410290B (en) * 1999-01-08 2000-11-01 Via Tech Inc Cross-banks and -pages access control device and method for memory
US6362825B1 (en) * 1999-01-19 2002-03-26 Hewlett-Packard Company Real-time combination of adjacent identical primitive data sets in a graphics call sequence
US6694311B1 (en) * 1999-01-25 2004-02-17 International Business Machines Corporation Method and apparatus for fast query approximation using adaptive query vector projection
US6157618A (en) * 1999-01-26 2000-12-05 Microsoft Corporation Distributed internet user experience monitoring system
US6378066B1 (en) * 1999-02-04 2002-04-23 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications
US7383205B1 (en) * 1999-03-27 2008-06-03 Microsoft Corporation Structure of a digital content package
US6684389B1 (en) * 1999-08-05 2004-01-27 Canon Kabushiki Kaisha Compiler that decrypts encrypted source code
GB2355899A (en) * 1999-10-29 2001-05-02 Oak Technology Inc Multistage digital processor with dedicated stage clock controllers
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US20010034835A1 (en) * 2000-02-29 2001-10-25 Smith Robert E. Applied digital and physical signatures over telecommunications media
JP2001325103A (ja) * 2000-05-16 2001-11-22 Denso Corp シミュレータ作成方法、シミュレータ作成装置およびシミュレータの作成支援方法
US6760042B2 (en) * 2000-09-15 2004-07-06 International Business Machines Corporation System and method of processing MPEG streams for storyboard and rights metadata insertion
US6965994B1 (en) * 2001-01-30 2005-11-15 Microsoft Corporation Security mechanism for computer processing modules
US7016972B2 (en) * 2001-04-23 2006-03-21 International Business Machines Corporation Method and system for providing and viewing performance analysis of resource groups
US6943800B2 (en) * 2001-08-13 2005-09-13 Ati Technologies, Inc. Method and apparatus for updating state data
TW530498B (en) * 2001-08-14 2003-05-01 Nat Univ Chung Cheng Object segmentation method using MPEG-7
US20030043022A1 (en) * 2001-08-31 2003-03-06 Burgan John M. Messaging system providing message redundancy reduction
US7047519B2 (en) * 2001-09-26 2006-05-16 International Business Machines Corporation Dynamic setting of breakpoint count attributes
US7749076B2 (en) * 2002-09-13 2010-07-06 Bally Gaming, Inc. System and method for an alterable storage media in a gaming machine
US7398389B2 (en) * 2001-12-20 2008-07-08 Coretrace Corporation Kernel-based network security infrastructure
US7401116B1 (en) * 2002-03-29 2008-07-15 Silicon Graphics, Inc. System and method for allowing remote users to specify graphics application parameters for generation of interactive images
US6732060B1 (en) * 2002-05-06 2004-05-04 Adaptec, Inc. System and method for an interface invariant test case
US7436531B2 (en) * 2002-05-14 2008-10-14 Xerox Corporation Systems and methods for using multiple processors for imaging
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7260066B2 (en) * 2002-10-31 2007-08-21 Conexant Systems, Inc. Apparatus for link failure detection on high availability Ethernet backplane
US7237151B2 (en) * 2002-12-17 2007-06-26 Texas Instruments Incorporated Apparatus and method for trace stream identification of a processor reset
CA2418670A1 (en) * 2003-02-11 2004-08-11 Ibm Canada Limited - Ibm Canada Limitee Method and system for generating executable code for formatiing and printing complex data structures
US7565551B2 (en) * 2003-02-19 2009-07-21 Microsoft Corporation Enhancing software integrity through installation and verification
US7173635B2 (en) * 2003-03-25 2007-02-06 Nvidia Corporation Remote graphical user interface support using a graphics processing unit
KR100755683B1 (ko) * 2003-05-07 2007-09-05 삼성전자주식회사 컨텐츠 제공자 인증 및 컨텐츠 무결성 보장 방법
US7505953B2 (en) * 2003-07-11 2009-03-17 Computer Associates Think, Inc. Performance monitoring of method calls and database statements in an application server
US7277826B2 (en) * 2003-08-25 2007-10-02 International Business Machines Corporation Apparatus and method for detecting and forecasting resource bottlenecks
US7095416B1 (en) * 2003-09-22 2006-08-22 Microsoft Corporation Facilitating performance analysis for processing
US7831838B2 (en) * 2004-03-05 2010-11-09 Microsoft Corporation Portion-level in-memory module authentication
US20050222881A1 (en) * 2004-04-05 2005-10-06 Garry Booker Management work system and method
US7570267B2 (en) * 2004-05-03 2009-08-04 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US7730456B2 (en) * 2004-05-19 2010-06-01 Sony Computer Entertainment Inc. Methods and apparatus for handling processing errors in a multi-processing system
US7203922B2 (en) * 2004-06-01 2007-04-10 Agilent Technologies, Inc. Merging of infrastructure within a development environment
US7555499B2 (en) * 2004-08-17 2009-06-30 Oracle International Corporation Diagnosing database performance problems using a plurality of wait classes
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US7249331B2 (en) * 2004-10-07 2007-07-24 International Business Machines Corporation Architectural level throughput based power modeling methodology and apparatus for pervasively clock-gated processor cores
US8379553B2 (en) * 2004-11-22 2013-02-19 Qualcomm Incorporated Method and apparatus for mitigating the impact of receiving unsolicited IP packets at a wireless device
JP2006153628A (ja) * 2004-11-29 2006-06-15 Shimadzu Corp 分析データ管理装置及び分析データ管理プログラム
US7805765B2 (en) * 2004-12-28 2010-09-28 Lenovo (Singapore) Pte Ltd. Execution validation using header containing validation data
US7548244B2 (en) * 2005-01-12 2009-06-16 Sony Computer Entertainment Inc. Interactive debugging and monitoring of shader programs executing on a graphics processor
US7577848B2 (en) * 2005-01-18 2009-08-18 Microsoft Corporation Systems and methods for validating executable file integrity using partial image hashes
US7401242B2 (en) * 2005-09-27 2008-07-15 International Business Machines Corporation Dynamic power management in a processor design
US8817029B2 (en) * 2005-10-26 2014-08-26 Via Technologies, Inc. GPU pipeline synchronization and control system and method
US8452981B1 (en) * 2006-03-01 2013-05-28 Nvidia Corporation Method for author verification and software authorization
US7891012B1 (en) * 2006-03-01 2011-02-15 Nvidia Corporation Method and computer-usable medium for determining the authorization status of software
US7688809B2 (en) * 2006-05-03 2010-03-30 Cisco Technology, Inc. Media inactivity detection in VoIP networks
US20080007563A1 (en) * 2006-07-10 2008-01-10 Microsoft Corporation Pixel history for a graphics application
US7778800B2 (en) * 2006-08-01 2010-08-17 Nvidia Corporation Method and system for calculating performance parameters for a processor
US8436864B2 (en) * 2006-08-01 2013-05-07 Nvidia Corporation Method and user interface for enhanced graphical operation organization
US8436870B1 (en) * 2006-08-01 2013-05-07 Nvidia Corporation User interface and method for graphical processing analysis
KR100781705B1 (ko) * 2006-10-24 2007-12-03 삼성전자주식회사 이동통신 단말기에서 모드 제어 장치 및 방법
US7765500B2 (en) * 2007-11-08 2010-07-27 Nvidia Corporation Automated generation of theoretical performance analysis based upon workload and design configuration
US8448002B2 (en) * 2008-04-10 2013-05-21 Nvidia Corporation Clock-gated series-coupled data processing modules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026362A (en) * 1995-09-11 2000-02-15 Compaq Computer Corporation Tool and method for diagnosing and correcting errors in a computer program
US6668325B1 (en) * 1997-06-09 2003-12-23 Intertrust Technologies Obfuscation techniques for enhancing software security
CN1514407A (zh) * 2003-04-04 2004-07-21 威盛电子股份有限公司 处理三维绘图数据请求的系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N.duca等.A Relational Debugging Engine for the Graphics Pipeline.《ACM SIGGRAPH 2005》.2005,453-463. *

Also Published As

Publication number Publication date
JP2008123488A (ja) 2008-05-29
TWI378399B (en) 2012-12-01
DE102007036071A1 (de) 2008-04-10
TW200820130A (en) 2008-05-01
US8607151B2 (en) 2013-12-10
US20080034311A1 (en) 2008-02-07
JP5489395B2 (ja) 2014-05-14
DE102007036071A8 (de) 2008-08-14
KR20080012235A (ko) 2008-02-11
KR100909153B1 (ko) 2009-07-23
CN101118643A (zh) 2008-02-06

Similar Documents

Publication Publication Date Title
CN101118643B (zh) 用于调试图形管线子单元的方法和系统
CN100492316C (zh) 测试自动化的系统和方法
JP2993673B2 (ja) 電子ファイル装置
CN1815439B (zh) 用于目标设备显示模拟的方法和系统
US10592211B2 (en) Generation of application behaviors
CN101675453B (zh) 用于分析对于应用程序修改前命令改变的性能的图形命令管理工具和方法
US5708764A (en) Hotlinks between an annotation window and graphics window for interactive 3D graphics
US20080181463A1 (en) Use of color in a site analysis report
CN102907069A (zh) 执行图形应用的方法和系统
CN105517681A (zh) 使用元数据的图表转换系统和方法
WO2020240808A1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
CN105117404B (zh) 基于图表类型和数据特征场景下的图表显示缺陷优化方法
JP2019133303A (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN105488232A (zh) 一种电子装备故障维修图形化显示方法
US8436864B2 (en) Method and user interface for enhanced graphical operation organization
US8850404B2 (en) Relational modeling for performance analysis of multi-core processors using virtual tasks
US6370683B1 (en) Computer software for generating flowchart images of a source program
KR20180038793A (ko) 영상 데이터 처리 방법 및 장치
CN113345052A (zh) 基于相似显著性的分类数据多视图可视化着色方法及系统
CN114116441A (zh) 一种ui界面测试方法、装置、电子设备及存储介质
CN103052934A (zh) 逻辑表
CN116401828A (zh) 基于数据特征的关键事件可视化显示方法
US11615578B1 (en) Systems and methods for efficient rendering and processing of point clouds using textures
US20200125689A1 (en) Automated generation of electronics schematics with single wire tracing
CN113703637A (zh) 巡检任务代码化方法、装置、电子设备和计算机存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant