用于基于图块的延迟渲染的装置和方法与流程

阅读: 评论:0


1.本公开涉及用于基于图块的延迟渲染(tbdr)的装置、方法、设备和计算机可读介质,并且更具体地涉及具有针对tbdr架构的死图元(primitive)移除和负载均衡的多阶段渲染架构。


背景技术:



2.tbdr由于其在功率和效率方面的优势而成为一种流行的现代图形处理单元(gpu)架构。tbdr模式将屏幕划分为多个图块(tile)。当渲染几何对象时,每个图元都会落入其中一个屏幕图块中,形成每图块的图元列表。稍后在像素着阶段中,光栅化单元提取 图元列表以生成像素。在可选的隐藏表面移除(hsr)单元之后,只有可见像素被递送到着单元以进行纹理和着。由此,纹理和着处理被延迟直到图元可见性已知,相比于未延迟的基于图块的渲染而确保了尽可能低的带宽使用和每帧的最低处理周期。
3.然而,在tbdr模式中,几何流水线处理所有原始图元,并根据图块位置将它们写入到相应的图元列表。整个几何过程必须处理最终将被hsr单元拒绝的死图元。这些死图元在几何操作上浪费了大量计算资源/周期,例如顶点变换、属性插值、裁剪和图元装配。此外,死图元将占用设备内存空间以形成图元列表,这可能触发内存不足问题从而停止或重新启动几何过程。
4.另一方面,当启用多处理器时,负载均衡是用于实现最优渲染时延的非常重要的研究课题。通常,采用中央调度单元,以便预处理顶点缓冲区并将图元分派给每个处理器以用于负载均衡。在大多数情况下,该中央调度单元最终会成为整个流水线的瓶颈。此外,如果启用像曲面细分之类的几何放大,那么调度单元不可能预测将从原始图元的几何数据生成多少个子图元,这使得负载均衡成为难以解决的问题。


技术实现要素:



5.本公开提供了一种利用tbdr模式进行渲染的新架构,它能够避免死图元上的几何处理资源浪费,同时它能够为死图元节省不必要的内存占用。此外,可以针对多处理器gpu系统而实现负载均衡。
6.根据本公开的第一方面,提供了一种用于基于图块的延迟渲染的装置,所述装置包括:可见性引擎,被配置成在与仅位置相关的阶段中生成针对每个图块的图元可见性信息;以及调度器,被配置成在渲染阶段之前基于所述图元可见性信息来执行针对多个处理器核的调度。
7.根据本公开的第二方面,提供了一种用于基于图块的延迟渲染的方法,所述方法包括:在与仅位置相关的阶段中生成针对每个图块的图元可见性信息;以及在渲染阶段之前基于所述图元可见性信息来执行针对多个处理器核的调度。
8.根据本公开的第三方面,提供了一种用于基于图块的延迟渲染的设备,所述设备包括:处理器;以及存储器,可通信地连接到所述处理器且被适配成存储指令,所述指令在
由所述处理器执行时使所述设备执行根据上述第二方面所述的方法的操作。
9.根据本公开的第四方面,提供了一种其上存储有指令的计算机可读介质,所述指令在被执行时使用于基于图块的延迟渲染的设备的处理器执行根据上述第二方面所述的方法。
10.通过本公开,消除了在几何处理阶段期间引起的针对死图元的计算资源浪费,从而节省了gpu系统的处理周期、内存空间和功率;此外,利用负载均衡调度来实现更好的gpu利用率,几何工作量和像素着工作量均可以被均匀分布到多处理器系统。
附图说明
11.现在将参考附图来描述本公开的示例性实施例。然而,本公开可以以许多不同的形式实施,且不应被解读为限于本文所阐述的实施例。相反,这些实施例被提供以便使公开内容全面而完整,且将向本领域技术人员完全传达本公开的范围。在对附图所示的示例性实施例的详细描述中所使用的术语不意在对本公开进行限制。在附图中,类似的数字指代类似的部件。
12.图1示出了根据本公开实施例的tbdr模式中的死图元移除的示意框图。
13.图2示出了根据本公开实施例的tbdr模式中的利用活图元信息进行负载均衡的示意框图。
14.图3示出了根据本公开实施例的用于tbdr的装置的框图。
15.图4示出了根据本公开实施例的用于tbdr的方法的流程图。
16.图5示出了根据本公开实施例的用于tbdr的设备的框图。
具体实施方式
17.以下对用于tbdr的装置、方法和设备进行描述。在以下详细描述中,参考了附图,附图作为该详细描述的一部分,并且在附图中,以图示的方式示出了其中可以实现本公开的具体实施例。以足够的细节描述这些实施例,使得本领域技术人员能够实现本公开,并且应当理解,在不脱离本公开各个实施例的范围的情况下,可以利用其他实施例并且可以做出结构、逻辑和电气上的变化。因此,下面的详细描述不应被视作限制性的,而应当是说明性的。本公开的范围由所附权利要求书及其等同物限定。
18.本文所使用的术语仅用于描述特定实施例的目的,而并非意图限制本公开。如本文所使用的那样,单数形式的“一”、“一个”、“该”也意图包括复数形式,除非上下文清楚地另有所指。还应当理解,术语“包括”指示存在所声明的特征、整体、步骤、操作、元件和/或组件,但并不排除存在一个或多个其他特征、整体、步骤、操作、元件、组件。
19.除非另外定义,本文所使用的术语具有与本公开所属领域技术人员普遍理解的含义相同的含义。本文所使用的术语应当被解释为具有与其在本说明书的上下文以及相关领域中的含义一致的含义,除非本文特别定义。
20.以下参考示出根据本公开实施例的方法、设备和/或计算机程序产品的框图和/或流程图描述本公开。应当理解,可以通过计算机程序指令来实现框图和/或流程图的一个框以及框组合。可以将这些计算机程序指令提供给通用计算设备、专用计算设备的处理器和/或其他可编程数据处理装置,使得经由计算设备处理器和/或其他可编程数据处理装置执
行的指令创建用于实现框图和/或流程图中所指定的功能/动作的方法。
21.相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)实施本公开。更进一步,本公开可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以供指令执行系统使用或结合指令执行系统而使用。在本公开的上下文中,计算机可使用或计算机可读介质可以是任何下述这样的介质:其可以包含、存储、通信、传输或传送程序以供指令执行系统、装置或设备使用或者结合指令执行系统、装置或设备使用。
22.电子设备使用机器可读介质(也称为计算机可读介质)来存储和(内部地和/或通过网络与其他电子设备)传输代码(包括软件指令且可以被称为计算机程序代码或计算机程序)和/或数据,该机器可读介质诸如是机器可读存储介质(例如,磁盘、光盘、只读存储器(rom)、闪速存储器、相变存储器等)和机器可读传输介质(也称为载体)(例如,电学、光学、射频、声学或其他形式的传播信号——诸如载波、红外信号等)。因此,电子设备(例如,计算机)包括硬件和软件,诸如一个或多个处理器,其耦合到一个或多个机器可读存储介质以存储代码,以供一个或多个处理器执行和/或存储数据。例如,电子设备可以包括非易失性存储器,当电子设备关断时,该非易失性存储器可以维持代码/数据,并且当电子设备开启时,要由处理器执行的代码的部分通常从较慢的非易失性存储器拷贝到该电子设备的易失性存储器(例如,动态随机存取存储器(dram)、静态随机存取存储器(sram)等)。通常,电子设备还包括一组物理网络接口以与其他电子设备进行网络连接(以使用传播信号来发射/接收代码和/或数据)。本公开的一个或多个部分可以使用软件、固件和/或硬件的不同组合而实现。
23.图1示意性地示出了根据本公开实施例的tbdr模式中的不可见图元移除的示意框图。
24.如图1所示,使用预处理的与仅位置相关的阶段来收集针对每个tbdr图块的图元可见性信息,同时还累计针对每个图块的活图元数目。在下文中,活图元被称作可见图元,而对应地,死图元被称作不可见图元。
25.与仅位置相关的阶段具有几何着、裁剪、投影、剔除和光栅化阶段,该几何着包括顶点着器处理、曲面细分、几何着器处理等。在图块化(即,将图元串联到一个屏幕图块)之后,光栅化和深度测试单元被激活,这是因为经光栅化的像素的位置可以用于确定图元是否落到图块中,以及图元是否被另一个图元完全阻挡,因而可以在稍后的渲染阶段中丢弃该图元。最后,由可见性引擎生成并输出针对每个图块的图元可见性信息。该图元可见性信息可以包括每个图块的可见图元的数目。
26.在整个阶段期间,仅提取和使用顶点位置以节省带宽和计算资源,针对每个图块的图元可见性信息是该阶段的输出,像素着被完全跳过,并且在该阶段结束时不会生成其他信息。
27.在随后的渲染阶段中,在与仅位置相关的阶段中生成的图元可见性信息将被提取以与几何数据对准。从图1中可以看出,只有可见图元被传递到流水线以进行裁剪和投影处理。在该阶段中跳过了剔除操作,因为如上所述不可见图元已被标记和丢弃。
28.上述与仅位置相关的阶段和渲染阶段生成每个图块的图元可见性信息,跳过不可见图元,且成本并不高。在该预处理阶段中,累计诸如可见图元数目之类的每图块的图元信
息。利用该过程,将节省不可见图元的不必要资源消耗,例如,不可见图元装配、投影、裁剪和内存空间,从而可以避免对不可见图元进行处理的几何开销和内存占用。
29.图2示意性地示出了根据本公开实施例的tbdr模式中的利用图元可见性信息进行负载均衡的示意框图。
30.在gpu系统具有多个处理器的情况下,中央调度单元可以读取由与仅位置相关的阶段生成的可见图元信息。该信息可以包含每个屏幕图块的可见图元数目,gpu调度器可以通过动态调度算法来对其进行处理,以输出用于调度的最佳图块组选项。
31.如图2所示,gpu实例0、gpu实例1、
……
、gpu实例n各自的操作对应于图1所示的渲染阶段的操作,gpu调度器可以接收每个图块中的可见图元数目,然后根据该可见图元数目来进行调度。例如,在一个示例中,系统具有2个处理器核,屏幕被划分为4个图块——图块0至图块3,各图块的可见图元数目分别为100、200、300和400,那么gpu调度器可以将图块0和图块3分派给处理器核0并且将图块1和图块2分派给处理器核1。因此,每个处理器都核将处理500个图元。
32.调度是以基于图块的粒度执行的,即,gpu调度器以图块为单位(例如,一个或多个图块)分派给各个gpu实例,这比复杂的顶点缓冲区预处理要高效得多。
33.gpu调度器可以有效地使用每图块的可见图元信息来将几何工作量调度到多个处理器以进行负载均衡。由于与仅位置相关的阶段,即使启用了几何放大(曲面细分或几何着),gpu调度器也可以具有最终的子图元可见性,以实现更好的负载均衡调度,避免了顶点缓冲区扫描。
34.因此,在多处理器gpu系统中,图2所示的过程更好地利用了gpu计算资源并实现了更高的几何处理性能。
35.图3示意性地示出了根据本公开实施例的用于tbdr的装置300的框图。
36.参考图3,用于tbdr的装置300可以至少包括可见性引擎301和调度器302。在一个示例中,可见性引擎301可以是如图1所示的可见性引擎,其被配置成在与仅位置相关的阶段中生成针对每个图块的图元可见性信息。在一个示例中,调度器302可以是如图2所示的gpu调度器,其被配置成在渲染阶段之前基于来自可见性引擎301的图元可见性信息来执行针对多个处理器核的调度。
37.作为示例,可见性引擎301可以进一步被配置成累计每个图块的可见图元的数目以及将该数目包括在图元可见性信息中。由调度器302进行的调度可以是基于被包括在图元可见性信息中的该数目来执行的。
38.作为进一步示例,调度器302可以进一步被配置成将可见图元的总数均匀地分布在该多个处理器核上。
39.作为示例,由调度器302进行的调度可以是以基于图块的粒度执行的。
40.作为示例,调度器302可以提取各个图块的图元可见性信息,以将其与几何数据对准,使得仅可见图元进入渲染阶段。
41.作为示例,渲染阶段可以包括裁剪和投影操作,而不包括剔除操作,因为不可见图元先前已被丢弃。
42.一些部件在图3中被图示为分离的单元。然而,这仅仅指示功能是分离的。这些单元可以作为分离的元件而提供。然而,其他布置也是可能的,例如,它们中的一些可以被组
合为一个单元。可以在任何合适位置以软件、硬件和/或固件的任何组合来实现单元的任何组合。例如,可以有更多的控制器被分离地配置,或者只有一个控制器用于所有组件。
43.图3中所示的部件可以构成在例如机器可读介质内体现的机器可执行指令,其在由机器执行时将使机器执行所描述的操作。此外,这些单元中的任一个可以被实现为硬件,例如专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)等等。
44.图4示意性地示出了根据本公开实施例的用于tbdr的方法400的流程图。
45.在一个示例中,在框401处,在与仅位置相关的阶段中生成针对每个图块的图元可见性信息。在框402处,在渲染阶段之前基于图元可见性信息来执行针对多个处理器核的调度。
46.作为示例,图元可见性信息的生成可以进一步包括累计每个图块的可见图元的数目以及将该数目包括在图元可见性信息中。调度可以是基于该数目来执行的。
47.作为进一步示例,调度可以是通过将可见图元的总数均匀地分布在所述多个处理器核上来执行的。
48.作为示例,调度可以是以基于图块的粒度执行的。
49.作为示例,图元可见性信息可以被提取以与几何数据对准,使得仅可见图元进入渲染阶段。
50.作为示例,渲染阶段可以包括裁剪和投影操作,而不包括剔除操作。
51.图5示意性地示出了根据本公开实施例的用于tbdr的设备500的框图。
52.参考图5,用于tbdr的设备500可以至少包括处理器501、存储器502、接口503和通信介质504。处理器501、存储器502和接口503可以经由通信介质504而彼此通信耦合。
53.处理器501可以包括一个或多个处理单元。处理单元可以是物理设备或制品,其包括从计算机可读介质(诸如,存储器502)读取数据和指令并选择性地执行指令的一个或多个集成电路。在各种实施例中,处理器501可以以各种方式实现。作为示例,处理器501可以被实现为一个或多个处理核。作为另一示例,处理器501可以包括一个或多个分离的微处理器。在又一示例中,处理器501可以包括提供特定功能的专用集成电路(asic)。在再一个示例中,处理器501可以通过使用asic和/或通过执行计算机可执行指令来提供特定功能。
54.存储器502可以包括能够存储数据和/或计算机可执行指令的一个或多个计算机可使用或计算机可读存储介质。应当理解,优选地,存储介质可以是非瞬变存储介质。
55.接口503可以是使用于tbdr的设备500能够向外部设备发送数据或从外部设备接收数据的设备或制品。
56.通信介质504可以促进处理器501、存储器502和接口503之间的通信。通信介质504可以以各种方式实现。例如,通信介质504可以包括外围组件互连(pci)总线、pci express总线,加速图形端口(agp)总线、串行高级技术附件(ata)互连,并行ata互连、光纤通道互连、usb总线、小型计算系统接口(scsi)接口或其他类型的通信介质。
57.在图5的示例中,存储在存储器502中的指令可以包括在由处理器501执行时使用于tbdr的设备500实现关于图4描述的方法的指令。
58.本公开的实施例可以是制品,其中非瞬变机器可读介质(诸如微电子存储器)上存储有对一个或多个信号处理组件(这里一般称为“处理器”)进行编程以执行上述操作的指令(例如,计算机代码)。在其他实施例中,这些操作中的一些可能由包含硬连线逻辑的特定
硬件组件(例如,专用数字滤波器块和状态机)来执行。可替换地,这些操作可能由经编程的信号处理组件和固定硬连线电路组件的任何组合来执行。
59.应当认识到,为了清楚起见,在分离的实施例的上下文中描述的本技术的某些特征还可以在单个实施例中以组合的方式提供。相反,为了简便起见,在单个实施例的上下文中描述的本技术的各种特征还可以分离地或以任何适当的子组合或在本技术的任何其他实施例中适当地提供。不应将在各种实施例的上下文中描述的某些特征视为那些实施例的必要特征,除非该实施例在没有那些元素的情况下无效。
60.在以上详细描述中,已经参考本公开的特定示例性实施例描述了本公开的实施例。很明显,在不脱离所附权利要求中阐述的本公开的精神和范围的情况下,可以对本公开的实施例进行各种修改。因此,说明书和附图应被视为说明性的而非限制性的。
61.在整个说明书中,已经通过流程图呈现了本公开的一些实施例。应当理解,这些流程图中描述的操作的顺序仅用于图示目的,而不意图作为对本公开的限制。本领域技术人员将认识到,在不脱离所附权利要求中阐述的本公开的精神和范围的情况下,可以做出流程图的变型。

技术特征:


1.一种用于基于图块的延迟渲染的装置,其特征在于,所述装置包括:可见性引擎,被配置成在与仅位置相关的阶段中生成针对每个图块的图元可见性信息;以及调度器,被配置成在渲染阶段之前基于所述图元可见性信息来执行针对多个处理器核的调度。2.根据权利要求1所述的装置,其中所述可见性引擎进一步被配置成累计每个图块的可见图元的数目以及将所述数目包括在所述图元可见性信息中,并且其中所述调度是基于所述数目来执行的。3.根据权利要求2所述的装置,其中所述调度器进一步被配置成将可见图元的总数均匀地分布在所述多个处理器核上。4.根据权利要求1至3中任一项所述的装置,其中针对所述多个处理器核的调度是以基于图块的粒度执行的。5.根据权利要求1至3中任一项所述的装置,其中所述图元可见性信息被提取以与几何数据对准,使得仅可见图元进入所述渲染阶段。6.根据权利要求1至3中任一项所述的装置,其中所述渲染阶段包括裁剪和投影,而不包括剔除。7.一种用于基于图块的延迟渲染的方法,其特征在于,所述方法包括:在与仅位置相关的阶段中生成针对每个图块的图元可见性信息;以及在渲染阶段之前基于所述图元可见性信息来执行针对多个处理器核的调度。8.根据权利要求7所述的方法,其中生成针对每个图块的图元可见性信息进一步包括累计每个图块的可见图元的数目以及将所述数目包括在所述图元可见性信息中,并且其中执行针对所述多个处理器核的调度进一步包括基于所述数目来执行调度。9.根据权利要求8所述的方法,其中执行针对所述多个处理器核的调度进一步包括将可见图元的总数均匀地分布在所述多个处理器核上。10.根据权利要求7至9中任一项所述的方法,其中执行针对所述多个处理器核的调度进一步包括以基于图块的粒度执行调度。11.根据权利要求7至9中任一项所述的方法,其中所述图元可见性信息被提取以与几何数据对准,使得仅可见图元进入所述渲染阶段。12.根据权利要求7至9中任一项所述的方法,其中所述渲染阶段包括裁剪和投影,而不包括剔除。13.一种用于基于图块的延迟渲染的设备,其特征在于,所述设备包括:处理器;以及存储器,可通信地连接到所述处理器且被适配成存储指令,所述指令在由所述处理器执行时使所述设备执行根据权利要求7至12中任一项所述的方法的操作。14.一种其上存储有指令的计算机可读介质,所述指令在被执行时使用于基于图块的延迟渲染的设备的处理器执行根据权利要求7至12中任一项所述的方法。

技术总结


本公开提供了一种用于基于图块的延迟渲染的装置,包括:可见性引擎,被配置成在与仅位置相关的阶段中生成针对每个图块的图元可见性信息;以及调度器,被配置成在渲染阶段之前基于所述图元可见性信息来执行针对多个处理器核的调度。通过本公开,节省了GPU系统的处理周期、内存空间和功率,并且利用负载均衡调度来实现更好的GPU利用率。来实现更好的GPU利用率。来实现更好的GPU利用率。


技术研发人员:

请求不公布姓名

受保护的技术使用者:

摩尔线程智能科技(北京)有限责任公司

技术研发日:

2023.01.10

技术公布日:

2023/3/10

本文发布于:2023-03-13 08:16:14,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/69576.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   处理器   多个   图块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图