CN104517285A - 用于诊断图形显示问题的方法和系统 - Google Patents
用于诊断图形显示问题的方法和系统 Download PDFInfo
- Publication number
- CN104517285A CN104517285A CN201410515535.2A CN201410515535A CN104517285A CN 104517285 A CN104517285 A CN 104517285A CN 201410515535 A CN201410515535 A CN 201410515535A CN 104517285 A CN104517285 A CN 104517285A
- Authority
- CN
- China
- Prior art keywords
- frame
- processing unit
- graphics processing
- drawn
- cpu
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Processing Or Creating Images (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
Abstract
提供了用于诊断图形显示问题的方法和系统。所述方法可以包括:选择所述应用的由图形处理单元绘制的帧;指示中央处理单元绘制所述帧;比较图形处理单元绘制的帧和中央处理单元绘制的帧,以确定是否存在图形问题。
Description
技术领域
本发明涉及图形显示领域。特别地,本发明涉及诊断图形显示问题。
背景技术
当使用图形来玩与游戏机游戏相对的个人计算机游戏时,关于图形常常出现用户由于技术问题而无法解决的问题。大多数用户不具有足够的技术知识来诊断游戏中的问题。这对于用户而言可能非常令人沮丧。
当前的解决方案需要用户具有足够的技术知识以正确识别图形问题、并随后能够使用互联网搜索问题的解决方案。这需要用户使用技术规范和术语并希望该问题能被在线回答。在此期间,游戏中的问题仍然存在,这意味着用户不能继续玩游戏。
游戏用户可能不具有技术知识并且可能不确定问题是硬件问题还是软件问题。有时存在着对于用户个人的硬件/软件设置而言独特的问题,这些问题无法在线得到回答。在没有已知的解决方案的情况下,玩家可能会放弃,并且产品会被认为是有缺陷的。
在游戏产业中常见的抱怨是,如果诊断和修复问题的难度更低,则相比于游戏机游戏,用户将会更多地玩个人计算机游戏。
因此,在本领域中存在着解决前述问题的需求。
发明内容
根据本发明的第一方面,提供了一种用于诊断在应用运行期间的图形显示问题的方法,包括:选择所述应用的由图形处理单元绘制的帧;指示中央处理单元绘制该帧;比较图形处理单元绘制的帧和中央处理单元绘制的帧,以确定是否存在图形问题。
本发明可以包括将图形处理单元的存储器中的用于生成所选的帧的数据复制到主存储器中,以及其中中央处理单元使用主存储器中的所述数据的副本来绘制该帧。
选择帧的步骤可以包括接收未被正确显示的帧的用户选择。可替换地,选择帧的步骤可以包括根据预定义的规则自动地选择帧。
比较帧的步骤可以包括将中央处理单元绘制的帧呈现给用户、以及接收关于帧是否匹配的用户输入。可替换地,比较帧的步骤可以包括自动地比较图形处理单元绘制的帧和中央处理单元绘制的帧,以确定它们是否匹配。
该方法可以包括在所存储的图形处理单元绘制的帧问题的数据库中查找与图形处理单元绘制的帧类似的问题。该方法还可以包括检索针对所存储的图形处理单元绘制的帧的解决方案。
如果图形处理单元绘制的帧和中央处理单元绘制的帧不匹配,则可以确定对于所述应用存在图形问题。
该方法可以包括向用户通知选自下述的信息:帧不具有图形问题,帧具有图形问题和解决方案,帧具有无解决方案的图形问题。
该方法可以包括对于图形处理单元绘制的帧记录新的帧问题。
该方法还可以包括对于图形处理单元绘制的帧收集关于常见问题的数据。该方法可以包括收集关于随机生成的图形处理单元绘制的帧的数据以用于数据挖掘。
根据本发明的第二方面,提供了一种用于诊断在应用运行期间的图形显示问题的系统,包括:帧选择组件,用于选择所述应用的由图形处理单元绘制的帧;中央处理单元指示组件,用于指示中央处理单元绘制该帧;以及比较组件,用于比较图形处理单元绘制的帧和中央处理单元绘制的帧以确定是否存在图形问题。
该系统可以包括:数据复制组件,用于将图形处理单元的存储器中的用于生成所选的帧的数据复制到主存储器中,以及其中中央处理单元使用主存储器中的所述数据的副本来绘制该帧。
帧选择组件可以包括:用户激活组件,用于接收未被正确显示的帧的用户选择。可替换地,帧选择组件可以包括:自动帧选择组件,用于根据预定义的规则自动地选择帧。
比较组件可以包括:显示组件,用于将中央处理单元绘制的帧呈现给用户;以及用户输入接收组件,用于接收关于帧是否匹配的用户输入。可替换地,比较组件可以包括:自动匹配组件,用于自动地比较图形处理单元绘制的帧和中央处理单元绘制的帧以确定它们是否匹配。
系统可以包括:数据库检查组件,用于在所存储的图形处理单元绘制的帧问题的数据库中查找与图形处理单元绘制的帧类似的问题。
系统还可以包括:解决方案检索组件,用于检索针对所存储的图形处理单元绘制的帧的解决方案。
如果比较组件可以确定图形处理单元绘制的帧和中央处理单元绘制的帧不匹配,则确定对于所述应用存在图形问题。
系统可以包括用于向用户通知选自下述的信息的用户通知组件:帧不具有图形问题,帧具有图形问题和解决方案,帧具有无解决方案的图形问题。
数据库检查组件可以用于对于图形处理单元绘制的帧记录新的帧问题。
系统还可以包括用于对于图形处理单元绘制的帧收集关于常见问题的数据的分析组件。分析组件可以用于收集关于随机生成的图形处理单元绘制的帧的数据以用于数据挖掘。
根据本发明的第三方面,提供了一种用于诊断在应用运行期间的图形显示问题的计算机程序产品,该计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并且存储由处理电路执行以执行根据本发明的第一方面的方法的指令。
根据本发明的第四方面,提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括当所述程序在计算机上运行时用于执行本发明的第一方面的方法的软件代码部分。
根据本发明的第五方面,提供了一种基本上如参考附图所述的方法。
根据本发明的第六方面,提供了一种基本上如参考附图所述的系统。
本发明的所述方面提供了使用户能够确定屏幕上的问题的性质的优点。
附图说明
在说明书的结论部分中特别指出并清楚地要求保护被视为本发明的主题。当结合附图阅读时,关于组织和操作方法以及目的、特征及其优点方面的本发明可以参考以下详细描述而最佳地得到理解。
现在将参考以下附图,仅通过示例的方式描述本发明的优选实施例,在附图中:
图1是根据本发明的方法的第一示例实施例的流程图;
图2是由根据本发明的应用执行的图1的第一示例实施例的流程图;
图3是根据本发明的方法的第二示例实施例的流程图;
图4是根据本发明的系统的示例实施例的框图;
图5是本发明可以在其中实现的计算机系统的实施例的框图。
具体实施方式
应当理解的是,为了说明的简单和清楚起见,在附图中示出的元件不一定按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其它元件被夸大。此外,在认为适当的情况下,附图标记可以在附图之间重复以指示相应或类似的特征。
在以下的详细描述中,阐述许多具体细节以便提供本发明的彻底理解。然而,本领域的技术人员应当理解,本发明可以在没有这些具体细节的情况下被实践。在其它实例中,众所周知的方法、过程和组件没有被详细描述以便不混淆本发明。
提供了方法和系统用于确定针对图形显示的故障起源。该方法和系统可以提供在玩游戏时使用图形卡的显示问题的适当技术反馈。
通过用户在游戏中时激活所描述的应用,除了由图形处理单元(GPU)生成的帧之外,触发本地中央处理单元(CPU)以生成屏幕上的当前的单个帧。当用户观察到屏幕上的图形错误时,用户通过动作选择调用所描述的方法。当所述方法被调用时,把GPU存储器中的用于生成该帧的数据复制到主存储器中。随后指示CPU使用当前在主存储器中的所述数据的副本来生成该帧。
当前的GPU生成的图像可以显示给用户以便与CPU生成的图像进行比较。用户可以寻找两个图像之间的差异,并且可以经由用户接口确认它们相同还是不同。这可以推断出屏幕上的问题是否是由图形问题导致的。
参考图1,流程图100示出所述方法的第一示例实施例。
用户可能正在运行使用图形卡的具有高图形使用率的应用(例如,正在玩基于个人计算机的游戏)。屏幕可能错误地显示帧(101)。错误的显示可以是任何形式的显示问题,包括不能查看屏幕上的游戏、仅有部分或中断的视图显示在屏幕上、或者显示了并非游戏的预期视图的任何其它效果。
用户可以例如经由用户接口激活诊断应用(102)。当激活诊断应用时,把GPU存储器中的用于生成该帧的数据复制到主存储器中。随后指示CPU使用当前在主存储器中的所述数据的副本来生成该帧。
诊断应用可以指示本地中央处理单元(CPU)绘制当前在主存储器中的当前帧、并在屏幕上在由图形处理单元(GPU)绘制的帧旁边显示该图像(103)。
用户可以将CPU生成的图像与GPU生成的图像进行比较(104)。可替换地,该比较可以由应用自动执行。确定它们是否匹配(105)。如果它们匹配,则不是图形问题,并且向用户通知这一点(106)。
如果图像不匹配,则这指示其可能是图形显示问题(107)。可以检查游戏帧的数据库以找出匹配问题(108)。匹配问题可以示出具有相同错误显示的帧。
可以向用户通知问题类型以及如何修复该问题(109)。如果其是新问题,则也可以将问题帧记录在数据库中(110)。可选地,可以收集关于常见问题的数据(111)以便由游戏软件开发者分析和解决。
参考图2,流程图200示出由诊断工具应用处理的图1的第一示例实施例。
应用可以接收针对可能具有显示问题的当前由GPU显示的帧的用户生成的激活(201)。应用可以将GPU存储器中的用于生成该帧的数据复制到主存储器(202)。应用可以指示本地CPU使用当前在主存储器中的所述数据的副本来绘制该帧(203)。
随后可以接收用户输入(204),其指示CPU绘制的帧和GPU绘制的帧是否匹配。可替换地,该比较可以由应用自动执行。
如果帧不匹配,则应用可以在帧数据库中查找先前的帧问题(205)。如果在数据库中没有找到匹配者,则可以在数据库中对新帧进行记录(206)。
可以向用户通知可以是下述的结果(207):其不是图形问题,其是具有解决方案的已知图形问题,或者其是图形问题但是在先前是未知的并且没有解决方案。应用可以在执行解决方案的过程中提供协助。
应用可以收集与反复出现或常见的问题帧相关的数据(208)。
参考图3,流程图300示出所述方法的第二示例实施例。
自动诊断应用可以被提供,并且在利用GPU显示执行程序期间可以使用本地CPU绘制随机帧(301)。CPU绘制的帧可以自动与相应的GPU绘制的帧进行比较(302)。可以存储由该比较产生的数据(303)以便由程序开发者进行数据挖掘。
在本实施例中,在没有用户干预的情况下,自动诊断应用可以在CPU上随机地绘制并比较偶尔的帧,以便获得可以被挖掘(例如被游戏供应商挖掘)的大样本数据集。
不与相应的GPU绘制的帧匹配的任何CPU绘制的帧可以与现有的存储数据进行匹配(304)。所述存储数据可以示出帧问题,并且具有相关联的解决方案,该解决方案可以呈现给用户或者可以被自动应用(305)。
在无需用户知道工具的情况下,自动诊断应用可以在用户系统的后台中运行,并且可以提供被自动识别的问题的解决方案的通知。
参考图4,框图示出所述系统400的示例实施例。
系统400可以包括主存储器405和用于处理计算机指令的CPU 401,计算机指令包括诸如游戏应用的当前应用402或涉及高图形内容的其它应用。GPU 403可以被提供并用于处理用于当前应用402的图形以及在显示器404上显示图形。
也可以被称为视觉处理单元(VPU)的GPU是设计成操纵并改变存储器的专门电子电路,以加速目的在于向显示器输出的帧缓冲器中的图像创建。现代GPU在操纵计算机图形方面非常高效,并且它们的高度并行结构使得对于并行地执行大块数据的处理的算法而言,它们比通用CPU更高效。在个人计算机中,GPU可以存在于视频卡上,或者其可以在主板上或CPU核心(CPU die)上。
可以提供诊断应用410。诊断应用可以包括帧选择组件411。帧选择组件411可以包括用户激活组件412,其用于接收针对当前应用402的特定GPU绘制帧420的诊断应用处理的用户激活。帧选择组件411可以可替换地或额外地包括用于随机选择当前应用402的GPU绘制帧420的随机帧选择组件413。
诊断应用410可以包括数据复制组件429,其用于将GPU存储器中的用于生成所选的帧的数据复制到主存储器405中。
诊断应用410可以包括CPU指示组件414,其用于指示本地CPU使用当前在主存储器405中的所述数据的副本来绘制由帧选择组件411选择的帧。
可以提供比较组件415。在一个实施例中,比较组件415可以包括用于将CPU绘制帧421与GPU绘制帧420相结合地显示在显示器404中的显示组件416。这可以通过并排显示帧420、421,或者在GPU绘制帧420的主显示的插入窗口中显示CPU绘制帧421,或者通过任何其它适合的布置。比较组件415可以包括用户输入接收组件417,其用于接收关于两个显示的帧420、421是否匹配的用户输入。
在另一个实施例中,比较组件415可以在没有用户输入的情况下自动执行,并且可以包括用于确定CPU绘制帧421是否匹配GPU绘制帧420的自动匹配组件418。
诊断应用410可以包括数据库检查组件425,其用于检查与不匹配CPU绘制帧的GPU绘制帧420(其指示存在图形问题)类似的问题是否先前已被存储在帧问题的数据库430中。帧问题的数据库430可以具有相关联的解决方案,该解决方案可以由解决方案检索组件426检索。
诊断应用410可以包括用户通知组件427,其用于向用户通知图形问题以及提供解决方案(如果有的话)。
诊断应用410还可以包括分析组件428,其用于存储与常见帧问题相关的数据431以用于进一步分析。
参考图5,用于实现本发明的各方面的示例性系统包括:适合于存储和/或执行程序代码的数据处理系统500,包括通过总线系统503直接或间接耦合到存储器元件的至少一个处理器501。存储器元件可以包括:在程序代码的实际执行期间利用的本地存储器,大容量存储装置,以及提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储装置取回代码的次数的高速缓冲存储器。
存储器元件可以包括采取只读存储器(ROM)504和随机存取存储器(RAM)505形式的系统存储器502。基本输入/输出系统(BIOS)506可以存储在ROM 504中。包括系统软件508的软件507可以存储在RAM 505中,其中系统软件508包括操作系统软件509。软件应用510也可以存储在RAM 505中作为软件507的一部分。
系统500还可以包括诸如磁性硬盘驱动器之类的主存储部件511和诸如磁盘驱动器和光盘驱动器之类的辅助存储部件512。驱动器和它们的相关联的计算机可读介质提供计算机可执行指令、数据结构、程序模块和用于系统500的其它数据的非易失性存储。软件应用可以存储在主存储部件511和辅助存储部件512以及系统存储器502上。
计算系统500可以经由网络适配器516使用去往一个或多个远程计算机的逻辑连接而在联网环境中操作。
输入/输出装置513可以直接地或者通过中间I/O控制器耦合到系统。用户可以通过诸如键盘、指点装置或其它输入装置(例如麦克风、操纵杆、游戏手柄、碟形卫星天线、扫描仪等)之类的输入装置输入命令和信息到系统500中。输出装置可以包括扬声器、打印机等。显示器装置514也经由诸如可以包括GPU的视频适配器515之类的接口连接到系统总线503。
所述方法的优点是确定屏幕上的显示是否如用户期望的那样,以及使用户能够修复它。这可以通过在游戏中由用户激活诊断方法、并且将任何非定期地显示的帧与CPU绘制帧进行比较来实现,或者可替换地,后台方法可以自动执行比较。
所述方法和系统被设计为帮助非技术用户快速确定屏幕上的问题的性质并获得帮助而修复该问题。这会节省时间和挫败感、并增加个人计算机游戏者的信心。
所述方法可以在能够运行需要高图形强度并因此使用GPU的游戏软件或其它软件的任何个人计算机(或其它非游戏机的装置)中实现。
一旦被生成,应用就将当前GPU生成图像与由CPU生成的图像进行比较并寻找差异。这会推断出屏幕上的问题是否是由图形问题导致的。消息可以向用户通知问题的性质,并且可选地,可以自动地协助。这会帮助玩家识别他们是否需要修复游戏文件或他们自己的硬件/软件设置。
优点在于,快速、容易、并且不必依赖于之前问过问题的某个其他人。已知的问题信息可以在产品生命周期的测试阶段期间由开发者使用所述方法捕获。
另一个优点在于,该方法可以潜在地用于基于使用频率和问题发生率来挖掘最终产品的游戏数据。这可以在玩家当前连接到互联网的情况下被激活。这也可以允许更有力的问题解决,立即将玩家指引到他们需要的精确解决方案、或者甚至在游戏中为玩家自动地修复问题。
诊断方法可以内置到每个游戏中,内置到操作系统中,或者被提供为应用。该方法可以由用户手动调用、或者可以被自动调用。
所属领域的技术人员将理解的是,本发明的各方面可以实施为系统、方法或计算机程序产品。因此,本发明的各方面可以采取以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或软件和硬件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各方面还可以采取用一个或多个计算机可读介质实施的计算机程序产品的形式,该计算机可读介质上包含有计算机可读程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的适当组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、紧凑盘读/写(CD-R/W)或DVD盘、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读程序代码。这种传播的信号可以采用各种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言(诸如Java、Smalltalk、C++等),还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言(Java以及所有基于Java的商标及标识都是Oracle公司和/或其关联公司的商标或注册商标;其他标志可能为其各自持有者的商标或注册商标)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。
计算机程序指令还可以加载到计算机、其它可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其它可编程装置或其他设备上被执行以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的处理。
对本领域技术人员而言同样清楚的是,根据本发明的优选实施例的逻辑配置的全部或一部分可以适当地用包括执行本方法的步骤的逻辑元件的逻辑设备来实施,并且这样的逻辑元件可以包括诸如在例如可编程逻辑阵列或专用集成电路中的逻辑门之类的组件。这样的逻辑配置还可以在这样的阵列或电路中使用例如虚拟硬件描述符语言通过使元件能够临时或永久建立逻辑结构来实施,所述虚拟硬件描述符语言可以使用固定的或可传输的载体介质来存储和传输。
在一个替代方案中,本发明的优选实施例可以以部署一种服务的计算机实现的方法的形式来实现,所述方法包括部署这样的计算机程序代码的步骤,所述计算机程序代码在被部署到计算机基础设施并在其上执行时使所述计算机系统执行本方法的所有步骤。
在另外的替代方案中,本发明的优选实施例可以以在其上具有功能数据的数据载体的形式来实现,所述功能数据包括功能计算机数据结构,以便当被加载到计算机系统中并从而被操作时使所述计算机系统能够执行本方法的所有步骤。
还应注意的是,在本公开中描述的任何方法可以通过使用VHDL(VHSIC硬件描述语言)程序和VHDL芯片来实现。VHDL是用于场可编程门阵列(FPGA)、专用集成电路(ASIC)和其它类似电子器件的示例性设计输入语言。因此,在此描述的任何软件实现的方法可以通过基于硬件的VHDL程序来仿真,其中所述VHDL程序随后被施加到诸如FPGA之类的VHDL芯片。
本方法一般被构思为导致期望结果的多个步骤的自洽序列。这些步骤需要对物理量进行物理操纵。通常,尽管不是必须的,这些量采取能够被存储、传送、组合、比较和以其它方式操纵的电或磁信号的形式。主要出于一般使用的原因,有时将这些信号称为位、值、参数、项、元件、对象、符号、字符、术语、数字等是方便的。然而,应当注意的是,所有这些术语和类似术语与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。
附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些替代性实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
对于本领域技术人员而言清楚的是,在不背离本发明范围的情况下,对于前述示例性实施例可以做出许多改进和修改。
Claims (26)
1.一种用于诊断在应用运行期间的图形显示问题的方法,包括:
选择所述应用的由图形处理单元绘制的帧;
指示中央处理单元绘制所述帧;
比较图形处理单元绘制的帧和中央处理单元绘制的帧,以确定是否存在图形问题。
2.根据权利要求1所述的方法,包括:将所述图形处理单元的存储器中的用于生成所选的帧的数据复制到主存储器中,以及其中所述中央处理单元使用所述主存储器中的所述数据的副本来绘制所述帧。
3.根据权利要求1所述的方法,其中选择帧的步骤包括:接收未被正确显示的帧的用户选择。
4.根据权利要求1所述的方法,其中选择帧的步骤包括:根据预定义的规则自动地选择帧。
5.根据权利要求1至3中任一项所述的方法,其中比较帧的步骤包括:将所述中央处理单元绘制的帧呈现给用户,以及接收关于帧是否匹配的用户输入。
6.根据前述权利要求中任一项所述的方法,其中比较帧的步骤包括:自动地比较所述图形处理单元绘制的帧和所述中央处理单元绘制的帧,以确定二者是否匹配。
7.根据前述权利要求中任一项所述的方法,包括:
在所存储的图形处理单元绘制的帧问题的数据库中查找与所述图形处理单元绘制的帧类似的问题。
8.根据权利要求7所述的方法,包括:
检索针对所存储的图形处理单元绘制的帧的解决方案。
9.根据前述权利要求中任一项所述的方法,其中如果所述图形处理单元绘制的帧和所述中央处理单元绘制的帧不匹配,则确定对于所述应用存在图形问题。
10.根据前述权利要求中任一项所述的方法,包括:
向用户通知选自下述的信息:
帧不具有图形问题,帧具有图形问题和解决方案,帧具有无解决方案的图形问题。
11.根据前述权利要求中任一项所述的方法,包括:
对于图形处理单元绘制的帧记录新的帧问题。
12.根据前述权利要求中任一项所述的方法,包括:
对于图形处理单元绘制的帧收集关于常见问题的数据。
13.根据前述权利要求中任一项所述的方法,包括:收集关于随机生成的图形处理单元绘制的帧的数据以用于数据挖掘。
14.一种用于诊断在应用运行期间的图形显示问题的系统,包括:
帧选择组件,用于选择所述应用的由图形处理单元绘制的帧;
中央处理单元指示组件,用于指示中央处理单元绘制所述帧;以及
比较组件,用于比较图形处理单元绘制的帧和中央处理单元绘制的帧,以确定是否存在图形问题。
15.根据权利要求14所述的系统,包括:数据复制组件,用于将所述图形处理单元的存储器中的用于生成所选的帧的数据复制到主存储器中,以及其中所述中央处理单元使用所述主存储器中的所述数据的副本来绘制所述帧。
16.根据权利要求14所述的系统,其中所述帧选择组件包括:用户激活组件,用于接收未被正确显示的帧的用户选择。
17.根据权利要求14至16中任一项所述的系统,其中所述帧选择组件包括:自动帧选择组件,用于根据预定义的规则自动地选择帧。
18.根据权利要求14至17中任一项所述的系统,其中所述比较组件包括:显示组件,用于将所述中央处理单元绘制的帧呈现给用户;以及用户输入接收组件,用于接收关于帧是否匹配的用户输入。
19.根据权利要求14至18中任一项所述的系统,其中所述比较组件包括:自动匹配组件,用于自动地比较所述图形处理单元绘制的帧和所述中央处理单元绘制的帧以确定二者是否匹配。
20.根据权利要求14至19中任一项所述的系统,包括:
数据库检查组件,用于在所存储的图形处理单元绘制的帧问题的数据库中查找与所述图形处理单元绘制的帧类似的问题。
21.根据权利要求20所述的系统,包括:
解决方案检索组件,用于检索针对所存储的图形处理单元绘制的帧的解决方案。
22.根据权利要求14至21中任一项所述的系统,其中所述比较组件确定如果所述图形处理单元绘制的帧和所述中央处理单元绘制的帧不匹配,则确定对于所述应用存在图形问题。
23.根据权利要求14至22中任一项所述的系统,包括:
用户通知组件,用于向用户通知选自下述的信息:
帧不具有图形问题,帧具有图形问题和解决方案,帧具有无解决方案的图形问题。
24.根据权利要求20至23中任何一项所述的系统,其中所述数据库检查组件用于对于图形处理单元绘制的帧记录新的帧问题。
25.根据权利要求14至24中任一项所述的系统,包括:
分析组件,用于对于图形处理单元绘制的帧收集关于常见问题的数据。
26.根据权利要求25所述的系统,其中所述分析组件用于收集关于随机生成的图形处理单元绘制的帧的数据以用于数据挖掘。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1317389.3 | 2013-10-01 | ||
GB1317389.3A GB2518846A (en) | 2013-10-01 | 2013-10-01 | Diagnosing graphics display problems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104517285A true CN104517285A (zh) | 2015-04-15 |
Family
ID=49585141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410515535.2A Pending CN104517285A (zh) | 2013-10-01 | 2014-09-29 | 用于诊断图形显示问题的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9373153B2 (zh) |
CN (1) | CN104517285A (zh) |
GB (1) | GB2518846A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445850B2 (en) * | 2015-08-26 | 2019-10-15 | Intel Corporation | Technologies for offloading network packet processing to a GPU |
CN107203463B (zh) * | 2016-03-16 | 2021-10-08 | 斑马智行网络(香港)有限公司 | 界面测试的方法、界面绘制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01149124A (ja) * | 1987-12-07 | 1989-06-12 | Yokogawa Electric Corp | グラフィックディスプレイ装置 |
CN1989545A (zh) * | 2004-05-19 | 2007-06-27 | 索尼计算机娱乐公司 | 图像帧处理方法及向各种显示器显示活动图像的设备 |
US7987065B1 (en) * | 2007-04-17 | 2011-07-26 | Nvidia Corporation | Automatic quality testing of multimedia rendering by software drivers |
CN103164839A (zh) * | 2013-03-07 | 2013-06-19 | 华为技术有限公司 | 一种绘图方法、装置及终端 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513307A (en) | 1992-11-20 | 1996-04-30 | Sega Of America, Inc. | Video game with switchable collision graphics |
JP3688862B2 (ja) | 1997-08-06 | 2005-08-31 | アルゼ株式会社 | 遊戯機ディスプレイ試験装置 |
JP3703473B2 (ja) | 2004-02-09 | 2005-10-05 | 任天堂株式会社 | ゲーム装置およびゲームプログラム |
JP4789494B2 (ja) * | 2004-05-19 | 2011-10-12 | 株式会社ソニー・コンピュータエンタテインメント | 画像フレーム処理方法、装置、レンダリングプロセッサおよび動画像表示方法 |
US8602860B2 (en) | 2005-02-14 | 2013-12-10 | Cork Group Trading Ltd. | Multi-play poker game with pool hand |
US8024708B2 (en) * | 2006-06-20 | 2011-09-20 | Google Inc. | Systems and methods for debugging an application running on a parallel-processing computer system |
US8146061B2 (en) * | 2007-12-12 | 2012-03-27 | Via Technologies, Inc. | Systems and methods for graphics hardware design debugging and verification |
-
2013
- 2013-10-01 GB GB1317389.3A patent/GB2518846A/en not_active Withdrawn
-
2014
- 2014-09-16 US US14/487,756 patent/US9373153B2/en not_active Expired - Fee Related
- 2014-09-29 CN CN201410515535.2A patent/CN104517285A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01149124A (ja) * | 1987-12-07 | 1989-06-12 | Yokogawa Electric Corp | グラフィックディスプレイ装置 |
CN1989545A (zh) * | 2004-05-19 | 2007-06-27 | 索尼计算机娱乐公司 | 图像帧处理方法及向各种显示器显示活动图像的设备 |
US7987065B1 (en) * | 2007-04-17 | 2011-07-26 | Nvidia Corporation | Automatic quality testing of multimedia rendering by software drivers |
CN103164839A (zh) * | 2013-03-07 | 2013-06-19 | 华为技术有限公司 | 一种绘图方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
US9373153B2 (en) | 2016-06-21 |
US20150091922A1 (en) | 2015-04-02 |
GB2518846A (en) | 2015-04-08 |
GB201317389D0 (en) | 2013-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843734B (zh) | 一种自动化测试方法、装置及计算设备 | |
US9213625B1 (en) | Method and apparatus for performing automated user-interface layout testing | |
US20080120601A1 (en) | Information processing apparatus, method and program for deciding priority of test case to be carried out in regression test background of the invention | |
US9454466B2 (en) | Explaining partially illegal combinations in combinatorial models | |
CN109767820A (zh) | 一种基于影像的诊断/检测报告生成方法、装置及设备 | |
US20080163003A1 (en) | Method and System for Autonomic Target Testing | |
US8116179B2 (en) | Simultaneous viewing of multiple tool execution results | |
CN108228861B (zh) | 用于执行机器学习的特征工程的方法及系统 | |
US8086904B2 (en) | Event-based setting of process tracing scope | |
US9612837B2 (en) | Trace method and information processing apparatus | |
US20110154110A1 (en) | Verifying a Register-Transfer Level Design of an Execution Unit | |
CN108595336A (zh) | 一种基于以太网的计算机软件测试系统 | |
US20130036330A1 (en) | Execution difference identification tool | |
JP2008310663A (ja) | 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法 | |
CN115512823A (zh) | 设备异常处理方法、装置、异常处理系统和设备 | |
CN104517285A (zh) | 用于诊断图形显示问题的方法和系统 | |
US8813036B2 (en) | Visual representation of a difference between Cartesian product models | |
US20120110549A1 (en) | Code Breakage Detection Using Source Code History Background | |
US7657851B2 (en) | Device, system, and method for correction of integrated circuit design | |
US10558507B1 (en) | Inbound testing tool | |
JP2013109597A (ja) | 医用同義語辞書作成装置および医用同義語辞書作成方法 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
US20080270847A1 (en) | Methods and Apparatus for Displaying Production and Debug Test Data | |
CN113254248A (zh) | 一种故障诊断方法、系统及计算设备 | |
CN100428249C (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150415 |