用于提高的图形性能的方法、设备和计算机程序产品的制作方法

文档序号:6592768阅读:107来源:国知局
专利名称:用于提高的图形性能的方法、设备和计算机程序产品的制作方法
技术领域
本发明涉及数字表示图形并且更具体地涉及用于提高产生数字表示图形的性能 的方法、设备和计算机程序产品。
背景技术
例如计算机图形等数字表示图形在性能上连续不断地提高。在二十世纪八十和 九十年代,出现的用于计算机和游戏控制台的显示适配器具有图形加速器,从而在图形 产生中对中央处理单元(CPU)卸载。最初,显示适配器提供2D图形的加速,但最后这 些也包括对加速的3D图形的支持。现代显示适配器使用常常称为图形处理单元(GPU) 的处理单元。由于3D图形的复杂性,现今的GPU:s使用大量的它们的处理能力以执行与3D 图形相关的计算。对于显示适配器的连续不断的问题是性能。一直有新的应用程序和游戏要求更 高的帧率(每秒渲染的屏幕图像)、更高的分辨率和更高的图像质量,从而引起要求每个 屏幕图像应该尽可能短时间地渲染。也就是说,增加性能一直是重要的。增加性能的一个已知的方式是通过使更高的时钟速度成为可能、流水线操作或 开发并行计算增加GPU:s的处理能力。然而,这常常产生更多的热,从而引起更多的功 耗和更高的用于冷却GPU的风扇噪声。功耗和热是移动装置的主要限制和瓶颈。此外, 对每个GPU的时钟速度存在限制。因此,对于提高数字表示图形中的性能的不足的能力仍然存在问题。

