CN102096897A - 基于分块渲染的gpu中块存储策略的实现 - Google Patents

基于分块渲染的gpu中块存储策略的实现 Download PDF

Info

Publication number
CN102096897A
CN102096897A CN 201110065165 CN201110065165A CN102096897A CN 102096897 A CN102096897 A CN 102096897A CN 201110065165 CN201110065165 CN 201110065165 CN 201110065165 A CN201110065165 A CN 201110065165A CN 102096897 A CN102096897 A CN 102096897A
Authority
CN
China
Prior art keywords
piece
pel
tile
piecemeal
storage
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
Application number
CN 201110065165
Other languages
English (en)
Other versions
CN102096897B (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.)
Changsha Jingjia Microelectronic Co., Ltd.
Original Assignee
CHANGSHA JINGJIA MICROELECTRONICS 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 CHANGSHA JINGJIA MICROELECTRONICS Co Ltd filed Critical CHANGSHA JINGJIA MICROELECTRONICS Co Ltd
Priority to CN2011100651653A priority Critical patent/CN102096897B/zh
Publication of CN102096897A publication Critical patent/CN102096897A/zh
Application granted granted Critical
Publication of CN102096897B publication Critical patent/CN102096897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于分块渲染的GPU中块存储策略的实现,它包括写入块和读出块两个部分,写入块时,根据图元分块的结果将块号作为索引,将块写入对应本块的存储空间(具体地址计算得到),同时维持一个本地计数器,将写入块的计数器加1;读出块时,根据每一块计数器的值按顺序将块内存储的图元信息取出来送入绘制模块。

Description

基于分块渲染的GPU中块存储策略的实现
技术领域
本发明主要涉及到GPU芯片设计中的分块渲染实现领域,特指基于分块渲染的GPU中块存储策略的实现。
背景技术
计算机图形绘制技术很早以前就是信息技术研究的一个重要方向,尤其是近十几年以来,随着计算机性能的不断提升,计算机图形应用也从2D延伸到3D,相应的应用范围也更加广泛,在商业、工业、娱乐、艺术、教育、医疗、军事等各个方面都发挥着重要的作用,图形芯片的实现架构也在不断的创新和发展。
早期的GPU设计领域,一般都采取固定流水线(Fixed Pipeline)的设计方式。其固定流程包括:几何变换、光照、裁剪、光栅化、Z测试、纹理贴图等,在设计中除了考虑要提供足够的整数和浮点运算之外,另一个重要的考虑因素就是存储体的带宽,根据研究表明,在渲染阶段,影响GPU运行速度的主要因素就是存储体的带宽,因为在这一过程中,需要频繁的读取纹理、深度、帧存等外存数据,往往一个像素需要读取多次外存才能够最终写入帧存,为了减小存储体带宽的影响,在这种架构中往往采取加大片上存储(Cache)的方法来减少外存的访问量,但是这种方式增大了芯片的功耗,对性能的提高程度也有限。
实际上在固定流水线架构中,造成存储带宽不够的原因是大量相互遮盖的图元在绘制,最终显示的像素需要多次重复渲染,为了解决这一问题,将绘图流程进行改进,比较常见的就是延迟渲染(Deferred Rendering),延迟渲染是利用额外的缓冲区来缓存绘图过程中间的信息,在确定像素最终颜色之前,尽量延后像素实际写入输出图像缓冲区的时间,来避免处理多余不必要的像素以及缓冲区读写,因为最终能够显示在屏幕上的三角形占原始输入图元的20%~83%,所以这种延迟渲染的方式可以在一定程度上减少运算量和访存次数,提高性能。
另一种GPU的实现架构为分块渲染技术。这项技术是将绘图区划分为若干个相同大小的块,然后将所有的待绘制图元收集完毕写入外存后,再从外存将每一块的图元读出,以块为单位进行渲染。这种技术可以大大减少访问外存的次数,大大提高GPU的绘制效率,在分块渲染技术中,块的存储是一个重要的问题,以前的做法是将图元分块之后顺序存放在外存,片上维持一个链接表,读取的时候按照链接表将当前块的图元读出进行绘制。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术难点,本发明提供了一种基于分块渲染的GPU中块的高效存储策略,该发明可以减小片上存储的信息,同时可以将块的收集和绘制时间重合,加快GPU的绘制效率。
与现有的技术相比,本发明的优点就在于:1、逻辑简单:本发明提出的块存储策略在实现结构上将写入和读出分开,两者之间通过一个计数器建立关系;2、片上存储资源少:本发明提出的块存储策略只需要在片上维持两个RAM(作为奇数帧和偶数帧的计数器),而其余的信息全部写入外存DDR中,大大减少片上存储资源;3、性能优良:本发明提出的奇偶两帧缓存的技术,可以将图元绘制时间和图元收集时间重合,绘制一帧的时间平均可以节约30%~50%。
附图说明
图1是本发明实现的块存储策略结构图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明的基于分块渲染的GPU中块存储策略的实现,它包括每一块最多包含的块数目确定,本实现中,块的存储空间设置为一固定大小的区域,同时设置块的大小为一固定值,那么绘图区域大小不同,该存储区域能够存储的块的数目就不同,每一块能够存储的图元数目就不同。根据图元分块送入的块号,从本地RAM(内部维持每个块的计数器)中取出当前块中已经存储的块的数目,若为第一次处理该块,那么块的数目为0。根据当前绘图区块的数目、每一块占用的存储空间、当前待写入的块号、当前块已写入的图元数目、每一块占用的存储空间计算当前图元写入DDR存储体的地址。得到存储地址之后,将图元的绘制信息写入DDR存储体中。同时将对应块的计数器加1。由于存储空间有限,若当前块存储的块的数目超过最大数目,前面的分块算法需要停顿,然后优先读取该块绘制,直到小于最大存储数目,前面分块算法再继续执行。当所有的块都写入完毕之后,开始读取块,首先按块的顺序轮询保持的计数器的值,直到找到第一个图元数目不为0的块。将该计数器的值读出,根据当前块号、每一块占用的存储空间、每一个图元所占用的存储空间计算读取块的地址。所有图元读取完毕,当前帧绘制完毕。为了提高绘图效率,本实现策略将维持两个计数器,奇数帧和偶数帧分别用一个计数器,这样可以再奇数帧收集图元时,偶数帧进行绘制,反之亦然。

Claims (12)

1.基于分块渲染的GPU中块存储策略的实现,其输入为图元(包括线段和三角形)分块后得到的块号及块内图元的绘制信息。
2.根据当前绘图区的大小确定每一块最多包含的块数目,本实现策略中,块的存储空间设置为一固定大小的区域,同时设置块的大小为一固定值,那么绘图区域不同,该存储区域能够存储的块的数目就不同,每一块能够存储的图元数目也不同。
3.假设用来存储块的空间为                                               (单位:字节),本实现策略中采用乒乓操作,需要存储两帧的图元分块信息,所以每帧占用的空间为,当前绘图区的大小为
Figure 2011100651653100001DEST_PATH_IMAGE006
(单位:像素),分块的大小为
Figure 2011100651653100001DEST_PATH_IMAGE008
(像素),每个图元占用的存储空间为
Figure 2011100651653100001DEST_PATH_IMAGE010
(单位:字节),那么,
总共的块数目为:
Figure 2011100651653100001DEST_PATH_IMAGE012
每一块的存储空间为:
Figure 2011100651653100001DEST_PATH_IMAGE014
每一块最多包含的图元数目:
根据图元分块送入的块号,从本地RAM(内部维持每个块的计数器)中取出当前块中已经存储的图元的数目,若为第一次处理该块,那么图元的数目为0。
4.计算当前图元写入DDR存储体的地址。
5.假设当前绘图区块的数目为N,每一块占用的存储空间为
Figure 2011100651653100001DEST_PATH_IMAGE018
,当前待写入的块号为
Figure 2011100651653100001DEST_PATH_IMAGE020
,从2中读出的块的数目为,每一个图元所占用的存储空间为
Figure 368282DEST_PATH_IMAGE010
(单位:字节),那么当前待写入图元的存储地址为:
Figure 2011100651653100001DEST_PATH_IMAGE024
6.得到存储地址之后,将图元的绘制信息写入DDR存储体中。
7.同时将对应块的计数器加1。
8.由于存储空间有限,若当前块存储的图元数目超过最大数目,前面的分块模块需要停顿,然后优先读取该块绘制,直到小于最大图元存储数目,前面的分块模块再继续执行。
9.重复1-4,直到将所有的图元信息都写入DDR存储体中,写入过程结束。
10.读取时,首先按块的顺序查询保持的计数器的值,直到找到第一个图元数目不为0的块。
11.将该计数器的值读出(假设为
Figure 2011100651653100001DEST_PATH_IMAGE026
),计算读取块的地址,假设当前块号为
Figure 2011100651653100001DEST_PATH_IMAGE028
,每一块占用的存储空间为
Figure 973838DEST_PATH_IMAGE018
,每一个图元所占用的存储空间为C(单位:字节),那么第一次读取的图元地址为:
Figure 2011100651653100001DEST_PATH_IMAGE030
,下一次读取的地址为:,直到
Figure 2011100651653100001DEST_PATH_IMAGE034
12.在分块渲染算法中,一般情况下需要等到所有的块写入DDR完毕才可以进行绘制(中间出现块满的情况除外),那么在块收集的过程中,块绘制模块空闲,为了将两部分时间重合,在本策略实现中维持两个计数器,同时有两块DDR存储空间,当奇数帧在块收集的过程中,偶数帧在进行绘制,偶数帧在块收集时,奇数帧在进行绘制。
CN2011100651653A 2011-03-17 2011-03-17 基于分块渲染的gpu中块存储策略的实现 Active CN102096897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100651653A CN102096897B (zh) 2011-03-17 2011-03-17 基于分块渲染的gpu中块存储策略的实现

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100651653A CN102096897B (zh) 2011-03-17 2011-03-17 基于分块渲染的gpu中块存储策略的实现

