CN109242756B - 计算机系统、图形处理单元及其图形处理方法 - Google Patents

计算机系统、图形处理单元及其图形处理方法 Download PDF

Info

Publication number
CN109242756B
CN109242756B CN201811042673.8A CN201811042673A CN109242756B CN 109242756 B CN109242756 B CN 109242756B CN 201811042673 A CN201811042673 A CN 201811042673A CN 109242756 B CN109242756 B CN 109242756B
Authority
CN
China
Prior art keywords
rendering mode
processing unit
graphics processing
rendering
command stream
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
CN201811042673.8A
Other languages
English (en)
Other versions
CN109242756A (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.)
Glenfly Tech Co Ltd
Original Assignee
Glenfly Tech Co Ltd
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 Glenfly Tech Co Ltd filed Critical Glenfly Tech Co Ltd
Priority to CN201811042673.8A priority Critical patent/CN109242756B/zh
Priority to US16/249,085 priority patent/US10628911B2/en
Publication of CN109242756A publication Critical patent/CN109242756A/zh
Application granted granted Critical
Publication of CN109242756B publication Critical patent/CN109242756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

本发明提供一种计算机系统、图形处理单元及其图形处理方法。该图形处理单元,包括:命令流解析器,其包括性能分析单元,用以统计该图形处理单元的性能统计数据以决定该图形处理单元的渲染模式,其中渲染模式包括第一渲染模式及第二渲染模式,用以执行绘图渲染管线以进行图形处理;其中命令流解析器在图形处理单元操作在第一渲染模式时,通过该性能分析单元,计算出特定应用程序连续多个帧的绘制时间及绘制物体数量,根据计算出的该等帧的绘制时间及绘制物体数量,决定是否使图形处理单元的操作切换至第二渲染模式;当判断计算出的该等帧的绘制时间及绘制物体数量均小于其对应阈值时,命令流解析器致使图形处理单元操作在第二渲染模式。

Description

计算机系统、图形处理单元及其图形处理方法
技术领域
本发明涉及图形处理单元,特别涉及可弹性切换不同渲染模式以降低功耗的一种计算机系统、图形处理单元及其图形处理方法。
背景技术
图形处理单元(GPU)是一个相当重要的运算元件。一般而言,图形处理单元的功耗很高,因此需要尽量降低其功耗,以延长电子装置的使用时间。目前的图形处理单元中所采用的命令流解析器只会采用单一渲染模式,使得绘图渲染管线中各个处理级(stage)需要逐一渲染每个图元(primitive)。对于某些像素暂存数据,例如:颜色/深度/模板数据等,当图形处理芯片上内建的缓冲器或快取存储器的空间不足以存储这些像素暂存数据时,这些像素暂存数据将需要被写入存储器,之后在渲染后续图元时再读回以进行混合/深度测试/模板测试等后续的绘图渲染管线操作。然而,如果被写入存储器中的这些像素暂存数据最终会被惕除,这些写入/读取操作可能只是浪费存储器存取资源,因而导致高功耗并消耗额外成本。
此外,由于后续图元的渲染结果可能受到当前图元的影响,因此在具有传统命令流解析器的图形处理单元中,绘图渲染管线中各个处理级一次只能处理单一图元,导致图形处理效能不佳。因此,本发明提出一种可支持高性能要求并降低功耗的图形处理单元及其相关图形处理方法,用以解决以上缺点。
发明内容
本发明提供一种图形处理单元,包括:一命令流解析器,其包括一性能分析单元,用以统计该图形处理单元的性能统计数据以决定该图形处理单元的一渲染模式,其中该渲染模式包括一第一渲染模式以及一第二渲染模式,用以执行一绘图渲染管线以进行图形处理;其中该命令流解析器在该图形处理单元操作在该第一渲染模式时,通过该性能分析单元,计算出一特定应用程序连续多个帧的一绘制时间以及一绘制物体数量,根据计算出的该等帧的该绘制时间以及该绘制物体数量,决定是否使该图形处理单元的操作切换至该第二渲染模式;当判断计算出的该等帧的该绘制时间以及该绘制物体数量均小于其对应阈值时,该命令流解析器致使该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式。
本发明还提供一种图形处理方法,用于一图形处理单元,其中该图形处理单元包括具有一性能分析单元的一命令流解析器且该图形处理单元包括一第一渲染模式以及一第二渲染模式,用以执行一绘图渲染管线以进行图形处理,该方法包括:操作该图形处理单元在该第一渲染模式;通过该性能分析单元,计算出一特定应用程序连续多个帧的一绘制时间以及一绘制物体数量;以及根据计算出的该等帧的该绘制时间以及该绘制物体数量,决定是否使该图形处理单元的操作切换至该第二渲染模式;其中当判断计算出的该等帧的该绘制时间以及该绘制物体数量均小于其对应阈值时,致使该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式。
本发明还提供一种计算机系统,包括:一中央处理器,用以执行一显示驱动程序;以及一图形处理单元,用以以一第一渲染模式或一第二渲染模式执行一绘图渲染管线以进行图形处理,其至少包括:一命令流解析器,包括一性能分析单元,用以统计图形处理单元的性能统计数据以决定该图形处理单元的一渲染模式;其中该命令流解析器在该图形处理单元操作在该第一渲染模式时,通过该性能分析单元,计算出一特定应用程序连续多个帧的一绘制时间以及一绘制物体数量,根据计算出的该等帧的该绘制时间以及该绘制物体数量,决定是否使该图形处理单元的操作切换至该第二渲染模式;当判断计算出的该等帧的该绘制时间以及该绘制物体数量均小于其对应阈值时,该命令流解析器致使该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式。
附图说明
图1是显示本发明一实施例中的计算机系统的方块图。
图2是显示本发明一实施例中的命令流解析器的方块图。
图3是显示本发明一实施例中的指令表的示意图。
图4是显示依据本发明一实施例中的图形处理方法的流程图。
图5是显示依据本发明另一实施例中的图形处理方法的流程图。
【符号说明】
100~计算机系统;
110~中央处理器;
111~显示驱动程序;
120~图形处理单元;
130~命令流解析器;
131~寄存器组;
132~性能分析单元;
133~预取缓冲器;
134~预解析单元;
135~主解析单元;
136~输入组合器;
140~输入组合器;
150~顶点着色器;
160~几何着色器;
170~光栅化单元;
180~像素着色器;
190~输出合并器;
200~存储器资源;
210~指令快取;
300~指令表;
311、312~特定命令流解析指令;
S410、S420、S430、S440~步骤;以及
S510、S520、S530、S540、S550、S560~步骤。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
在权利要求中使用如"第一"、"第二"、"第三"等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是显示本发明一实施例中的计算机系统的方块图。如图1所示,计算机系统100包括一中央处理器110及一图形处理单元120,其中图形处理单元120及中央处理器110所执行的显示驱动程序(display driver)111可以支持例如OpenGLES标准。图形处理单元120包括一命令流解析器(command streamparser)130、一输入组合器(input assembler)140、一顶点着色器(vector shader))150、一几何着色器160、一光栅化单元(rasterizer)170、一像素着色器(pixel shader)180、一输出合并器(output merger)190、一存储器资源200以及一指令快取210。其中,输入组合器140、顶点着色器150、几何着色器160、光栅化单元170、像素着色器180以及输出合并器190又称为绘图渲染管线(graphics rendering pipeline)的各处理级,共同组成一绘图渲染管线。图形处理单元120中的命令流解析器130接收来自计算机系统100的中央处理器(CPU)110执行的显示驱动程序(display driver)111所发出的绘图指令,命令流解析器130并会将绘图指令直接传送至后续的各处理级140~190,用以处理绘图渲染管线的各种运算,例如光栅化(rasterization)、深度测试(depth test)、模板测试(Stencil Test)等等。在另一实施例中,上述命令流解析器(command streamparser)130与输入组合器(input assembler)140可整合为一单一命令流解析器。在此应可理解的是,绘图渲染管线内的部件可能随不同系统而异,且可以用各种不同方式呈现,本发明并不限于此。图1的绘图渲染管线组成被本领域技术人员所熟知,因此仅精简描述说明于下,其细节在此省略。
命令流解析器130从存储器资源200中读出指令数据并进行指令解析。其中,存储器资源200可为虚拟存储器或图形处理单元120以及计算机系统100的存储器。接着,命令流解析器130会将绘图指令的相关指令参数输出至输入组合器140。输入组合器140接收相关指令参数,取得索引值以及顶点串流数据,并组合传送至顶点着色器150以及几何着色器160,索引值以及顶点串流数据包含实际几何数据如顶点识别码(vertex ID)、图元识别码(Primitive ID)和实体识别码(instance ID)等数据,可用来在输入组合器140之后的绘图渲染管线的各处理级根据结果调整程序或来源数据。输入组合器140利用不同形式的图元(primitive),例如线列表以及三角形带等来架构实际的三角形。顶点着色器150处理顶点数据,利用顶点信息建立欲显示的物件的三角形及多边形执行例如转换、贴图(skinning)以及光影(lighting)等操作。几何着色器160可接收经过转换、贴图以及光影处理的顶点,经过处理而产生新的顶点数据。经过上述其着色处理后的绘图数据会被传送至光栅化单元170以进行光栅化。光栅化单元170执行透视分割(perspective divide)、裁剪(clipping)以及视区(viewport)/剪裁(scissor)选择与实现,并产生所输出的图元的所有像素的颜色信息至像素着色器180,并提供初始显示测试。像素着色器180可将光栅化处理后的绘图数据进行像素着色,依据各种颜色特性处理每一个像素及改变其颜色值,例如可依据光源的位置及顶点的法线来决定反射或镜像色值及透明值的功能并将经颜色处理后的结果输出至输出合并器190。输出合并器190为一固定功能单元,通常位于绘图渲染管线流程的最后阶段,其功能为取得绘图渲染管线流程所产生的结果,并将其合并为显示在屏幕上的像素值。输出合并器190可使用模板值、深度值加上多个渲染目标和各种混色(blending)处理来产生欲显示的渲染目标。混色处理后的显示数据可进一步通过一快取存储器(未绘示)经由一存储器存取单元(未绘示)写入显示存储器中。
在图1的图形处理单元120架构中,有别于传统的命令流解析器仅可操作在单一渲染模式,本发明的命令流解析器130可操作在两个不同的渲染模式,即:第一渲染模式以及第二渲染模式。详细来说,第一渲染模式可为一立即渲染模式(immediate renderingmode,IMR mode),第二渲染模式可为一分块渲染模式(tile rendering mode,TBR mode)。在第一渲染模式下,图形处理单元120将整个渲染目标以图元为单位进行渲染。在第二渲染模式下,命令流解析器130可将整个渲染目标分为多个分块(tile),再以分块为单位进行渲染,其中这些分块的大小和像素坐标是预先定义的。在第二渲染模式下,图形处理单元120中的三维绘图渲染管线(graphics pipeline)中的各处理级140-190以分块为单位渲染事先定义的分块,并使用一剪切器(scissor)(未绘示)来指示当前分块的相关讯息,例如分块的大小、在整个渲染目标中的坐标等等以提供各处理级140-190进行如上所述的各项渲染操作。举例来说,分块大小可为8x8、16x16个像素等等。另一方面,命令流解析器130也可向中央处理器110发出控制信号,以指示目前的应用程序更合适的渲染模式。
图2是显示本发明一实施例中的命令流解析器130的方块图。命令流解析器130至少包括寄存器组(Register pool)131、性能分析单元(Profiling unit)132、预取缓冲器(pre-cache buffer)133、预解析单元134、主解析单元135以及输入组合器136。命令流解析器130还和总线接口单元220相连,并和存储器资源200通过指令快取210相连。
寄存器组(Register pool)131存储由总线接口单元(Bus Interface Unit,BIU)220所送出的用于命令流解析器130的相关暂存数据。性能分析单元132对图形处理单元的图形处理进行性能分析,产生性能分析结果,并根据性能分析结果向总线接口单元(BIU)220发出一控制信号例如中断信号,以经由总线接口单元220通知中央处理器110切换图1图形处理单元120的渲染模式。性能分析单元132中定义多个计数器(counter),用来统计图1图形处理单元120的各处理级140-190的图形处理性能。在一实施例中,上述统计包括统计绘制一帧所需的时间。在另一实施例中,上述统计包括统计一帧里绘制的所有物体的数量。在又一实施例中,上述统计包括统计存储器流量(memory traffic)等等。其中,统计存储器流量是统计存储器的读写数量。性能分析单元132可对各种类型的应用程序进行统计分析,制定上述各计数器对应的阈值(threshold)。性能分析单元132或绘图驱动程序(未绘示)可以通过特定的指令,查询计算出某个应用程序连续数帧的绘制时间和物体数量等性能分析的统计数据,并根据这些统计数据将合适的渲染模式的指令指示至图1中央处理器110,中央处理器110根据指令指示图形处理单元120弹性切换渲染模式。也就是说,对于每个应用程序,命令流解析器130可以根据性能分析单元132所提供的各种性能分析结果提供关于合适的渲染模式的指示至中央处理器110,而中央处理器110可根据命令流解析器130所提供的指示来切换图形处理单元120所用的渲染模式,使命令流解析器130可相应地切换对应的渲染模式。详细的渲染模式切换细节请参见以下图5的说明。
预取缓冲器133用以缓存供预解析单元134与主解析单元135使用的少量命令与间接数据(indirect data)。当选取的渲染模式为第一渲染模式,预取缓冲器133直接将读取请求发送到存储器资源200,以从存储器资源200取出数据并且将取出的数据直接返回预取缓冲器133中。当选取的渲染模式为第二渲染模式,预取缓冲器133经由指令快取210向存储器资源200存取读取请求及取出数据。
预解析单元134用以对指令表(command list)中的所有指令进行预解析以解析出这些指令中所包含的间接数据,进行间接数据的预取。主解析单元135用以对每个指令进行完整的解析,并将解析完的数据发送至绘图渲染管线后续的各对应单元,例如图1输入组合器140、顶点着色器150等。在此需注意的是,在一些实施例中,预解析单元134与主解析单元135也可整合为一单一解析器单元。输入组合器136可将顶点数据组合成几种不同的图元类型(primitive type)并输出如暂存数据、指令、顶点数据等数据至绘图渲染管线的后续处理级140~190。
另外,在第二渲染模式下,因为每个分块都需要对所有命令进行解析,因此本发明更在图1图形处理单元120中配置一指令快取210,用以存储各帧的所有分块所需执行的指令表以及指令表的指令的间接数据。在一实施例中,可在原先系统快取例如L2快取上配置一段空间作为指令快取210,此指令快取210专门保留给第二渲染模式使用,以加快图形处理速度。指令快取210可进一步分为一不可替换型快取(non-replaceable cache)以及一可替换型快取(replaceable cache)。不可替换型快取可以进一步分为一静态数据快取以及一动态数据快取。静态数据快取主要用于存储用于每个分块的指令表。静态数据快取中的内容在完成第一次分配后即为固定,即在当前帧所有分块完成之前无法进行替换,直到完成当前帧的渲染之后,静态数据快取中的内容才会解除固定或失效。动态数据快取主要是为了存储每个指令的间接数据(indirect data)。间接数据为无法由指令表中直接得到的数据,例如使用间接定址的指令。由于间接数据可能会由图1中央处理器110端更新,因此当间接数据有更新时应该同步更新到指令快取210中。在图1图形处理单元120端可使用快取失效命令(cache invalidation command)来实现同步。在失效之后,当命令流解析器130需要再次从动态数据快取中读取数据时,动态数据快取会先从存储器资源200中载入数据,接着再将数据回传至命令流解析器130。
可替换型快取配置一段备用空间,可替换型快取中的可用空间中可供静态数据快取与动态数据快取自由替配。由于每个应用程序的每一帧之间的指令表及其间接数据的大小可能不同,导致不可替换型快取所配置的空间大小在某些帧的处理上可能不够用。因此,命令流解析器130可将超出不可替换型快取的部分的数据存储/配置在可替换型快取的备用空间中。
详细而言,中央处理器110所执行的显示驱动程序111先判断图形处理单元120的渲染模式是否为第二渲染模式。若是,中央处理器110所执行的显示驱动程序111则将原本的指令表(command list)中针对每一帧插入特定命令流解析指令。明确来说,特定命令流解析指令可至少包括一帧开始指示指令以及一帧结束指示指令,其中显示驱动程序111在每一帧的指令表开始位置之前插入上述帧开始指示指令并在此帧结束时插入上述帧结束指示指令,并传送至图形处理单元120。参见图3。图3是显示本发明一实施例中的指令表的示意图。如图3所示,指令表300包括多个绘图指令,其中,第n帧的指令表为310,显示驱动程序111在第n帧的指令表为310开始位置之前插入帧开始指示指令“Frame_begin”311并在此帧结束时插入帧结束指示指令“Frame_end”312,之后再将插入帧开始指示指令“Frame_begin”311与帧结束指示指令“Frame_end”312之后的指令表传送至图形处理单元120。当命令流解析器130接收到来自显示驱动程序111的包含多个绘图指令的指令表并解析得到包括帧开始指示指令“Frame_begin”311以及帧结束指示指令“Frame_end”312的特定命令流解析指令时,命令流解析器130将介于上述特定命令流解析指令之间的一组第一指令(例如:第n帧的指令表310)存储至指令快取210中,以准备以第二渲染模式进行后续的图形处理。
图4是显示依据本发明一实施例中的图形处理方法的流程图。在此实施例中,假设图形处理单元120初始时操作在第一渲染模式且第一渲染模式为立即渲染模式,而第二渲染模式为分块渲染模式。
在步骤S410,图形处理单元120中的命令流解析器130接收来自显示驱动程序111的一指令表并解析指令表中的指令。接着,命令流解析器130根据判断指令解析结果判断图形处理单元120的一渲染模式并相应渲染模式执行一绘图渲染管线,例如图1所示的处理级140~190以进行图形处理。明确来说,由于当图形处理单元120的渲染模式为第二渲染模式时,中央处理器110所执行的显示驱动程序会将原本的指令表中针对每一帧插入特定命令流解析指令(例如:图3中所示的帧开始指示指令“Frame_begin”311),因此命令流解析器130可判断指令表中是否包括至少一特定命令流解析指令来决定图形处理单元120所操作的渲染模式。
在步骤S420,命令流解析器130判断图形处理单元120接收来自显示驱动程序111的指令表中是否包括至少一特定命令流解析指令。举例来说,特定命令流解析指令可为图3所示的帧开始指示指令“Frame_begin”311以及帧结束指示指令“Frame_end”312,分别用以标示各帧的开始与结束指令的位置。当命令流解析器130判断指令表中不包括特定命令流解析指令时(例如不包含帧开始指示指令“Frame_begin”311),即步骤S420的否,在步骤S430,命令流解析器130判断渲染模式为上述第一渲染模式,并以图元为单位对一绘制目标进行图形处理。
相反地,当命令流解析器130判断指令表中包括上述特定命令流解析指令时(例如包含帧开始指示指令“Frame_begin”311),即步骤S420的是,在步骤S440,由于图形处理单元120初始时操作在第一渲染模式,命令流解析器130判断渲染模式从第一渲染模式切换至一第二渲染模式,将绘制目标分为多个分块,根据特定命令流解析指令,自指令表中取得多个第一绘图指令并对每一分块执行第一绘图指令以进行图形处理。
在一实施例中,至少一特定命令流解析指令包括一第一特定指令以及一第二特定指令并且命令流解析器130取出指令表中介于第一特定指令以及第二特定指令之间的多个指令为上述第一绘图指令。举例来说,参见图3,第一特定指令为帧开始指示指令“Frame_begin”311以及第二特定指令为帧结束指示指令“Frame_end”312,分别用以标示各帧的开始与结束指令的位置,命令流解析器130可一次解析多个指令,将指令表中介于上述特定命令流解析指令311与312之间的一组指令(例如:指令表310)为上述第一绘图指令并存储至指令快取210中,以准备以第二渲染模式进行后续的图形处理。在另一实施例中,命令流解析器130可一次解析一个指令,当判断解析到的指令为特定命令流解析指令311时,便开始将之后的指令存储至指令快取210,直到解析到特定命令流解析指令312后就停止,并以存储在指令快取210中的指令作为上述第一绘图指令。其中,指令快取210还分为一可替换型快取以及一不可替换型快取,不可替换型快取用以存储对应于上述第一绘图指令的一指令表及其对应的至少一间接数据。在一实施例中,不可替换型快取还包括一静态数据快取以及一动态数据快取,分别用以存储对应于上述第一绘图指令的指令表及其对应的至少一间接数据。之后,命令流解析器130可以自指令快取210中取出上述第一绘图指令以对每一分块执行指令解析。
在一实施例中,第一特定指令还包括一分块信息,并且命令流解析器130可依据分块信息决定每一帧的分块的数量以及每一分块的坐标位置,以利产生绘图渲染管线的后续处理级(例如:图1所示的处理级140~190)所需的各项数据如顶点数据等。明确来说,分块信息可以提供关于绘制目标的大小(例如:宽“width”、高“height”)信息以及每个分块的大小(例如:分块的宽“tile_width”、高“tile_height”)信息,因此命令流解析器130可以根据上述绘制目标的大小信息以及每个分块的大小信息分别计算出水平方向以及垂直方向切割的分块数量,从而决定出每一帧的分块数量以及每一分块的在整个渲染目标中的坐标位置。
由于切换至第二渲染模式之后,图形处理单元120仅需使用一个小缓冲区来存储每个分块的渲染结果,并且只需将可视区域像素的结果更新(flush)至存储器中,因此可以有效减少图形处理时的存储器存取的次数并且藉由较少的存储器存取以降低功耗。此外,由于分块覆盖了渲染目标的非重叠部分,在按像素坐标分割后,这些分块可被独立渲染。因此,在第二渲染模式下也可以使图形处理单元120达到更高的三维绘图效能。
在一些实施例中,在第二渲染模式下,命令流解析器130可依序对各帧的每一分块进行第一绘图指令的指令解析并依据每一第一绘图指令的指令类型,判断是否仅对某些分块进行一次第一绘图指令的指令解析。在一实施例中,命令流解析器130判断一第一绘图指令是否属于一二维绘图指令,若是,命令流解析器130判断第一绘图指令为既定绘图指令,若否,命令流解析器130判断第一绘图指令为一三维绘图指令。当判断第一绘图指令为一既定绘图指令(即:二维绘图指令)时,命令流解析器130仅对当前帧的所有分块进行一次第一绘图指令的指令解析。明确来说,在第二渲染模式下,命令流解析器130可接收来自显示驱动程序111的某一帧的所有绘图指令,并依据绘图指令的类型判断是否仅需解析一次。命令流解析器130判断绘图指令类型为一般指令或一特定指令,并根据判断结果判断是否可以跳过第一个分块之后的后续分块的指令解析。在一实施例中,绘图指令类型可分为一三维绘图指令以及一二维绘图指令,其中三维绘图指令可视为一般指令,二维绘图指令例如清除(clear)指令、拷贝指令等可视为特定指令。举例来说,假设每个帧被分为8个分块#0~#7时,当绘图指令为一般指令(例如:三维绘图指令)时,命令流解析器130会对一般指令进行8次的指令解析以渲染8个分块#0~#7;而当绘图指令为特定指令(例如:二维绘图指令)时,命令流解析器130只对特定指令进行一次指令解析以渲染第一个分块#0,并且跳过后续7个分块#1~#7的指令解析。在一实施例中,命令流解析器130可在第一次指令解析完之后,在这些特定指令上加上特殊的跳过提示(skip hint),之后便可根据此特殊的跳过提示来跳过后续分块的指令解析。
在一些实施例中,命令流解析器130可进一步根据性能分析单元132所提供的性能分析结果,弹性在两种渲染模式之间进行模式切换。详细而言,渲染模式至少包括第一渲染模式(立即渲染模式)以及第二渲染模式(分块渲染模式),且上述模式切换包括从第一渲染模式切换为第二渲染模式以及从第二渲染模式切换回第一渲染模式。
图5是显示依据本发明另一实施例中的图形处理方法的流程图,用以根据图2性能分析单元132所提供的性能分析结果,在第一渲染模式以及第二渲染模式之间进行弹性切换。在此实施例中,假设图形处理单元120初始时操作在第一渲染模式且第一渲染模式为立即渲染模式,而第二渲染模式为分块渲染模式。在步骤S510,图形处理单元120中的命令流解析器130通过性能分析单元132计算出某个应用程序连续多个帧(例如:连续5帧)的绘制时间和物体数量。在步骤S520,命令流解析器130判断计算出的连续数帧的绘制时间和物体数量是否均小于对应的阈值。详细来说,命令流解析器130判断计算出的连续数帧的绘制时间是否小于一既定时间阈值以及物体数量是否小于一既定数量阈值并且当连续数帧的绘制时间小于既定时间阈值以及物体数量小于既定数量阈值时判定为连续数帧的绘制时间和物体数量均小于其对应的阈值,否则,判定为连续数帧的绘制时间和物体数量并非均小于其对应的阈值。若判定连续数帧的绘制时间和物体数量并非均小于对应的阈值时(步骤S520的否),表示无须切换渲染模式,保持第一渲染模式,回到步骤S510,命令流解析器130持续取得连续数帧的绘制时间和物体数量并据此判断是否需要进行渲染模式的切换。
若判定连续数帧的绘制时间和物体数量均小于对应的阈值时(步骤S520的是),在步骤S530,命令流解析器130判断将图形处理单元120的操作从第一渲染模式切换至第二渲染模式。在此实施例中,命令流解析器130通过性能分析单元132发出包括一模式切换的提示的一控制信号(例如:一中断信号)至中央处理器110,以使中央处理器110将图形处理单元120的操作从第一渲染模式切换至第二渲染模式。
在将图形处理单元120的操作从第一渲染模式切换至第二渲染模式之后,在步骤S540,命令流解析器130通过性能分析单元132计算出连续数帧的绘制时的存储器流量。在步骤S550,命令流解析器130判断连续数帧的绘制时的存储器流量(例如:存储器的读/写数量)是否有明显减少。具体来说,命令流解析器130判断连续数帧的绘制时的存储器流量是否明显小于先前存储/计算出的存储器流量,例如:判断连续数帧的绘制时的存储器流量与先前存储器流量的差值是否大于一既定阈值,若是,判定连续数帧的绘制时的存储器流量有明显减少;否则,判定为连续数帧的绘制时的存储器流量没有明显减少。举例来说,命令流解析器130判断连续数帧的绘制时的存储器流量与先前存储器流量的差值是否大于一既定阈值是判断所计算出连续数帧的绘制时的存储器流量是否少于先前存储器流量的一半或一既定比例。
当命令流解析器130判断连续数帧的绘制时的存储器流量有明显减少时(步骤S550的是),表示无须切换渲染模式,保持第二渲染模式运行图形处理单元120,回到步骤S540,继续取得连续数帧的绘制时的存储器流量并据此判断是否需要进行渲染模式的切换。
当命令流解析器130判断连续数帧的绘制时的存储器流量没有明显减少时(步骤S550的否),表示性能变差,在步骤S560,命令流解析器130判断将图形处理单元120的操作从第二渲染模式切换回第一渲染模式并回到步骤S510,重新取得连续数帧的绘制时间和物体数量并据此判断是否需要进行渲染模式的切换。在此实施例中,命令流解析器130通过发出包括一模式切换的提示的一控制信号(例如:一中断信号)至中央处理器110,以使中央处理器110将图形处理单元120的操作从第二渲染模式切换回第一渲染模式进行后续的图形处理。
综上所述,本发明提供了一种计算机系统、图形处理单元及其图形处理方法,提供一种可以支持高性能要求的命令流解析器,可提供图形处理单元同时支持两种不同的渲染模式并且还可以根据图形处理单元的性能表现适时在不同渲染模式之间进行弹性切换,从而加快图形处理单元的处理速度以提升绘图性能并降低整体功耗。
虽然图1与图2中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了本领域技术人员显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。