发明内容
鉴于上文,本发明的目的是解决或至少减少上文论述的问题。一般,上文的目的通过附上的独立专利权利要求达到。根据第一方面,本发明通过用于提高数字表示图形的产生的性能的方法实现。 该方法包括接收基本图元(basic primitive)的第一表示;提供与顶点位置确定关联的指 令集;使用有界运算(boundedarithmetic)对所述基本图元的所述第一表示执行所述指令 集用于提供所述基本图元的第二表示;以及使所述基本图元的所述第二表示经过剔除处 理(cullingprocess)。对基本图元进行剔除是有利的,其中基本图元和基本图元的表示可 在图形流水线开始处丢弃,其引起性能增益。此外,在完全渲染的图像中不可见的大部 分表面不在过程中转发,其也引起性能增益。也就是说,对全部基本图元进行剔除是有 利的,其中避免大部分不可见表面的曲面细分(tessellation),其引起性能增益。在计算机图形中,顶点包括与在空间中的位置关联的数据。例如,顶点可是与 图元的角关联的所有数据。顶点不仅与三个空间坐标关联也与正确渲染对象必需的其他 图形信息关联,例如颜色、反射率性质、纹理和表面法线等。连接的顶点集可以用于限定图元。图元可以例如是三角形、四边形、多边形或其他几何形式,或备选地图元可以例如是空间中的表面或点。表示为三角形的图元具有 例如三个顶点并且四边形具有四个顶点。该方法可包括从所述基本图元的所述第一表示选择至少一个顶点,对所述至 少一个顶点的第一表示执行与顶点位置确定关联的指令集用于提供所述至少一个顶点的 第二表示,并且使所述至少一个顶点的所述第二表示经过剔除处理,其中所述剔除处理 的输出包括剔除所述至少一个顶点的决定和不剔除所述至少一个顶点的决定中的一个, 并且在所述剔除处理的该输出包括剔除所述至少一个顶点的决定的情况下,则进行所 述接收基本图元的第一表示,所述提供与顶点位置确定关联的指令集,所述使用有界运 算对所述基本图元的所述第一表示执行所述指令集用于提供所述基本图元的第二表示, 以及所述使所述基本图元的所述第二表示经过剔除处理。这是有利的,因为它引起性能 增益。如果例如剔除处理的输出是不剔除所述至少一个顶点的决定,则它产生与根据第 一方面的方法相比的较低容量昂贵(Iesscapacityexpensive)的方法。该方法可包括确定包围所述基本图元的所述第二表示的边界体积;以及使所 述边界体积经过剔除处理。这是有利的,其中不必提供预定界限并且边界体积自动确 定。该方法可包括执行曲面细分处理,其中所述曲面细分处理基于所述剔除处理的 输出。因此,剔除在曲面细分之前进行。在剔除后进行曲面细分引起性能增益,因为对 较少的基本图元进行曲面细分并且从而是有利的。所述剔除处理可以是第二表示经过的 剔除处理和/或边界体积经过的剔除处理。该方法可包括所述剔除处理是可替换的。这是有利的,其中剔除处理可由例如 用户修改。可替换的剔除处理应用于第一方面的所有实施例。该方法可包括有界运算是来自泰勒运算、区间运算和仿射运算的组的至少一 个。这是有利的,其中该方法是灵活的并且支持不同类型的有界运算并且不限于一个类 型的有界运算。使用泰勒模型是优选的,因为曲面和细分方案(其常常在曲面细分中使 用)常常基于多项式。另一个优势是多项式计算可以由泰勒模型(其导致非常紧密的界 限)精确表示(假如它们具有足够高的阶)。该方法可包括所述边界体积的确定还包括计算所述第二表示的最小值和最大 值。这是有利的,其中它是确定边界体积的性能高效的方式。该方法可包括所述第二表示是来自位置界限和法线界限的组的至少一个。位置 和法线界限可用于确定例如基本图元的第一表示的位置或范围。另外的优势是位置和法 线界限自动地确定。该方法可包括执行所述指令集还包括从与顶点位置确定关联的所述指令集导 出第二指令集,和执行所述第二指令集用于提供法线界限。这是有利的,其中第二指令 集自动导出并且此外法线界限自动计算。该方法可包括使所述边界体积经过所述剔除处理还包括进行以下其中之一使 所述边界体积经过视锥台剔除、使所述边界体积经过背面剔除和使所述边界体积经过遮 挡剔除。对于这个的优势是许多不同的剔除技术是可应用的。该方法可包括使所述第二表示(其是位置或法线界限)经过所述剔除处理还包括 进行以下其中之一使所述位置界限经过视锥台剔除、使所述位置界限或所述法线界限经过背面剔除和使所述位置界限经过遮挡剔除。对于这个的优势是许多不同的剔除技术 是可应用的。该方法可包括所述剔除处理的输出包括丢弃所述基本图元的决定和曲面细分因 子中的一个。这是有利的,因为丢弃基本图元暗示要渲染更少的基本图元,其增加性 能。曲面细分因子可指出该基本图元将不被曲面细分,其引起性能增益。该方法可包括执行曲面细分处理(假使所述剔除处理的输出包括曲面细分因 子)。这是有利的,其中对于每个不被曲面细分或被较少曲面细分的基本图元增加性能。 如果所述剔除处理的输出是丢弃所述基本图元的决定,则没有曲面细分处理要执行。根据第二方面,本发明由适应于产生数字表示图形的设备实现,其包括用于提 高数字表示图形的产生的性能的电路。所述电路适应于接收基本图元的第一表示;提 供与顶点位置确定关联的指令集;使用有界运算对所述基本图元的所述第一表示执行所 述指令集用于提供所述基本图元的第二表示;并且使所述基本图元的所述第二表示经过 剔除处理。要注意到本发明的第二方面可以用对应于本发明的第一方面的任意特征的特征 的任意组合实施。第一方面的优势是同样可应用于第二方面。根据第三方面,本发明通过计算机程序产品实现,其包括存储在计算机可读存 储介质上并且当在处理器上执行时执行根据本发明的第一方面的方法的计算机程序代 码。第一方面的优势是同样可应用于本发明的第三方面。本发明的其他目的、特征和优势将从下列详细公开、从附上的权利要求以及附 图显现。一般,在权利要求中使用的所有术语将根据它们在技术领域中的普通意思解释 (除非在本文中另外明确地限定)。对“一 / 一个/该[元素、装置、部件、工具、步骤 等等]”的所有引用将开放地解释为指所述元素、装置、部件、工具、步骤等等中的至少 一个实例(除非另外明确地规定)。本文公开的任意方法的步骤不必采用公开的精确顺序 执行(除非明确地规定)。


