System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于图像处理,更具体地,涉及一种优化内存分配的图形处理方法及系统。
技术介绍
1、分块渲染架构的图形处理器(graphics processing unit,gpu)将渲染管线分为两部分:几何渲染和光栅渲染。几何渲染结束后需要将顶点信息与分块信息写出到系统内存,在光栅渲染开始时向系统内存读出分块信息与顶点信息,并对分块完成光栅化处理。为了将几何渲染阶段与光栅渲染阶段关联起来,必须将几何渲染的输出保存起来。
2、当前分块渲染架构的gpu为了提高几何渲染能力,通常设计多个几何渲染单元,只有经过裁剪后有需要显示在屏幕上的图元的几何渲染单元才需要存储后续被光栅渲染处理的顶点信息与分块信息。目前分块渲染架构的gpu为了节省内存分配时间,通常在几何渲染启动时所有几何渲染单元都向内存管理模块申请内存。若几何渲染单元多、绘图指令少,极有可能只有部分几何渲染单元被分配任务,而其他几何渲染单元均处于空闲状态。在这种情况下,若所有几何渲染单元还是在渲染启动时都向内存管理模块申请内存,一方面会造成内存浪费,另一方面会影响几何渲染的效率,因为内存管理模块必须依次处理内存申请,且内存申请的处理比较耗时。
技术实现思路
1、针对现有技术的以上缺陷或改进需求,本专利技术提供了一种优化内存分配的图形处理方法及系统,能够有效解决当前分块渲染架构的gpu在几何渲染阶段内存分配中存在的问题,以减少无效的内存申请,提高几何渲染的效率。
2、为实现上述目的,按照本专利技术的一个方面,提供了一
3、在一些实施方式中,n个几何渲染单元中的每一个还用于在没有接收到绘图任务时,不执行任何操作,在整个几何渲染阶段保持空闲状态。
4、在一些实施方式中,n个几何渲染单元中的每一个向内存管理模块申请的内存空间的大小与该几何渲染单元接收到的绘图任务的负载大小相适应。
5、在一些实施方式中,n个几何渲染单元中的每一个接收到的绘图任务的负载越大,向内存管理模块申请的内存空间越大。
6、在一些实施方式中,n个几何渲染单元中的每一个在接收到绘图指令后,先向内存管理模块发出内存申请指令,再处理绘图指令。
7、在一些实施方式中,n个几何渲染单元中的每一个在接收到绘图指令后,向内存管理模块发出内存申请指令,同时处理绘图指令。
8、在一些实施方式中,n个几何渲染单元中的每一个均包括顶点着色模块、投影变换模块、剪裁模块、屏幕映射模块和顶点信息打包模块;顶点着色模块用于对输入的顶点进行坐标变换,确定每个顶点在观察坐标系中的位置;投影变换模块用于对图元进行投影变换,使其从观察坐标系变换到裁剪坐标系;剪裁模块用于将裁剪坐标系中不可见的图元剔除;屏幕映射模块用于将裁剪坐标系中可见图元的坐标值进行视窗变换,将裁剪坐标变换成屏幕坐标;顶点信息打包模块用于将可见图元的信息写入通过内存申请指令获得的内存。
9、根据本专利技术的另一方面,提供了一种图形处理方法,包括:启动几何渲染;读取绘图指令,将读取的绘图指令分配至一个或多个几何渲染单元;接收到绘图指令的几何渲染单元向内存管理模块发出内存申请指令,并处理绘图指令;内存管理模块收到来自几何渲染单元的内存申请后,为几何渲染单元分配相应的内存;几何渲染单元将处理绘图指令得到的可见图元的信息写入内存管理模块分配的内存;将可见图元与分块的关系通过系统总线写入其它内存;获取可见图元的信息以及可见图元与分块的关系,对图元像素进行着色处理。
10、在一些实施方式中,上述图形处理方法还包括:未接收到绘图指令的几何渲染单元不执行任何操作,在整个几何渲染阶段保持空闲状态。
11、在一些实施方式中,几何渲染单元在接收到绘图指令后,根据绘图任务的负载大小,向内存管理模块申请内存,使得申请的内存空间的大小与绘图任务的负载大小相适应。
12、在一些实施方式中,几何渲染单元接收到的绘图任务的负载越大,向内存管理模块申请的内存空间越大。
13、在一些实施方式中,内存管理模块优先处理先收到的内存申请。
14、在一些实施方式中,内存管理模块优先处理需要的内存空间较小的内存申请。
15、总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:在几何渲染启动时,几何渲染单元不向内存管理模块申请内存,在绘图指令分配后,只有接收到绘图任务的几何渲染单元才向内存管理模块申请内存,而没有接收到绘图任务的几何渲染单元则始终处于空闲状态,直到几何渲染阶段终止。本专利技术有效避免了在几何渲染单元多、几何渲染任务轻的场景下,不工作的几何渲染单元向内存管理模块申请内存,因此有助于节约系统内存并提高几何渲染的整体性能。
本文档来自技高网...【技术保护点】
1.一种图形处理系统,其特征在于,包括几何渲染模块和光栅渲染模块;所述几何渲染模块包括绘图指令分配模块、N个几何渲染单元以及分块组装模块,其中N≥2;
2.如权利要求1所述的图形处理系统,其特征在于,所述N个几何渲染单元中的每一个还用于在没有接收到绘图任务时,不执行任何操作,在整个几何渲染阶段保持空闲状态。
3.如权利要求1所述的图形处理系统,其特征在于,所述N个几何渲染单元中的每一个向内存管理模块申请的内存空间的大小与该几何渲染单元接收到的绘图任务的负载大小相适应。
4.如权利要求3所述的图形处理系统,其特征在于,所述N个几何渲染单元中的每一个接收到的绘图任务的负载越大,向内存管理模块申请的内存空间越大。
5.如权利要求1所述的图形处理系统,其特征在于,所述N个几何渲染单元中的每一个在接收到绘图指令后,先向内存管理模块发出内存申请指令,再处理绘图指令。
6.如权利要求1所述的图形处理系统,其特征在于,所述N个几何渲染单元中的每一个在接收到绘图指令后,向内存管理模块发出内存申请指令,同时处理绘图指令。
7.如
8.一种图形处理方法,其特征在于,包括:
9.如权利要求8所述的图形处理方法,其特征在于,还包括:未接收到绘图指令的几何渲染单元不执行任何操作,在整个几何渲染阶段保持空闲状态。
10.如权利要求8所述的图形处理方法,其特征在于,几何渲染单元在接收到绘图指令后,根据绘图任务的负载大小,向内存管理模块申请内存,使得申请的内存空间的大小与绘图任务的负载大小相适应。
11.如权利要求10所述的图形处理方法,其特征在于,几何渲染单元接收到的绘图任务的负载越大,向内存管理模块申请的内存空间越大。
12.如权利要求8所述的图形处理方法,其特征在于,内存管理模块优先处理先收到的内存申请。
13.如权利要求8所述的图形处理方法,其特征在于,内存管理模块优先处理需要的内存空间较小的内存申请。
...【技术特征摘要】
1.一种图形处理系统,其特征在于,包括几何渲染模块和光栅渲染模块;所述几何渲染模块包括绘图指令分配模块、n个几何渲染单元以及分块组装模块,其中n≥2;
2.如权利要求1所述的图形处理系统,其特征在于,所述n个几何渲染单元中的每一个还用于在没有接收到绘图任务时,不执行任何操作,在整个几何渲染阶段保持空闲状态。
3.如权利要求1所述的图形处理系统,其特征在于,所述n个几何渲染单元中的每一个向内存管理模块申请的内存空间的大小与该几何渲染单元接收到的绘图任务的负载大小相适应。
4.如权利要求3所述的图形处理系统,其特征在于,所述n个几何渲染单元中的每一个接收到的绘图任务的负载越大,向内存管理模块申请的内存空间越大。
5.如权利要求1所述的图形处理系统,其特征在于,所述n个几何渲染单元中的每一个在接收到绘图指令后,先向内存管理模块发出内存申请指令,再处理绘图指令。
6.如权利要求1所述的图形处理系统,其特征在于,所述n个几何渲染单元中的每一个在接收到绘图指令后,向内存管理模块发出内存申...
【专利技术属性】
技术研发人员:华凤,冯雨,徐亮,
申请(专利权)人:芯动微电子科技武汉有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。