CN116523729A - 一种图形处理设备、图形渲染管线分配方法及相关装置 - Google Patents
一种图形处理设备、图形渲染管线分配方法及相关装置 Download PDFInfo
- Publication number
- CN116523729A CN116523729A CN202310763359.3A CN202310763359A CN116523729A CN 116523729 A CN116523729 A CN 116523729A CN 202310763359 A CN202310763359 A CN 202310763359A CN 116523729 A CN116523729 A CN 116523729A
- Authority
- CN
- China
- Prior art keywords
- display
- channels
- total number
- graphics
- rendering
- 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.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 281
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图形处理设备、图形渲染管线分配方法及相关装置,该图形处理设备通过图像处理器采用多路通道图形流水线管理的方法,解决图像分辨率低和屏幕间分辨率、刷新率不同的问题,以及每一路图形处理流水线能够对应独立的一路显示输出通道,提高多路显示***的稳定性和可靠性。该方法实时地根据当前待绘制图像数据的分辨率以及显示通道数量,合理分配渲染管线,实现资源最大利用,提高绘制效率,以满足高分辨率,高刷新率以及异屏异显的需求。
Description
技术领域
本发明涉及显示处理技术领域,尤其涉及一种图形处理设备、图形渲染管线分配方法及相关装置。
背景技术
现有技术中可以采用单芯片多通道的显示卡,但该技术对图形处理器本身性能的要求非常高,图形处理器在多路显示通道显示时,高分辨率和高刷新率的需求无法得到满足的问题。
其次,图形处理器处理图像显示是通过采用给显示通道发分配图形渲染管线来绘制图像数据,将图像数据发送给显示器显示图形,但是对于分辨率高的图像数据,如果显示通道内图形渲染管线过少,则会导致绘制速度缓慢,影响性能,因此,合理分配图形渲染管线至各个显示通道,可以有效提高绘制效率,满足高分辨率,高刷新率以及异屏异显的需求。
发明内容
本发明的主要目的在于提供一种图形处理设备、图形渲染管线分配方法、图形渲染管线分配装置、计算机设备及存储介质,可以解决现有技术中的高分辨率和高刷新率的需求无法得到满足的问题。
为实现上述目的,本发明第一方面提供一种图形处理设备,所述图形处理设备包括中央处理器CPU、PCIe接口以及图形处理器GPU;所述中央处理器CPU用于产生渲染图元,以及基于PCIe接口发送渲染图元和渲染命令至所述图形处理器GPU;所述图形处理器GPU包括多组图形渲染管线、多路显示通道以及显示控制器,所述图形处理器GPU用于将多组图形渲染管线分配给多路显示通道,以供显示通道执行渲染命令,使得显示通道根据渲染图元生成图像数据并将所述图像数据转换为RGB显示信号,以及使得所述显示控制器将所述RGB显示信号转化为物理信号,以供与多路显示通道对应连接的各个显示屏进行显示。
结合第一方面,在一种可能的实现方式中,所述中央处理器CPU用于将渲染命令发送至PCIe接口的PCIe环形缓冲区,所述图形处理器GPU用于从所述PCIe环形缓冲区提取渲染命令,以及基于PCIe接口的DMA取出渲染图元。
结合第一方面,在一种可能的实现方式中,每路显示通道的分辨率以及刷新率独立设置。
为实现上述目的,本发明第二方面提供一种图形渲染管线分配方法,所述方法包括:
获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道;
若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道;
若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
结合第二方面,在一种可能的实现方式中,所述根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用,包括:根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,对所述当前待绘制图像数据对应的所述显示通道进行排列,得到目标列;并计算所述图形渲染管线总数与所述显示通道数量的商值;将小于所述商值的最大整数加一确定为所述目标列的前N个显示通道所需的图形渲染管线总数,将小于所述商值的最大整数确定为所述目标列的第N+i个显示通道所需的图形渲染管线总数,其中,N为所述图形渲染管线总数与所述当前显示通道的通道数量相除的余数,i取值从1至I-N,I为显示通道总数;根据所述显示通道所需的图形渲染管线总数,将所述图形渲染管线总数分配给所述显示通道独立使用。
结合第二方面,在一种可能的实现方式中,所述将所述图形渲染管线总数分配给每个显示通道独立使用之后,包括:若所述显示通道绘制完当前待绘制图像数据后,则控制显示通道释放已分配的图形渲染管线;将所述显示通道释放的已分配的图形渲染管线分配给所述目标列中第一个未绘制完当前待绘制图像数据的显示通道;待所有显示通道释放所有已分配的图形渲染管线,则重新执行获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量的步骤。
结合第二方面,在一种可能的实现方式中,所述方法还包括:若分配模式由第二种分配模式切换至第一种分配模式,则待显示通道释放出所有的已分配渲染管线后,根据第一种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
为实现上述目的,本发明第三方面提供一种图形渲染管线分配装置,所述装置包括:
获取模块:用于获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道;
第一分配模块:用于若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道;
第二分配模块:用于若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
为实现上述目的,本发明第四方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道;
若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道;
若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
为实现上述目的,本发明第四方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道;
若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道;
若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
采用本发明实施例,具有如下有益效果:
本发明提供一种图形处理设备,图形处理设备包括中央处理器CPU、PCIe接口以及图形处理器GPU,中央处理器CPU用于产生渲染图元,以及基于PCIe接口发送渲染图元和渲染命令至图形处理器GPU,图形处理器GPU包括多组图形渲染管线、多路显示通道以及显示控制器,图形处理器GPU用于将多组图形渲染管线分配给多路显示通道,以供显示通道执行渲染命令,使得显示通道根据渲染图元生成图像数据并将图像数据转换为RGB显示信号,以及使得显示控制器将RGB显示信号转化为物理信号,以供与多路显示通道对应连接的各个显示屏进行显示。该图形处理设备通过图形处理器内部采用多路通道图形流水线管理的方法,解决图像分辨率低和屏幕间分辨率、刷新率不同的问题,以及图形处理器的图形流水线拥有强大的硬件加速能力,相比图形流水线外处理,能减少软件复杂度和图形处理时间,保证高分辨率和高刷新率的能力,最后每一路图形处理流水线能够对应独立的一路显示输出通道,提高多路显示***的稳定性和可靠性。
此外,本发明还提供一种图形渲染管线分配方法,可以根据中央处理器CPU读取的分配模式,将图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式,第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将图形渲染管线总数分配给每个显示通道独立使用,第二种分配模式为将图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线,其中,当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道,若图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将图形渲染管线总数分配给每个显示通道独立使用,可以实现实时地根据当前待绘制图像数据的分辨率以及显示通道数量,合理分配渲染管线,实现资源最大利用,提高绘制效率,以满足高分辨率,高刷新率以及异屏异显的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本发明实施例中一种图形处理设备的结构简图;
图2为本发明实施例中一种基于平衡模式的分配方法的流程示意图;
图3为本发明实施例中一种图形渲染管线分配方法的流程示意图;
图4为本发明实施例中一种图形渲染管线分配装置的结构框图;
图5为本发明实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,图1为本发明实施例提供的一种图形处理设备的结构简图,该图形处理设备可以应用于各个具有多屏显示功能的设备,如图1所示,该图像处理设备包括中央处理器CPU、PCIe接口(PCIe PHY)以及图形处理器GPU,中央处理器CPU用于产生渲染图元,以及基于PCIe接口发送渲染图元和渲染命令至图形处理器GPU,图形处理器GPU包括多组图形渲染管线、多路显示通道DISPLAY ENGINE以及显示控制器DISPLAY CONTROLLER 。具体地,GPU内部包括图形处理器核CG(command graphics)和图形处理计算执行核CE(commandexecutor),多个图形处理器核CGs和多个图形处理计算执行核CEs可组成一组图形渲染管线,GPU内包括多组图形渲染管线簇,图形渲染管线数量与显示通道数量不一定相等,图1中以6组图形渲染管线、6路显示通道(DISPLAY ENGINE0、DISPLAY ENGINE1、DISPLAYENGINE2、DISPLAY ENGINE3、DISPLAY ENGINE4、DISPLAY ENGINE5)为例,其中,各路显示通道连接对应的独立显示屏,每路显示通道的分辨率以及刷新率可以独立设置。
图形处理器GPU用于将多组图形渲染管线分配给多路显示通道,以供显示通道执行渲染命令,使得显示通道根据渲染图元生成图像数据FRAMEBUFFER并将图像数据FRAMEBUFFER转换为RGB显示信号,以及使得显示控制器将RGB显示信号转化为物理信号,以供与多路显示通道对应连接的各个显示屏进行显示,其中,显示控制器可以通过高清多媒体接口HDMI(High Definition Multimedia Interface)输出HDMI信号,即物理信号可以为HDMI信号,在其他可能的实现方式中,显示控制器可以通过别的接口输出物理信号,比如DisplayPort接口,DVI(数字视频接口Digital Visual Interface),eDP(嵌入式显示接口embedded DisplayPort),MIPI(移动产业处理器接口联盟Mobile Industry ProcessorInterface)等。在一种可能的实现方式,显示控制器可以有多个,比如图1中的HDMI 1、HDMI2、HDMI 3、HDMI 4、HDMI 5、HDMI 6,每个显示控制器可以对应连接一路显示通道,独立为连接的显示通道服务。在一种可能的实现方式中,中央处理器CPU用可以将渲染命令发送至PCIe接口的PCIe环形缓冲区,图形处理器GPU可从PCIe环形缓冲区提取渲染命令,以及基于PCIe接口的直接内存访问(DMA)取出渲染图元。
在一种可能的实现方式中,中央处理器CPU是一次绘制一帧图像数据对应的渲染图元,然后将渲染图元发送给显示该渲染图元对应的图像数据的目标显示通道,同时提交渲染命令给目标显示通道,以使得目标显示通道执行渲染命令,根据渲染图元生成图像数据,由于中央处理器CPU产生渲染图元的速度和显示通道生成图像数据的速度不一致,有可能中央处理器CPU产生渲染图元的速度大于显示通道生成图像数据,那么发送给显示通道的渲染图元就会累计起来,在本实施例中,为了更好地平衡中央处理器CPU与显示通道的性能,将显示通道累计的渲染图元存储至显示通道的内存中,让累计的渲染图元在内存中等待绘制。
因为多路显示通道的分辨率和刷新率可以不同,所以多通道独立显示需要的多个独立的图像数据FRAMEBUFFER,每个图像数据FRAMEBUFFER可以达到4K甚至更高的分辨率,图像数据FRAMEBUFFER分别经过独立的显示控制器完成RGB信号转换,独立的图像数据DISPYLAY CONTROLLER 和显示控制器来完成HDMI信号转换,最终传给不同的显示器,所有通道刷新频率可以不同,且可以分别达到60Hz刷新率甚至更高。
在一种可能的实现方式中,图形处理器内部还可以包括总线BUS、内存DDR、texture unit纹理单元,floating point unit浮点单元等等,内存DDR可以用来存储显示通道绘制的图像数据FRAMEBUFFER。
该图形处理设备通过图形处理器内部采用多路通道图形流水线管理的方法,解决图像分辨率低和屏幕间分辨率、刷新率不同的问题,以及图形处理器的图形流水线拥有强大的硬件加速能力,相比图形流水线外处理,能减少软件复杂度和图形处理时间,保证高分辨率和高刷新率的能力,最后是每一路图形处理流水线能够对应独立的一路显示输出通道,提高多路显示***的稳定性和可靠性。
图形处理器中有许多图形渲染管线,因为每路显示通道通常是由多个图形渲染管线共同来完成渲染绘图,所以多路图形处理的管理策略的重点就是对图形渲染管线的资源分配策略。以上介绍了本发明实施例提供的一种图形处理设备,下面介绍一种图形渲染管线分配方法,该方法应用于上述介绍的图形处理设备,具体可用于图形处理器GPU给显示通道分配图形渲染管线,参照图2,图2为本发明实施例提供的一种图形渲染管线分配方法,该方法将资源分配策略分为平衡模式(即第一种模式)和最佳性能模式(即第二种模式)两种分配模式,电脑的操作***可根据其当前性能需要,可以通过CPU经过PCIe接口控制GPU内部的控制寄存器,切换两种分配模式。
其中,第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将图形渲染管线总数分配给每个显示通道独立使用,其中,当前待绘制图像数据为显示通道内当前存储的渲染图元对应的图像数据,比如显示通道内存储的渲染图元包括渲染图元A、渲染图元B以及渲染图元C,则当前待绘制图像数据包括渲染图元A对应的图像数据、渲染图元B对应的图像数据以及渲染图元C对应的图像数据。即根据显示通道内存储的渲染图元对应的图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将图形渲染管线总数分配给每个显示通道独立使用。
其中,参照图2,图2为本发明实施例提供的一种基于平衡模式的分配方法的流程示意图,根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将图形渲染管线总数分配给每个显示通道独立使用的具体步骤如下:
步骤S201、根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,对所述当前待绘制图像数据对应的所述显示通道进行排列,得到目标列;并计算所述图形渲染管线总数与所述显示通道数量的商值。
步骤S202、将小于所述商值的最大整数加一确定为所述目标列的前N个显示通道所需的图形渲染管线总数,将小于所述商值的最大整数确定为所述目标列的第N+i个显示通道所需的图形渲染管线总数,其中,N为所述图形渲染管线总数与所述当前显示通道的通道数量相除的余数,i取值从1至I-N,I为显示通道总数。
步骤S203、根据所述显示通道所需的图形渲染管线总数,将所述图形渲染管线总数分配给所述显示通道独立使用。
在本实施例中的平衡模式相当于将图形渲染管线总数平均分配给显示通道,但是由于当图形渲染管线总数与显示通道不成倍数关系时,则无法将图形渲染管线总数完全平均分配给显示通道,比如图形渲染管线总数为8,显示通道为3,则每个显示通道分配2组图形渲染管线,会多出2组图形渲染管线,为了不浪费多出的图形渲染管线,且由于显示通道的当前待绘制图像数据的分辨率和显示通道刷新率越高,需要的图形渲染管线越多,为了合理分配图形渲染管线,在本发明中,依次将多出的图形渲染管线分配给显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值较大的显示通道。
具体地,根据显示通道需要的图形渲染管线数量多少对显示通道进行优先级排序,在一种可能实现的方式中,可以根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,对当前待绘制图像数据对应的显示通道进行排列,得到目标列,其中,当前待绘制图像数据对应的显示通道指的是处理当前待绘制图像数据对应的渲染图元的显示通道,由于显示通道内当前待绘制图像数据可能包含多个渲染图元对应的图像数据,因此,当前待绘制图像数据的分辨率可以为当前待绘制图像数据中多个图像数据的分辨率之和。
计算图形渲染管线总数与显示通道数量的商值,将小于商值的最大整数加一确定为目标列的前N个显示通道所需的图形渲染管线总数,将小于商值的最大整数确定为目标列的第N+i个显示通道所需的图形渲染管线总数,其中,N为图形渲染管线总数与当前显示通道的通道数量相除的余数,i取值从1至I-N,I为显示通道总数。比如,图形渲染管线总数为8,显示通道数量为3,分别记为显示通道1、显示通道2、显示通道3,目标列为显示通道1、显示通道2、显示通道3,则商值等于图形渲染管线总数除以显示通道数量,则商值约等于2.7,小于商值的最大整数为2,N=2,则给显示通道1、显示通道2分配图形渲染管线数量为3,给显示通道3分配图形渲染管线数量为2。
第一种分配模式可以实现对图形渲染管线总数的合理分配,提高图像处理器性能。
第二种分配模式为将图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,其中,空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线,当前显示通道为当前正在被中央处理器CPU提交渲染命令的显示通道,比如,中央处理器CPU当前正在提交渲染命令给显示通道A,则显示通道A为当前显示通道。
第二种分配模式适用于对当前显示通道的渲染图元处理速度较高的情况。
如图2所示,该方法具体步骤如下:
步骤S101、获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量。
其中,显示通道为连接显示屏的通道,GPU中一般有多路显示通道,但并不是所有显示通道都连接显示屏,需要说明的是,本方法实施例所述的显示通道都是连接有显示屏的显示通道。
获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量,在本发明实施例中,当图形渲染管线总数小于通道数量时,则不能采用第一种分配模式来分配图形渲染管线,因此,首先判断图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量之间的大小关系。
步骤S102、若所述图形渲染管线总数不小于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用。
其中,分配模式可以由用户自己在设备上设置,中央处理器CPU可以读取用户设置的分配模式,若图形渲染管线总数不小于通道数量,则图像处理器GPU根据中央处理器CPU读取的分配模式,将图形渲染管线总数分配给每个显示通道独立使用。
用户可以根据需求在设备上设置分配模式,当用户设置为第一种分配模式时,则图像处理器GPU根据第一种分配模式,将图形渲染管线总数分配给每个显示通道独立使用。当用户需求较高,将分配模式设置为第二种分配模式时,则图像处理器GPU根据第二种分配模式,将图形渲染管线总数分配给每个显示通道独立使用,使得将图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,以提高当前显示通道的图像数据绘制速度。
步骤S103、若所述图形渲染管线总数小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
若图形渲染管线总数小于通道数量,则根据第二种分配模式将图形渲染管线总数分配给每个显示通道独立使用。
在一种可能的实现方式中,对于第一种分配模式,当显示通道绘制完当前待绘制图像数据后,则控制显示通道释放已分配的图形渲染管线,并将显示通道释放的已分配的图形渲染管线分配给目标列中第一个未绘制完当前待绘制图像数据的显示通道,比如目标列的排序为显示通道1、显示通道2、显示通道3,若显示通道1中的当前待绘制图像数据绘制已完成,显示通道2和显示通道3还未绘制完当前待绘制图像数据,则将显示通道1释放的图形渲染管线分配给显示通道2,以加快显示通道2的绘制速度,待显示通道2的当前待绘制图像数据已完成,则将显示通道2的释放的图形渲染管线分配给显示通道3,以加快显示通道3的绘制速度。将绘制完当前待绘制图像数据的显示通道释放的图形渲染管线分配给别的显示通道,可以加快别的显示通道的绘制速度,并且不会浪费图形渲染管线资源。
在一种可能的实现方式中,待所有显示通道释放所有已分配的图形渲染管线,则重新执行获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量的步骤,即重新对图形渲染管线进行分配,具体分配方法与上述步骤类似,此处不一一赘述。
需要说明的是,分配模式可以进行切换,若分配模式由第二种分配模式切换至第一种分配模式,则需要待显示通道释放出所有的已分配渲染管线后,再根据第一种分配模式将图形渲染管线总数分配给每个显示通道独立使用。
基于上述方法,根据中央处理器CPU读取的分配模式,将图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式,第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将图形渲染管线总数分配给每个显示通道独立使用,第二种分配模式为将图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线,其中,当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道,若图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将图形渲染管线总数分配给每个显示通道独立使用,可以实现实时地根据当前待绘制图像数据的分辨率以及显示通道数量,合理分配渲染管线,实现资源最大利用,提高绘制效率,以满足高分辨率,高刷新率以及异屏异显的需求。
为了更好地实现上述方法,本发明实施例提供了一种图形渲染管线分配装置,该装置可以执行上述方法,参照图4,图4为本发明实施例提供的一种图形渲染管线分配装置的结构框图,该装置具体包括:
获取模块401用于:获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道。
第一分配模块402用于:若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道。
第二分配模块403:用于若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
在一种可能的设计中,第一分配模块402具体用于:根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,对所述当前待绘制图像数据对应的所述显示通道进行排列,得到目标列;并计算所述图形渲染管线总数与所述显示通道数量的商值;将小于所述商值的最大整数加一确定为所述目标列的前N个显示通道所需的图形渲染管线总数,将小于所述商值的最大整数确定为所述目标列的第N+i个显示通道所需的图形渲染管线总数,其中,N为所述图形渲染管线总数与所述当前显示通道的通道数量相除的余数,i取值从1至I-N,I为显示通道总数;根据所述显示通道所需的图形渲染管线总数,将所述图形渲染管线总数分配给所述显示通道独立使用。
在一种可能的设计中,第一分配模块402具体用于:若所述显示通道绘制完当前待绘制图像数据后,则控制显示通道释放已分配的图形渲染管线;将所述显示通道释放的已分配的图形渲染管线分配给所述目标列中第一个未绘制完当前待绘制图像数据的显示通道;待所有显示通道释放所有已分配的图形渲染管线,则重新执行获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量的步骤。
基于上述装置,实现实时地根据当前待绘制图像数据的分辨率以及显示通道数量,合理分配渲染管线,实现资源最大利用,提高绘制效率,以满足高分辨率,高刷新率以及异屏异显的需求。
图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图5所示,该计算机设备包括通过***总线连接的处理器、存储器、网络接口以及n个显示接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述方法的全部步骤。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述方法的全部步骤。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行前述方法的各个步骤。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行前述方法的各个步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种图形处理设备,其特征在于,所述图形处理设备包括中央处理器CPU、PCIe接口以及图形处理器GPU;
所述中央处理器CPU用于产生渲染图元,以及基于PCIe接口发送渲染图元和渲染命令至所述图形处理器GPU;
所述图形处理器GPU包括多组图形渲染管线、多路显示通道以及显示控制器,所述图形处理器GPU用于将多组图形渲染管线分配给多路显示通道,以供显示通道执行渲染命令,使得显示通道根据渲染图元生成图像数据并将所述图像数据转换为RGB显示信号,以及使得所述显示控制器将所述RGB显示信号转化为物理信号,以供与多路显示通道对应连接的各个显示屏进行显示。
2.根据权利要求1所述的图形处理设备,其特征在于,所述中央处理器CPU用于将渲染命令发送至PCIe接口的PCIe环形缓冲区,所述图形处理器GPU用于从所述PCIe环形缓冲区提取渲染命令,以及基于PCIe接口的DMA取出渲染图元。
3.根据权利要求1所述的图形处理设备,其特征在于,每路显示通道的分辨率以及刷新率独立设置。
4.一种图形渲染管线分配方法,其特征在于,所述方法应用于权利要求1所述的图形处理设备,所述方法包括:
获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道;
若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道;
若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
5.根据权利要求4所述的方法,其特征在于,所述根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用,包括:
根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,对所述当前待绘制图像数据对应的所述显示通道进行排列,得到目标列;并计算所述图形渲染管线总数与所述显示通道数量的商值;
将小于所述商值的最大整数加一确定为所述目标列的前N个显示通道所需的图形渲染管线总数,将小于所述商值的最大整数确定为所述目标列的第N+i个显示通道所需的图形渲染管线总数,其中,N为所述图形渲染管线总数与所述当前显示通道的通道数量相除的余数,i取值从1至I-N,I为显示通道总数;
根据所述显示通道所需的图形渲染管线总数,将所述图形渲染管线总数分配给所述显示通道独立使用。
6.根据权利要求5所述的方法,其特征在于,所述将所述图形渲染管线总数分配给每个显示通道独立使用之后,包括:
若所述显示通道绘制完当前待绘制图像数据后,则控制显示通道释放已分配的图形渲染管线;
将所述显示通道释放的已分配的图形渲染管线分配给所述目标列中第一个未绘制完当前待绘制图像数据的显示通道;
待所有显示通道释放所有已分配的图形渲染管线,则重新执行获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量的步骤。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若分配模式由第二种分配模式切换至第一种分配模式,则待显示通道释放出所有的已分配渲染管线后,根据第一种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
8.一种图形渲染管线分配装置,其特征在于,所述装置包括:
获取模块:用于获取图像处理器GPU中图形渲染管线总数和图形处理器GPU中显示通道的通道数量;其中,所述显示通道为连接显示屏的通道;
第一分配模块:用于若所述图形渲染管线总数大于所述通道数量,则根据中央处理器CPU读取的分配模式,将所述图形渲染管线总数分配给每个显示通道独立使用;其中,分配模式分为第一分配模式和第二种分配模式;第一种分配模式为根据显示通道的当前待绘制图像数据的分辨率和显示通道刷新率的乘值按照从大到小,将所述图形渲染管线总数分配给每个显示通道独立使用;第二种分配模式为将所述图形渲染管线总数中空闲图形渲染管线全部分配给当前显示通道,所述空闲图形渲染管线为当前没有被其余显示通道使用的渲染管线;其中,所述当前显示通道为中央处理器CPU当前正在提交渲染命令的显示通道;
第二分配模块:用于若所述图形渲染管线总数不小于所述通道数量,则根据第二种分配模式将所述图形渲染管线总数分配给每个显示通道独立使用。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求4至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求4至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310763359.3A CN116523729B (zh) | 2023-06-27 | 2023-06-27 | 一种图形处理设备、图形渲染管线分配方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310763359.3A CN116523729B (zh) | 2023-06-27 | 2023-06-27 | 一种图形处理设备、图形渲染管线分配方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116523729A true CN116523729A (zh) | 2023-08-01 |
CN116523729B CN116523729B (zh) | 2023-09-15 |
Family
ID=87396179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310763359.3A Active CN116523729B (zh) | 2023-06-27 | 2023-06-27 | 一种图形处理设备、图形渲染管线分配方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116523729B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117196929A (zh) * | 2023-09-25 | 2023-12-08 | 沐曦集成电路(上海)有限公司 | 基于定长数据包的软硬件交互*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819820A (zh) * | 2012-08-14 | 2012-12-12 | 长沙景嘉微电子股份有限公司 | 基于分块渲染的gpu中多管线渲染的实现方法 |
CN106200804A (zh) * | 2016-07-15 | 2016-12-07 | 广州视睿电子科技有限公司 | 智能终端设备的显示方法和*** |
CN107958437A (zh) * | 2017-11-24 | 2018-04-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多gpu大分辨率多屏图形分块并行渲染方法 |
CN112346890A (zh) * | 2020-11-13 | 2021-02-09 | 武汉蓝星科技股份有限公司 | 一种复杂图形离屏渲染方法及*** |
CN114040238A (zh) * | 2020-07-21 | 2022-02-11 | 华为技术有限公司 | 一种显示多个窗口的方法及电子设备 |
US20220189107A1 (en) * | 2020-12-14 | 2022-06-16 | Holochip Corporation | Distributed rendering and display system |
-
2023
- 2023-06-27 CN CN202310763359.3A patent/CN116523729B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819820A (zh) * | 2012-08-14 | 2012-12-12 | 长沙景嘉微电子股份有限公司 | 基于分块渲染的gpu中多管线渲染的实现方法 |
CN106200804A (zh) * | 2016-07-15 | 2016-12-07 | 广州视睿电子科技有限公司 | 智能终端设备的显示方法和*** |
CN107958437A (zh) * | 2017-11-24 | 2018-04-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多gpu大分辨率多屏图形分块并行渲染方法 |
CN114040238A (zh) * | 2020-07-21 | 2022-02-11 | 华为技术有限公司 | 一种显示多个窗口的方法及电子设备 |
CN112346890A (zh) * | 2020-11-13 | 2021-02-09 | 武汉蓝星科技股份有限公司 | 一种复杂图形离屏渲染方法及*** |
US20220189107A1 (en) * | 2020-12-14 | 2022-06-16 | Holochip Corporation | Distributed rendering and display system |
Non-Patent Citations (1)
Title |
---|
邵华 等: "面向复杂城市场景的Sort-First并行绘制***中 负载平衡与性能分析", 地球信息科学, vol. 16, no. 3, pages 376 - 381 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117196929A (zh) * | 2023-09-25 | 2023-12-08 | 沐曦集成电路(上海)有限公司 | 基于定长数据包的软硬件交互*** |
CN117196929B (zh) * | 2023-09-25 | 2024-03-08 | 沐曦集成电路(上海)有限公司 | 基于定长数据包的软硬件交互*** |
Also Published As
Publication number | Publication date |
---|---|
CN116523729B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8537166B1 (en) | System and method for rendering and displaying high-resolution images | |
US9064468B2 (en) | Displaying compressed supertile images | |
US7969444B1 (en) | Distributed rendering of texture data | |
DE112013004078B4 (de) | Gemeinsame Speichernutzung über eine vereinheitlichte Speicherarchitektur | |
US9818170B2 (en) | Processing unaligned block transfer operations | |
JP6009692B2 (ja) | グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法 | |
US8766996B2 (en) | Unified virtual addressed register file | |
US8963931B2 (en) | Tiling compaction in multi-processor systems | |
US9378533B2 (en) | Central processing unit, GPU simulation method thereof, and computing system including the same | |
WO2024040815A1 (zh) | 图形处理方法及*** | |
CN116523729B (zh) | 一种图形处理设备、图形渲染管线分配方法及相关装置 | |
CN103003839A (zh) | 反锯齿样本的拆分存储 | |
KR20180002635A (ko) | 그래픽 프로세싱을 위한 표면 포맷에 기초한 적응적 메모리 어드레스 스캐닝 | |
CN114998087B (zh) | 渲染方法及装置 | |
CN109416828B (zh) | 将帧缓冲映射到逻辑显示器的装置及方法 | |
US11055808B2 (en) | Methods and apparatus for wave slot management | |
US20140292617A1 (en) | System, method, and computer program product for reducing image artifacts on multiple displays | |
JP2023547433A (ja) | 計算ワークロードのラスタライゼーションのための方法および装置 | |
CN116681575B (zh) | 图形处理单元、图形渲染方法、存储介质、终端设备 | |
CN103927710A (zh) | 一种应用图层分流混合方法、***以及装置 | |
US20240070962A1 (en) | Graphics processing method and system | |
CN111917935B (zh) | 视频数据交织方法、装置、设备及可读存储介质 | |
US11915359B2 (en) | Kernel software driven color remapping of rendered primary surfaces | |
CN116137015A (zh) | 渲染方法及装置 | |
JP2022179415A (ja) | グラフィックレンダリングのシステム、方法および装置のためのラインベースのレンダリング |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |