CN102096897A - 基于分块渲染的gpu中块存储策略的实现 - Google Patents
基于分块渲染的gpu中块存储策略的实现 Download PDFInfo
- 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
Links
Images
Landscapes
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于分块渲染的GPU中块存储策略的实现,它包括写入块和读出块两个部分,写入块时,根据图元分块的结果将块号作为索引,将块写入对应本块的存储空间(具体地址计算得到),同时维持一个本地计数器,将写入块的计数器加1;读出块时,根据每一块计数器的值按顺序将块内存储的图元信息取出来送入绘制模块。
Description
技术领域
本发明主要涉及到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.根据当前绘图区的大小确定每一块最多包含的块数目,本实现策略中,块的存储空间设置为一固定大小的区域,同时设置块的大小为一固定值,那么绘图区域不同,该存储区域能够存储的块的数目就不同,每一块能够存储的图元数目也不同。
4.计算当前图元写入DDR存储体的地址。
6.得到存储地址之后,将图元的绘制信息写入DDR存储体中。
7.同时将对应块的计数器加1。
8.由于存储空间有限,若当前块存储的图元数目超过最大数目,前面的分块模块需要停顿,然后优先读取该块绘制,直到小于最大图元存储数目,前面的分块模块再继续执行。
9.重复1-4,直到将所有的图元信息都写入DDR存储体中,写入过程结束。
10.读取时,首先按块的顺序查询保持的计数器的值,直到找到第一个图元数目不为0的块。
12.在分块渲染算法中,一般情况下需要等到所有的块写入DDR完毕才可以进行绘制(中间出现块满的情况除外),那么在块收集的过程中,块绘制模块空闲,为了将两部分时间重合,在本策略实现中维持两个计数器,同时有两块DDR存储空间,当奇数帧在块收集的过程中,偶数帧在进行绘制,偶数帧在块收集时,奇数帧在进行绘制。
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)
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)
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)
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 |
-
2011
- 2011-03-17 CN CN2011100651653A patent/CN102096897B/zh active Active
Patent Citations (3)
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)
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. |