提供了一种用于提高数字表示图形的生成性能的方法。所述方法包括以下步骤:选择(440)要处理的包含碎片的瓦片;对该瓦片执行(452)剔除程序,该剔除程序是可置换的;并且对所述碎片的多个子集中的每一个子集执行指令集,所述指令集是基于所述剔除程序的输出值而从多个指令集中选出的。还提供了相应的显示适配器和计算机程序产品。
【技术实现步骤摘要】
通过使用可置换的剔除程序提高图形性能的方法和装置本申请是申请日为2008年1月23日,申请号为200880001484.4的专利技术专利申请的分案申请。
本专利技术整体涉及数字表示图形,尤其涉及提高生成数字表示图形的性能。
技术介绍
数字表示图形(digitallyrepresentedgraphics),例如计算机图形,在性能上一直持续不断地得到改进。在二十世纪八十年代和九十年代,出现了具有图形加速器的用于计算机和游戏控制台的显示适配器,这减轻了在图形生成时中央处理单元(CPU)的负担。起初,显示适配器提供2D图形加速,但是它们最终还包括了对3D图形加速的支持。如今显示适配器使用了通常被叫做图形处理单元(GPU)的处理单元。。由于3D图形的复杂性,当前的GPU在执行与3D图形相关的计算时使用了其大量的处理能力。显示适配器持续出现的问题是性能问题。始终会存在需要更高帧速率(每秒钟所渲染的屏幕图像)、更高分辨率和更高图像质量的新的应用和游戏,这就导致了对于在尽可能短的时间内渲染每一个屏幕图像的需求。换句话说,提高性能始终是非常重要的。一种通常的提高性能的方法就是通过提供更高的时钟速度、流水线化或者利用并行计算来提高GPU的处理能力。然而,这样通常会产生更多的热量,导致更多的电力消耗,以及为了冷却GPU产生的更高的风扇噪音。而且,每一个GPU的时钟速度也是有限制的。因此,在改进数字表示图形的性能方面仍然存在能力不足的问题。
技术实现思路
鉴于上述原因,本专利技术的一个目的就是为了解决或者至少减少上述的问题。通常,通过附带的独立专利权利要求来实现上述目的。根据本专利技术的第一方面,提供了一种用于提高数字表示图形的生成性能的方法,包括以下步骤:选择要处理的包含碎片(fragment)的瓦片(tile);对该瓦片执行剔除程序,该剔除程序是可置换的;并且对所述碎片的多个子集中的每一个子集执行一指令集,所述指令集是基于所述剔除程序的输出值而从多个指令集中选出的。因此有可能创建处理瓦片的剔除程序,并且执行这些剔除程序来提高性能。在对所述瓦片执行剔除程序的步骤中,可以对所述剔除程序的至少一部分指令使用表示整个瓦片的算法。这使得在每一次都可以处理多个碎片,从而提高了性能。在执行剔除程序的步骤中,对所述剔除程序的至少一部分指令使用区间(interval)算法。区间算法允许表示多个碎片并且实现起来相对容易。在执行剔除程序的步骤中,对所述剔除程序的至少一部分指令使用仿射算法。仿射算法可以获得对多个碎片的相对准确的表示。上述方法可以进一步包括以下步骤:向所述剔除程序提供表示所述碎片中的多个碎片的至少一个属性的值。所述瓦片的碎片的每一个子集都可以包括一个碎片。换句话说,可以针对每一个碎片执行处理。执行指令集的步骤可以包括:当所述输出值满足剔除条件时,对于所述碎片的多个子集中的每一个子集执行第一指令集,而当所述输出值不满足所述剔除条件时,对于碎片的所述多个子集中的每一个子集执行第二指令集。第一指令集可以比第二指令集包含更少的指令。第一指令集可以包含零个指令。换句话说,如果所述剔除条件为“真”,则不执行指令,这样就提高了性能。在执行指令集的步骤中,所述剔除条件可以对应于:所述瓦片的碎片对最终渲染的图像没有贡献。这是本专利技术中性能提高的根源。在执行指令集的步骤中,所述剔除条件可以对应于:所述瓦片的碎片对最终渲染的图像的贡献小于一阈值。这样可以在与图像质量的降低之间具有某种折衷的情况下进一步提高性能。可以根据所需要的在性能与图像质量之间的平衡来任意地设定所述阈值。在提供值的步骤中,使用区间算法,并使用所述瓦片的多个碎片作为输入,来计算所述值。在提供值的步骤中,使用仿射算法,并使用所述瓦片的多个碎片作为输入,来计算所述值。在提供值的步骤中,作为所述剔除程序请求对所述值进行访问的结果,来计算所述值。换句话说,可以使用一种“拉(pull)”的机制向剔除程序提供值。在提供值的步骤中,在执行所述剔除程序之前计算所述值。换句话说,可以使用一种“推(push)”的机制向剔除程序提供值。选择要处理的包含碎片的瓦片的步骤包括:选择至少部分地被正在处理的多边形所覆盖的瓦片。换句话说,选择多边形对其具有贡献的瓦片。所述碎片可以是与所述多边形关联的碎片。因此,只处理瓦片中的多边形的碎片。重复所述选择瓦片的步骤、执行剔除程序的步骤以及执行指令集的步骤,直到处理完所有的至少部分地被特定多边形覆盖的瓦片为止。当处理完一个多边形时,可以类似地处理下一个多边形,并以此类推,直到处理完图像的所有多边形为止。在执行指令集的步骤中,在所述选择的指令集中或在由后续使用的处理单元进行的处理中,可以使用由所述剔除程序计算的至少一个值。例如,这些值可以在随后的阶段中执行的分层深度剔除中使用。本专利技术的第二方面是适用于生成数字表示图形的显示适配器,包括:用于选择要处理的包含碎片的瓦片的模块;用于对所述瓦片执行剔除程序的模块,所述剔除程序是可置换的;以及用于对所述碎片的多个子集中的每一个子集执行指令集的模块,所述指令集是基于所述剔除程序的输出值而从多个指令集中选出的。应当明白,本专利技术的第二方面可以以与本专利技术第一方面的任意特征相对应的特征的任意组合一起来实现。本专利技术的第三方面是一种包含软件指令的计算机程序产品,所述软件指令当在控制器中执行时,执行根据本专利技术的第一方面的方法。本专利技术的其它目的、特征和优点将会从下面的详细描述中、附带的从属权利要求中以及从附图中看到。通常,在权利要求中使用的所有术语都可以根据该
中的通常含义进行解释,除非本文中另有明确定义。所有的“一个【元件、设备、组件、装置、步骤等等】”都可以开放性地解释为是元件、设备、组件、装置和步骤的至少一个实例,除非文中另有明确声明。本文中公开的任意方法中的步骤都并非必然以公开的顺序执行,除非有明确地声明。附图说明现在结合附图对本专利技术的各个实施例进行更详细描述,其中:图1是一个方块图,示出了本专利技术的一个实施例的一个显示适配器中不同的实体之间如何互相作用。图2是一个示意性方块图,示出了图1的显示适配器中使用的不同的程序之间的关系。图3示出了在图1的显示适配器中使用区间算法剔除瓦片的一个实例。图4a和4b示出了剔除处理的流程图,其可以在图1的显示适配器中执行。图5示出了包含图1的显示适配器的计算机的概览架构。图6a是一个显示图,示出了图1的显示适配器中的一种输入值异常情况。图6b是图6a的情况中输入值的图表。图7a和7b是图1的显示适配器中使用的纹理的说明性透视图。图8a-d是图1的显示适配器中使用的纹理的说明图。具体实施方式下文结合附图对本专利技术进行更完整描述,其中示出了本专利技术的一些实施例。然而,本专利技术可以以许多不同的形式体现,而不应当限于在文中列举出的实施例;而且,通过实例化方式提供这些实施例以便使得本公开内容更加透彻和完整,并且可以将本专利技术的范围传达给本领域技术人员。文中相同的数字表示相同的元件。图1是一个方块图,示出了本专利技术的一个实施例中的显示适配器100中不同实体之间的相互作用。多边形设置块102用于按照连接的CPU570的指令(图5)来设置多边形。虽然可以使用任意多边形,但是一般使用三角形。对于每一个多边形,瓦片光栅化器104都对该多边本文档来自技高网...
【技术保护点】
一种用于在分层深度剔除之前或之后提高数字表示图形的生成性能的方法,包括以下步骤:选择(440)要处理的包含碎片的瓦片;对所述瓦片执行(452)剔除程序;以及对所述碎片的多个子集中的每一个子集执行指令集,所述指令集是基于所述剔除程序的输出值而从多个指令集中选出的,使用区间指令来处理所述碎片,并且进行N维纹理查找。
【技术特征摘要】
2007.01.24 SE 0700162-1;2007.02.08 US 60/900,0841.一种用于在分层深度剔除之前或之后提高数字表示图形的生成性能的方法,包括以下步骤:选择(440)要处理的包含碎片的瓦片;对所述瓦片执行(452)剔除程序,该剔除程序是可置换的;以及对所述碎片的多个子集中的每一个子集执行指令集,所述指令集是基于所述剔除程序的输出值而从多个指令集中选出的,其中,在执行所述剔除程序时,使用区间指令来处理所述碎片,其中输入被定义为区间,并且其中,针对使用所述区间指令的所述剔除程序,使用区间指令来进行N维纹理查找。2.根据权利要求1所述的方法,其中,在所述执行剔除程序的步骤中,对所述剔除程序的至少一部分指令使用表示整个瓦片的算法。3.根据前述任一权利要求所述的方法,其中,在所述执行剔除程序的步骤中,对所述剔除程序的至少一部分指令使用区间算法。4.根据权利要求1-2中任一权利要求所述的方法,其中,在所述执行剔除程序的步骤中,对所述剔除程序的至少一部分指令使用仿射算法。5.根据权利要求1-2中任一权利要求所述的方法,进一步包括以下步骤:向所述剔除程序提供(454a,454b)表示所述碎片中的多个碎片的至少一个属性的值。6.根据权利要求1-2中任一权利要求所述的方法,其中,所述瓦片的碎片的每一个所述子集都包含一个碎片。7.根据权利要求1-2中任一权利要求所述的方法,其中,所述执行指令集的步骤包括:当所述输出值满足剔除条件时,对于所述碎片的多个子集中的每一个子集执行第一指令集,而当所述输出值不满足所述剔除条件时,对于碎片的所述多个子集中的每一个子集执行第二指令集。8.根据权利要求7所述的方法,其中,所述第一指令集比所述第二指令集包含更少的指令。9.根据权利要求8所述的方法,其中,所述第一指令集包括零个指令。10.根据权利要求7所述的方法,其中,在所述执行指令集的步骤中,所述剔除条件对应于:所述瓦片的所述碎片对最终渲染的图像没有贡献。11.根据权利要求7所述的方法,其中,在所述执行指令集的步骤中,所...
【专利技术属性】
技术研发人员:T·阿可尼内默勒,J·哈塞尔格伦,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。