本发明的其他特征和优势将参照附图从目前优选实施例的下列详细说明变得明 显,其中。图1是图示在根据现有技术的显示适配器中不同的实体如何交互的框图。图2a是图示在本发明的实施例中在设备中的不同实体如何可交互的框图。图2b是本发明的实施例的框图。图2c是本发明的实施例的框图。图2d是本发明的实施例的框图。图2e是本发明的实施例的框图。图2f是本发明的实施例的框图。图2g是本发明的实施例的框图。图2h是本发明的实施例的框图。
图3a和3b是示出可以在图2a-d的设备中执行的基本图元剔除处理的流程图。图4示意地图示图3a_b的基本图元剔除处理。图5示出实现图2a-d的设备的典型通用计算机的综览架构。
具体实施例方式现在将在下文中参照附图更充分地描述本发明,其中示出本发明的某些实施 例。然而,本发明可采用许多不同的形式实现并且不应该解释为限制于本文阐述的实施 例;相反,这些实施例通过示例提供使得本公开将是彻底和全面的,并且将充分地表达 本发明的范围给那些本领域内技术人员。相似的号码始终指相似的元素。图1是图示在本领域内技术人员已知的常规显示适配器中不同的实体如何交互 的框图。根据现有技术的显示适配器可包括曲面细分器(teSSellatOr)120、顶点着色器 (vertex shader) 130、三角形遍历单元(triangle traversal unit) 140 和片段着色器 150。根据 现有技术的显示适配器的实体对于本领域内技术人员是众所周知的。到曲面细分器120的输入110是基本图元,其可以是三角形、四边形或其他几何 形式。曲面细分暗示形成许多更小、常常连接的图元。例如,基本三角形(即,基本图 元)在曲面细分器120中曲面细分成覆盖基本三角形的100X100更小、连接的三角形。 这些更小三角形的顶点的位置于是可以在顶点着色器单元130中计算,使得形成曲面。存在不同类型的曲面细分,例如均勻曲面细分、分数曲面细分和自适应曲面细 分。顶点着色器单元130从曲面细分器120接收每个顶点的重心坐标并且作为重心坐 标(U,V)的函数计算例如顶点的位置p(U,V)。三角形遍历单元140负责根据连接的控制器指出的那样来建立多边形。尽管可 以使用任意多边形,通常使用三角形。对于每个多边形,三角形遍历单元140将待渲染 的多边形分为一个或多个分片(tile),其中每个分片至少部分由多边形重叠。一般而言, 分片是片段的组。分片是包含许多片段的二维矩形。这些片段中的每个对应于像素并且 包含渲染像素和测试像素是否应该在屏幕上渲染所要求的所有数据。分片的常见尺寸是 8乘8片段,但任何分片尺寸在本发明的范围内。三角形遍历单元140的另一个重要任务是找到在正渲染的几何图元(例如,三角 形)内的片段。这可以使用各种技术完成,这些技术对于本领域内技术人员是已知的。片段着色器150对传递到该单元的每个片段执行片段着色器程序。这些片段中 的每个对应于像素并且包含渲染像素和测试像素是否应该在屏幕上渲染所要求的数据。 片段数据包括光栅位置、深度、颜色、纹理坐标、模板、alpha(用于混合)等等。对于 每个像素可存在多个片段样本。片段进一步处理以便例如结合之前估计的颜色与纹理,以及增加例如雾等效 果,以及当可能时识别不需要渲染的片段,即片段剔除。片段着色器150可在片段写入目标缓冲器之前进一步执行深度测试、alpha测试 和混合。来自根据现有技术的显示适配器的输出150可在显示器上显示。要注意到从这里开始,将描述本发明。
根据本发明适应于产生数字表示图形的设备的不同实施例将在下文参照图2描 述。该设备包括用于提高数字表示图形的产生的性能的电路。所述设备可实现为显示适 配器并且将在下文中称为显示适配器。图2a是图示根据本发明的显示适配器205的实施例的框图。显示适配器205包 括用于提高数字表示图形的产生的性能、形成基本图元剔除单元212的电路。到基本图元剔除单元212的输入210是基本图元的第一表示。在计算机图形领 域中的几何图元通常解释为系统可以处理(例如绘制或存储)的原子几何对象。所有其 他图形元素由这些图元建立。基本图元是适当的几何表示,其可以曲面细分成许多更小的几何图元,例如三 角形。基本图元是非曲面细分的。基本图元的示例是三角形、四边形、直线(line)、曲 线(curve)、Bezier曲面等等。多边形使用连接的顶点集限定。三角形具有例如三个顶点并且四边形具有四个 顶点。在计算机图形中,顶点不仅与三个空间坐标关联也与正确渲染对象必需的其他图 形信息关联,例如颜色、反射率性质、纹理和表面法线等。基本图元的第一表示可以是属性集。该属性集可以例如是来自控制点、顶点位 置、法线、纹理坐标等等的组的其中之一。例如,三角形可以使用三个顶点位置描述, 并且四边多边形也使用四个顶点位置描述。每个顶点位置还可与其他属性关联,例如法 线和纹理坐标。另一个示例是Bezier三角形或补片,其可以使用顶点位置和控制点的集 描述。在基本图元剔除单元212中,剔除对基本图元和对基本图元的表示执行。从基 本剔除单元的输出222可以是基本图元将被丢弃。在另一个实施例中,输出222可是创 建曲面细分因子。该曲面细分因子可设置为指出基本图元将被丢弃的值。备选地,该曲 面细分因子可设置为指出基本图元可以不被丢弃的值。此外,该曲面细分因子可设置为 指出基本图元将不被执行曲面细分、将被粗糙地进行曲面细分或将采用低比率被执行曲 面细分的值。基本图元剔除的细节和效果在下文中与图3a和图3b结合进一步描述。从显示适配器205的输出224可在显示器上显示。在另一个实施例中,参见图2b,显示适配器205包括基本图元剔除单元212和曲 面细分器214。曲面细分器214可具有与上文参照图1描述的曲面细分器120相似的类型。基本图元剔除单元212、到基本图元剔除单元212的输入210和从显示适配器 205的输出224之前已经结合图2a描述。如果曲面细分器214从基本图元剔除单元212接收基本图元和指出将不对该基本 图元曲面细分的曲面细分因子,曲面细分器不对该基本图元曲面细分。如果曲面细分器214从基本图元剔除单元212接收基本图元但没有接收指出将不 对该基本图元曲面细分的曲面细分因子,则曲面细分器214对该基本图元曲面细分。图2c是图示在本发明的实施例中在显示适配器205中的不同实体如何可交互的 框图。该显示适配器205包括基本图元剔除单元212、曲面细分器214、顶点着色器216、 三角形遍历单元218和片段着色器220。实体214、216、218和220可具有与上文参照图1描述的那些相似的类型。基本图元剔除单元212、到基本图元剔除单元212的输入210和从显示适配器 205的输出224之前已经结合图2a描述。在再另一个实施例中,参见图2d,显示适配器205包括基本图元剔除单元212、 曲面细分器214、顶点着色器216、三角形遍历单元218、可编程剔除单元(PCU) 226和片 段着色器220。实体214、216、218和220可具有与上文参照图1描述的那些相同或相似 的类型。基本图元剔除单元212、到基本图元剔除单元212的输入210和从显示适配器 205的输出224之前已经结合图2a描述。在可编程剔除单元226中,剔除根据可替换剔除程序(也称为可替换剔除模块) 对分片执行。该剔除程序的细节和效果在未公开的瑞典专利申请SE0700162-1中更详细 地说明,其的内容通过引用结合于此。图2a的显示适配器205可进一步包括基本图元探测单元211,参见图2e。该基 本图元探测单元211设置成检查是否可以剔除基本图元中的至少一个顶点。选择来自该 基本图元的至少一个顶点。该至少一个顶点可以例如是该基本图元的顶点或该基本图元 的中心点。如果该基本图元的该至少一个顶点不可以剔除,它暗示该基本图元不可以剔 除,于是最好不在基本图元剔除单元212中执行基本图元剔除,因为基本图元剔除是需 要容量的。如在图2f中示出的,图2b的显示适配器205可进一步包括基本图元探测单元 211。此外,图2c的显示适配器205可包括基本图元探测单元211,参见图2g。图2d 的显示适配器205可包括基本图元探测单元211,参见图2h。图3a示出可以在图2a、b、c和d的基本图元剔除单元212中执行的基本图元剔 除程序的流程图。在步骤310中,接收基本图元的第一表示。在步骤320中,提供指令集。该提供的指令集与顶点位置确定关联。顶点位置 例如使用重心坐标对每个顶点计算为ρ (U,ν)(如结合顶点着色器单元216描述的)。该 指令集从可以在顶点着色器单元216中执行的顶点着色器程序导出或检索。然后分析该 指令集,并且分离用于计算顶点位置的所有指令、运算指令。这些指令重新限定为根据 有界运算(例如泰勒运算、区间运算、仿射运算、或本领域内技术人员已知的另一个适 合的运算)操作。在一个实施例中,这些指令重新限定为根据泰勒模型(代替浮点数) 操作并且到新指令的输入重新限定为泰勒模型。接着是泰勒模型的简短说明以便便于下列步骤的理解。在泰勒模型中使用区间,并且下列表示用于区间
权利要求
1.一种用于提高数字表示图形的产生的性能的方法,所述方法包括 接收基本图元的第一表示,提供与顶点位置确定关联的指令集,使用有界运算对所述基本图元的所述第一表示执行所述指令集用于提供所述基本图 元的第二表示,以及使所述基本图元的所述第二表示经过剔除处理。
2.如权利要求1所述的方法,还包括从所述基本图元的所述第一表示选择至少一个顶点,对所述至少一个顶点的第一表示执行与顶点位置确定关联的指令集用于提供所述至 少一个顶点的第二表示,以及使所述至少一个顶点的所述第二表示经过剔除处理,其中所述剔除处理的输出包括 剔除所述至少一个顶点的决定和不剔除所述至少一个顶点的决定中的一个,以及 假使所述剔除处理的输出包括剔除所述至少一个顶点的决定,则进行 所述接收基本图元的第一表示, 所述提供与顶点位置确定关联的指令集,所述使用有界运算对所述基本图元的所述第一表示执行所述指令集用于提供所述基 本图元的第二表示,以及所述使所述基本图元的所述第二表示经过剔除处理。
3.如权利要求1-2中任一项所述的方法,还包括确定包围所述基本图元的所述第二表示的边界体积,以及 使所述边界体积经过剔除处理。
4.如权利要求1-3中任一项所述的方法,还包括执行曲面细分处理,其中所述曲面细 分处理基于所述剔除处理的输出。
5.如权利要求1-4中任一项所述的方法,其中所述剔除处理是可替换的。
6.如权利要求1-5中任一项所述的方法,其中所述有界运算是来自泰勒运算、区间运 算和仿射运算的组中的至少一个。
7.如权利要求3所述的方法,其中所述边界体积的所述确定还包括计算所述第二表示 的最小值和最大值。
8.如权利要求1-7中任一项所述的方法,其中所述第二表示是来自位置界限和法线界 限的组中的至少一个。
9.如权利要求1所述的方法,其中执行所述指令集还包括 从与顶点位置确定关联的所述指令集导出第二指令集,以及 执行所述第二指令集用于提供法线界限。
10.如权利要求3所述的方法,其中使所述边界体积经过所述剔除处理还包括进行下 列中的至少一个使所述边界体积经过视锥台剔除, 使所述边界体积经过背面剔除,以及 使所述边界体积经过遮挡剔除。
11.如权利要求8所述的方法,其中使所述第二表示经过所述剔除处理还包括进行下列中的至少一个使所述位置界限经过视锥台剔除,使所述位置界限或所述法线界限经过背面剔除,以及使所述位置界限经过遮挡剔除。
12.如权利要求1-11中任一项所述的方法,其中所述剔除处理的输出包括下列中的一个丢弃所述基本图元的决定,以及 曲面细分因子。
13.如权利要求12所述的方法,还包括假使所述剔除处理的输出包括曲面细分因子则 执行曲面细分处理。
14.一种适应于产生数字表示图形的设备,其包括用于提高数字表示图形的产生的性 能的电路,所述电路适应于接收基本图元的第一表示, 提供与顶点位置确定关联的指令集,使用有界运算对所述基本图元的所述第一表示执行所述指令集用于提供所述基本图 元的第二表示,以及使所述基本图元的所述第二表示经过剔除处理。
15.一种计算机程序产品,其包括存储在计算机可读存储介质上并且当在处理器上执 行时执行如权利要求1-13中任一项所述的方法的计算机程序代码。
全文摘要
用于提高数字表示图形的产生的性能的方法。该方法包括接收基本图元的第一表示;提供与顶点位置确定关联的指令集;使用有界运算对所述基本图元的所述第一表示执行所述检索的指令集用于提供所述基本图元的第二表示,以及使所述基本图元的所述第二表示经过剔除处理。也提出对应的设备和计算机程序产品。
文档编号G06T15/40GK102016928SQ200980103541
公开日2011年4月13日 申请日期2009年1月23日 优先权日2008年1月23日
发明者J·哈塞尔格伦, J·蒙克贝里, P·克拉贝里, T·阿克尼内-莫勒 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1