Publications (2)

Publication Number Publication Date
CN102096897A true CN102096897A (zh) 2011-06-15
CN102096897B CN102096897B (zh) 2012-05-02

Family

ID=44129980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100651653A Active CN102096897B (zh) 2011-03-17 2011-03-17 基于分块渲染的gpu中块存储策略的实现

Country Status (1)

Country Link
CN (1) CN102096897B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819819A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 Gpu中一种快速读取顶点的实现方法
CN102819820A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中多管线渲染的实现方法
GB2496716A (en) * 2011-09-22 2013-05-22 Advanced Risc Mach Ltd Counting occlusion queries in graphics processing
CN103955407A (zh) * 2014-04-24 2014-07-30 深圳中微电科技有限公司 在处理器中减小纹理延迟的方法及装置
CN104715503A (zh) * 2013-12-13 2015-06-17 想象技术有限公司 图形处理***中的基元处理
CN105719335A (zh) * 2016-02-23 2016-06-29 腾讯科技(深圳)有限公司 一种地图图像渲染方法、装置以及车载终端
CN109886866A (zh) * 2019-01-15 2019-06-14 珠海亿智电子科技有限公司 一种自适应仿射变换处理方法及装置
CN111913657A (zh) * 2020-07-10 2020-11-10 长沙景嘉微电子股份有限公司 块数据读写方法、装置、***及存储介质
US11069024B2 (en) 2013-12-13 2021-07-20 Imagination Technologies Limited Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers
CN116385253A (zh) * 2023-01-06 2023-07-04 格兰菲智能科技有限公司 图元绘制方法、装置、计算机设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760968B2 (en) 2014-05-09 2017-09-12 Samsung Electronics Co., Ltd. Reduction of graphical processing through coverage testing
US9842428B2 (en) 2014-06-27 2017-12-12 Samsung Electronics Co., Ltd. Dynamically optimized deferred rendering pipeline

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1950878A (zh) * 2004-04-27 2007-04-18 辉达公司 对***存储器的gpu渲染
CN101604453A (zh) * 2009-07-08 2009-12-16 西安电子科技大学 基于分块策略的大规模数据场体绘制方法
US7777750B1 (en) * 2006-07-28 2010-08-17 Nvidia Corporation Texture arrays in a graphics library

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1950878A (zh) * 2004-04-27 2007-04-18 辉达公司 对***存储器的gpu渲染
US7777750B1 (en) * 2006-07-28 2010-08-17 Nvidia Corporation Texture arrays in a graphics library
CN101604453A (zh) * 2009-07-08 2009-12-16 西安电子科技大学 基于分块策略的大规模数据场体绘制方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2496716A (en) * 2011-09-22 2013-05-22 Advanced Risc Mach Ltd Counting occlusion queries in graphics processing
US8922572B2 (en) 2011-09-22 2014-12-30 Arm Limited Occlusion queries in graphics processing
GB2496716B (en) * 2011-09-22 2015-12-16 Advanced Risc Mach Ltd Occlusion queries in graphics processing
CN102819819B (zh) * 2012-08-14 2015-09-16 长沙景嘉微电子股份有限公司 Gpu中一种快速读取顶点的实现方法
CN102819820A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中多管线渲染的实现方法
CN102819820B (zh) * 2012-08-14 2014-03-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中多管线渲染的实现方法
CN102819819A (zh) * 2012-08-14 2012-12-12 长沙景嘉微电子股份有限公司 Gpu中一种快速读取顶点的实现方法
US11069024B2 (en) 2013-12-13 2021-07-20 Imagination Technologies Limited Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers
US10867433B2 (en) 2013-12-13 2020-12-15 Imagination Technologies Limited Primitive processing in a graphics processing system
US11748941B1 (en) 2013-12-13 2023-09-05 Imagination Technologies Limited Primitive processing in a graphics processing system
US11538215B2 (en) 2013-12-13 2022-12-27 Imagination Technologies Limited Primitive processing in a graphics processing system
CN104715503B (zh) * 2013-12-13 2019-05-21 想象技术有限公司 图形处理***中的基元处理
US11164365B2 (en) 2013-12-13 2021-11-02 Imagination Technologies Limited Primitive processing in a graphics processing system
CN104715503A (zh) * 2013-12-13 2015-06-17 想象技术有限公司 图形处理***中的基元处理
CN103955407A (zh) * 2014-04-24 2014-07-30 深圳中微电科技有限公司 在处理器中减小纹理延迟的方法及装置
CN103955407B (zh) * 2014-04-24 2018-09-25 深圳中微电科技有限公司 在处理器中减小纹理延迟的方法及装置
CN105719335A (zh) * 2016-02-23 2016-06-29 腾讯科技(深圳)有限公司 一种地图图像渲染方法、装置以及车载终端
CN109886866A (zh) * 2019-01-15 2019-06-14 珠海亿智电子科技有限公司 一种自适应仿射变换处理方法及装置
CN109886866B (zh) * 2019-01-15 2023-06-13 珠海亿智电子科技有限公司 一种自适应仿射变换处理方法及装置
CN111913657A (zh) * 2020-07-10 2020-11-10 长沙景嘉微电子股份有限公司 块数据读写方法、装置、***及存储介质
CN111913657B (zh) * 2020-07-10 2023-06-09 长沙景嘉微电子股份有限公司 块数据读写方法、装置、***及存储介质
CN116385253A (zh) * 2023-01-06 2023-07-04 格兰菲智能科技有限公司 图元绘制方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN102096897B (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
CN102096897B (zh) 基于分块渲染的gpu中块存储策略的实现
CN102819820B (zh) 基于分块渲染的gpu中多管线渲染的实现方法
US7042462B2 (en) Pixel cache, 3D graphics accelerator using the same, and method therefor
CN102439632B (zh) 光线跟踪内核及具有该光线跟踪内核的光线跟踪芯片
CN103718244B (zh) 用于媒体处理加速器的采集方法和装置
CN101882302B (zh) 一种基于多核的运动模糊图像复原***
US7724263B2 (en) System and method for a universal data write unit in a 3-D graphics pipeline including generic cache memories
US10147222B2 (en) Multi-pass rendering in a screen space pipeline
US7804499B1 (en) Variable performance rasterization with constant effort
EP3289560B1 (en) Adaptive memory address scanning based on surface format for graphics processing
CN102222316A (zh) 一种基于dma的双缓冲乒乓并行结构图像处理优化方法
CN102915563A (zh) 三维网格模型透明绘制的方法及其***
US8736627B2 (en) Systems and methods for providing a shared buffer in a multiple FIFO environment
CN114092338B (zh) 图像缩放快速计算方法
CN105550979A (zh) 一种高数据通量纹理Cache层次结构
WO2020249026A1 (zh) 一种基于双Buffer架构下的纹理贴图硬件加速器
CN202094998U (zh) 移动终端视频信号实时动态处理装置
CN101354793A (zh) 基于图形处理器的实时三维图像平滑处理方法
US7490208B1 (en) Architecture for compact multi-ported register file
US6900812B1 (en) Logic enhanced memory and method therefore
CN102339386A (zh) 一种嵌入式指纹特征提取加速方法
CN102819819A (zh) Gpu中一种快速读取顶点的实现方法
US11748933B2 (en) Method for performing shader occupancy for small primitives
CN103279430B (zh) 图形处理单元中的缓存索引映射方法及装置
CN206322151U (zh) 一种gpu阵列计算***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center

Patentee after: Changsha Jingjia Microelectronic Co., Ltd.

Address before: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center

Patentee before: Changsha Jingjia Microelectronics Co., Ltd.