块数据处理方法、装置、系统及存储介质制造方法及图纸

技术编号:26303701 阅读:9 留言:0更新日期:2020-11-10 19:57
本申请实施例提供一种块数据处理方法、装置、系统及存储介质,其中,方法包括:获取数据缓冲区剩余空间的大小;当所述剩余空间大于或等于待写入块数据的最大字节数时,将所述待写入块数据写入所述数据缓冲区;当所述剩余空间小于待写入块数据的最大字节数时,从所述数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染。本申请实施例提供的块数据处理方法、装置、系统及存储介质能够解决传统方案中GPU处理效率较低的问题。

【技术实现步骤摘要】
块数据处理方法、装置、系统及存储介质
本申请涉及图形处理技术,尤其涉及一种块数据处理方法、装置、系统及存储介质。
技术介绍
图形处理器(GraphicsProcessingUnit,简称GPU)是一种专门用于对图像或图形进行处理的处理器,应用在电子终端的显示系统中,能够减轻中央处理器(centralprocessingunit,简称CPU)在图像或图形处理方面的压力,提高显示系统的整体处理效率。图形分块渲染是目前应用较为广泛的一种GPU渲染架构,相比于传统的立即渲染架构,能够降低渲染过程中GPU对读写存储器的频次,进而提高渲染效率。在GPU执行图形分块渲染之前需要对一帧图元进行分块,并将块数据写入存储器。在渲染的过程中,依次从存储器中读取各块数据,分别进行渲染。在存储器中为每一个块分配一块存储空间,块数据存储在该存储空间内。存储空间的初始地址和长度是固定的,且在一帧绘制过程中不允许更改。这就导致了绘制过程中会出现某些块的存储空间不够用,经常出现块满的情况。传统方案中,当出现块满的情况时,GPU会向CPU发出块满中断,再由CPU发出块满处理指令,指示GPU执行块满处理。当块满出现比较频繁的时候,GPU与CPU之间的多次交互会降低GPU的处理效率。
技术实现思路
本申请实施例中提供了一种块数据处理方法、装置、系统及存储介质,用于解决传统方案中GPU处理效率较低的问题。本申请第一方面实施例提供一种块数据处理方法,包括:获取数据缓冲区剩余空间的大小;当所述剩余空间大于或等于待写入块数据的最大字节数时,将所述待写入块数据写入所述数据缓冲区;当所述剩余空间小于待写入块数据的最大字节数时,从所述数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染。本申请第二方面实施例提供一种块数据处理装置,包括:剩余空间获取模块,用于获取数据缓冲区剩余空间的大小;数据写入模块,用于当所述剩余空间大于或等于待写入块数据的最大字节数时,将所述待写入块数据写入所述数据缓冲区;数据读出模块,用于当所述剩余空间小于待写入块数据的最大字节数时,从所述数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染。本申请第三方面实施例提供一种块数据处理系统,包括:如上所述的块数据处理装置和存储器。本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器执行以实现如上所述的块数据处理方法。本申请实施例提供的技术方案,通过获取数据缓冲区剩余空间的大小;当剩余空间大于或等于待写入块数据的最大字节数时,将待写入块数据写入数据缓冲区;当剩余空间小于待写入块数据的最大字节数时,从数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染,使得数据缓冲区的剩余空间增大以写入后续块数据。上述方案由GPU自身操作就能够实现对数据缓冲区剩余空间大小进行判断,并在剩余空间较小时从数据缓冲区读取一些数据进行渲染操作,以增大剩余空间便于写入后续块数据,处理效率较高,解决了传统方案中GPU需要与CPU进行交互后再处理块满所导致的处理效率较低的问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例一提供的块数据处理方法的流程图;图2为本申请实施例二提供的数据缓冲区的结构示意图一;图3为本申请实施例二提供的数据缓冲区的结构示意图二;图4为本申请实施例三提供的块数据处理方法的流程图;图5为本申请实施例四提供的块数据处理装置的结构示意图;图6为本申请实施例五提供的块数据处理系统的结构示意图。具体实施方式为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一本实施例提供一种块数据处理方法,该块数据处理方法可以通过计算机程序实现,例如,应用软件等;或者,该方法也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,该方法还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片、可移动智能设备等。本实施例提供固定块数据处理方法可由处理器来执行,尤其是图形处理器GPU。本实施例提供的块数据处理方法具体可以用在GPU对图形进行渲染的场景中,将一帧图形进行分块,每个块包含多个图元数据,然后将各图元数据写入存储器。假定GPU的一帧绘图区大小Width*Height,将一帧绘图区划分为多个块,每个块的大小为N*M,则一帧绘图区支持的最大块数目NUM=(Width*Height)/(N*M)。在存储器中为每个块分配一个数据缓冲区。该数据缓冲区的大小可以为P字节。每个块数据写入的最大字节数为S,意味着有些块的数据长度可以小于S字节。图1为本申请实施例一提供的块数据处理方法的流程图。如图1所示,本实施例提供的块数据处理方法包括:步骤101、获取数据缓冲区剩余空间的大小。在向数据缓冲区写入数据的过程中,数据缓冲区中的剩余空间逐渐减小。步骤101执行获取剩余空间的大小,具体是获取当前空的字节的数目。步骤102、当剩余空间大于或等于待写入块数据的最大字节数时,将待写入块数据写入数据缓冲区。在获取到剩余空间之后,比较剩余空间与待写入块数据最大字节数,当剩余空间大于或等于待写入数据的最大字节数时,表明剩余空间的字节数较多,可将待写入块数据写入数据缓冲区。步骤103、当剩余空间小于待写入块数据的最大字节数时,从数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染。当剩余空间小于待写入块数据的最大字节数时,表明剩余空间不足,出现块满。从数据缓冲区中读出预设长度的块数据,以使剩余空间增多,直至大于或等于待写入块数据的最大字节数时,就能够写入待写入块数据。GPU有多个统一渲染核,在传统方案中,统一渲染核既执行顶点操作,又执行渲染操作。本实施例在统一渲染核中预留一部分,将预留的部分统一渲染核称为预设渲染核。通过预设渲染核对从数据缓冲区读出的预设长度块数据进行渲染。本实施例提供的技术方案,通过获取数据缓冲区剩余空间的大小;当剩余空间大于或等于待写入块数据的最大字节数时,将待写入块数据写入数据缓冲区;当剩余空间小于待写入块数据的最大字节数时,从数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染,本文档来自技高网...

【技术保护点】
1.一种块数据处理方法,其特征在于,包括:/n获取数据缓冲区剩余空间的大小;/n当所述剩余空间大于或等于待写入块数据的最大字节数时,将所述待写入块数据写入所述数据缓冲区;/n当所述剩余空间小于待写入块数据的最大字节数时,从所述数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染。/n

【技术特征摘要】
1.一种块数据处理方法,其特征在于,包括:
获取数据缓冲区剩余空间的大小;
当所述剩余空间大于或等于待写入块数据的最大字节数时,将所述待写入块数据写入所述数据缓冲区;
当所述剩余空间小于待写入块数据的最大字节数时,从所述数据缓冲区中读出预设长度的块数据,并通过图形处理器GPU的统一渲染核中预留出的预设渲染核对读出的块数据进行渲染。


2.根据权利要求1所述的方法,其特征在于,获取数据缓冲区剩余空间的大小,具体为:
获取数据缓冲区所配置的读指针与写指针之间的差值,作为所述数据缓冲区剩余空间的大小。


3.根据权利要求2所述的方法,其特征在于,当写指针大于读指针时,读指针与写指针之间的差值为:数据缓冲区的大小+读指针-写指针-1。


4.根据权利要求2或3所述的方法,其特征在于,当写指针小于读指针时,读指针与写指针之间的差值为:读指针-写指针-1。


5.根据权利要求2所述的方法,其特征在于,在将所述待写入块数据写入所述数据缓冲区之后,还包括:
将所述写指针加上所述待写入块数据的字节数目。


6.根据权利要求2所述的方法,其特征在于,在从所述数据缓冲区中读出预设长度的块数据之后,还包括:
将所述读指针加上读出的块数据的字节数目。


7.根据权利要求1所述的方法,其特征在于,所述预设渲染核只用于在所述剩余空间小于待写入块数据的最大字节数时对从所述数据缓冲区中读出的块数据进行渲染。


8.一种块数据处理装置,其特征在于,包括:
剩余空间获取模块,用于获取数据缓冲区剩余空间的大小;
数据写入模块,用于当所述剩...

【专利技术属性】
技术研发人员:焦永
申请(专利权)人:长沙景嘉微电子股份有限公司长沙景美集成电路设计有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1