Claims (9)

1.一种图形处理单元,包括:
命令流解析器,其包括性能分析单元,用以提供该图形处理单元的性能统计数据以决定该图形处理单元的渲染模式,其中该渲染模式包括第一渲染模式以及第二渲染模式,用以执行绘图渲染管线以进行图形处理;
其中该命令流解析器在该图形处理单元操作在该第一渲染模式时,通过该性能分析单元,计算出特定应用程序连续多个帧的绘制时间以及绘制物体数量,根据计算出的所述帧的该绘制时间以及该绘制物体数量,决定是否使该图形处理单元的操作切换至该第二渲染模式;当判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值时,该命令流解析器致使该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式,
其中该命令流解析器在该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式之后,通过该性能分析单元,计算出连续多个帧的存储器流量,当该存储器流量与先前存储器流量的差值大于既定阈值时,该命令流解析器保持该第二渲染模式运行该图形处理单元,以及当该存储器流量与先前存储器流量的差值未大于该既定阈值时,该命令流解析器切换回该第一渲染模式运行该图形处理单元。
2.如权利要求1所述的图形处理单元,其中判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值还包括:
判断该绘制时间是否小于既定时间阈值以及该绘制物体数量是否小于既定数量阈值;
若是,判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值;
若否,判断计算出的所述帧的该绘制时间以及该绘制物体数量并非均小于其对应阈值。
3.如权利要求1所述的图形处理单元,其中该性能分析单元还发送控制信号至中央处理器以使该图形处理单元进行该第一渲染模式以及该第二渲染模式之间的切换。
4.如权利要求1所述的图形处理单元,其中该第一渲染模式为立即渲染模式以及该第二渲染模式为分块渲染模式。
5.一种图形处理方法,用于图形处理单元,其中该图形处理单元包括具有性能分析单元的命令流解析器且该图形处理单元包括第一渲染模式以及第二渲染模式,用以执行绘图渲染管线以进行图形处理,该方法包括:
操作该图形处理单元在该第一渲染模式;
通过该性能分析单元,计算出特定应用程序连续多个帧的绘制时间以及绘制物体数量;以及
根据计算出的所述帧的该绘制时间以及该绘制物体数量,决定是否使该图形处理单元的操作切换至该第二渲染模式;
其中当判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值时,致使该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式,其中所述方法还包括:
在该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式之后,通过该性能分析单元,计算出连续多个帧的存储器流量;
当该存储器流量与先前存储器流量的差值大于既定阈值时,保持该第二渲染模式运行该图形处理单元;以及
当该存储器流量与先前存储器流量的差值未大于该既定阈值时,切换回该第一渲染模式运行该图形处理单元。
6.如权利要求5所述的图形处理方法,其中判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值还包括:
判断该绘制时间是否小于既定时间阈值以及该绘制物体数量是否小于既定数量阈值;
若是,判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值;
若否,判断计算出的所述帧的该绘制时间以及该绘制物体数量并非均小于其对应阈值。
7.如权利要求5所述的图形处理方法,其中该性能分析单元还发送控制信号至中央处理器以使该图形处理单元进行该第一渲染模式以及该第二渲染模式之间的切换。
8.如权利要求5所述的图形处理方法,其中该第一渲染模式为立即渲染模式以及该第二渲染模式为分块渲染模式。
9.一种计算机系统,包括:
中央处理器,用以执行显示驱动程序;以及
图形处理单元,用以以第一渲染模式或第二渲染模式执行绘图渲染管线以进行图形处理,其至少包括:
命令流解析器,包括性能分析单元,用以提供该图形处理单元的性能统计数据以决定该图形处理单元的渲染模式;
其中该命令流解析器在该图形处理单元操作在该第一渲染模式时,通过该性能分析单元,计算出特定应用程序连续多个帧的绘制时间以及绘制物体数量,根据计算出的所述帧的该绘制时间以及该绘制物体数量,决定是否使该图形处理单元的操作切换至该第二渲染模式;当判断计算出的所述帧的该绘制时间以及该绘制物体数量均小于其对应阈值时,该命令流解析器致使该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式;
其中该命令流解析器在该图形处理单元的操作从该第一渲染模式切换至该第二渲染模式之后,通过该性能分析单元,计算出连续多个帧的存储器流量,当该存储器流量与先前存储器流量的差值大于既定阈值时,该命令流解析器保持该第二渲染模式运行该图形处理单元,以及当该存储器流量与先前存储器流量的差值未大于该既定阈值时,该命令流解析器切换回该第一渲染模式运行该图形处理单元。
CN201811042673.8A 2018-09-07 2018-09-07 计算机系统、图形处理单元及其图形处理方法 Active CN109242756B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811042673.8A CN109242756B (zh) 2018-09-07 2018-09-07 计算机系统、图形处理单元及其图形处理方法
US16/249,085 US10628911B2 (en) 2018-09-07 2019-01-16 Computer system, graphics processing unit, and graphics processing method thereof that are capable of switching different rendering modes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811042673.8A CN109242756B (zh) 2018-09-07 2018-09-07 计算机系统、图形处理单元及其图形处理方法

Publications (2)

Publication Number Publication Date
CN109242756A CN109242756A (zh) 2019-01-18
CN109242756B true CN109242756B (zh) 2023-04-04

Family

ID=65060131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811042673.8A Active CN109242756B (zh) 2018-09-07 2018-09-07 计算机系统、图形处理单元及其图形处理方法

Country Status (2)

Country Link
US (1) US10628911B2 (zh)
CN (1) CN109242756B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10460513B2 (en) * 2016-09-22 2019-10-29 Advanced Micro Devices, Inc. Combined world-space pipeline shader stages
CN110152291A (zh) * 2018-12-13 2019-08-23 腾讯科技(深圳)有限公司 游戏画面的渲染方法、装置、终端及存储介质
CN111897607A (zh) * 2019-05-06 2020-11-06 阿里巴巴集团控股有限公司 应用界面加载与交互方法、设备及存储介质
CN111144057B (zh) * 2019-12-30 2023-09-15 西安芯瞳半导体技术有限公司 图形渲染管线的性能分析方法、装置及计算机存储介质
CN111208994B (zh) * 2019-12-31 2023-05-30 西安翔腾微电子科技有限公司 计算机图形应用程序的执行方法、装置及电子设备
US11170461B2 (en) 2020-02-03 2021-11-09 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by performing geometry analysis while rendering
US11508110B2 (en) 2020-02-03 2022-11-22 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by performing geometry analysis before rendering
US11321800B2 (en) 2020-02-03 2022-05-03 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by region testing while rendering
US11263718B2 (en) 2020-02-03 2022-03-01 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by pretesting against in interleaved screen regions before rendering
US11120522B2 (en) 2020-02-03 2021-09-14 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by subdividing geometry
US11080814B1 (en) * 2020-02-03 2021-08-03 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by pretesting against screen regions using prior frame information
US11514549B2 (en) 2020-02-03 2022-11-29 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase
CN111340681B (zh) * 2020-02-10 2024-02-20 青岛海信宽带多媒体技术有限公司 一种图像处理方法及装置
EP4354399A1 (en) * 2021-06-22 2024-04-17 Huawei Technologies Co., Ltd. Graphics rendering method and apparatus
CN115861511B (zh) * 2022-12-30 2024-02-02 格兰菲智能科技有限公司 绘制命令的处理方法、装置、系统和计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096235A (zh) * 2014-05-13 2015-11-25 联发科技股份有限公司 图形处理方法及图形处理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982136B2 (en) * 2011-05-16 2015-03-17 Qualcomm Incorporated Rendering mode selection in graphics processing units
US9547930B2 (en) * 2011-11-30 2017-01-17 Qualcomm Incorporated Hardware switching between direct rendering and binning in graphics processing
US9928565B2 (en) 2014-04-21 2018-03-27 Qualcomm Incorporated Flex rendering based on a render target in graphics processing
US10134103B2 (en) 2015-10-23 2018-11-20 Qualcomm Incorporated GPU operation algorithm selection based on command stream marker

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096235A (zh) * 2014-05-13 2015-11-25 联发科技股份有限公司 图形处理方法及图形处理装置

Also Published As

Publication number Publication date
US20200082493A1 (en) 2020-03-12
US10628911B2 (en) 2020-04-21
CN109242756A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
CN109242756B (zh) 计算机系统、图形处理单元及其图形处理方法
CN109325899B (zh) 计算机系统、图形处理单元及其图形处理方法
US10755473B2 (en) Graphics processing system
US9679364B1 (en) Multi-sample antialiasing optimization via edge tracking
CN105321199B (zh) 图形处理流水线及其操作方法与介质
US8803898B2 (en) Forming a windowing display in a frame buffer
US7042462B2 (en) Pixel cache, 3D graphics accelerator using the same, and method therefor
US6693639B2 (en) Graphics processor with pipeline state storage and retrieval
US8089486B2 (en) Tiled prefetched and cached depth buffer
US9805500B2 (en) Hidden culling in tile-based computer generated images
US20070139421A1 (en) Methods and systems for performance monitoring in a graphics processing unit
US20100265254A1 (en) Graphics filled shape drawing
JP2005514711A (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
US7385608B1 (en) State tracking methodology
KR20210066727A (ko) 그래픽 처리 시스템
JPH09282470A (ja) グラフィック処理システム
US8223157B1 (en) Stochastic super sampling or automatic accumulation buffering
US20240169619A1 (en) Graphics processors
CN117136375A (zh) 用于图元批次的几何处理的可缩放图元速率结构
CN118052694A (zh) 图形处理器
GB2475375A (en) Dynamic Graphics Rendering Process

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210318

Address after: 201203 3rd floor, building 2, No. 200, zhangheng Road, Pudong New Area pilot Free Trade Zone, Shanghai

Applicant after: Gryfield Intelligent Technology Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Applicant before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant