CN110930490A - 一种大规模、高动态文字注记快速可视化方法 - Google Patents
一种大规模、高动态文字注记快速可视化方法 Download PDFInfo
- Publication number
- CN110930490A CN110930490A CN201911052612.4A CN201911052612A CN110930490A CN 110930490 A CN110930490 A CN 110930490A CN 201911052612 A CN201911052612 A CN 201911052612A CN 110930490 A CN110930490 A CN 110930490A
- Authority
- CN
- China
- Prior art keywords
- character
- texture
- big
- dynamic
- annotation
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Remote Sensing (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种大规模、高动态文字注记快速可视化方法,包括:基于动态字符形成一个字符大纹理并存储该字符大纹理;获取需要绘制的注记;查找该字符大纹理中是否存在该注记的纹理坐标,如果存在,则直接抄写其纹理坐标到该动态字符注册表,如果不存在,则将该注记内容按照单个字符进行纹理构建,并将构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在该动态字符注册表中记录该字符在该字符大纹理中的纹理坐标。该可视化方法有效解决了三维GIS系统中大规模、高动态注记的可视化效率低下的问题,大幅提升了整体绘制性能。本发明还公开了应用上述可视化方法的系统。
Description
技术领域
本发明涉及一种数据的可视化技术,尤其涉及一种三维GIS(地理信息系统)中的大规模、高动态文字注记的快速可视化方法和系统。
背景技术
GIS是一种基于计算机的工具,它通过获取地理数据,描述地球表面空间(包括大气层和较浅的地表下空间)要素的位置和属性,包括与空间要素几何特性有关的空间数据和提供空间要素信息的属性数据。用计算机来处理和分析,以可视化的形式进行显示。GIS与其他信息系统最大的区别是对空间信息的存储管理分析,从而使其在广泛的公众和个人企事业单位中解释事件、预测结果、规划战略等中具有实用价值。
地理数据通过地图符号中的视觉变量展示,通常包括形状、大小、纹理、图案、色相、色值和彩度等。计算机图形学中,纹理是指一张表示物体表面细节的位图。越是真实的场景就要求纹理的数量越多,质量越高,计算机系统需要处理的数据也越多。
三维GIS系统中一般的文字注记可视化技术,是采用对每个注记的文字内容单独构建纹理的思路。但是在面临每帧上千个大规模注记场景、并且在地表漫游每帧的注记都可能不一样的情况下,每帧绘制之前都需要构建上千个纹理、渲染时要切换上千次纹理状态,渲染后可能要释放上千次纹理内存,导致三维渲染帧速大幅下降,无法为用户提供平滑的漫游交互功能。海量数据的处理,对系统带宽和显存也带来很大负担。
在现有技术中,一般采用两种方式减小纹理显示所需的内存。一种通过形成压缩格式的纹理来降低纹理内存的需求。如中国专利申请CN200910105096公开了一种减少动态汉字生成所需纹理内存的方法,其中将待显示汉字点阵生成的图片创建为压缩格式的纹理,并保存压缩格式的纹理,从而减少动态汉字生成的内存占用量,提高显示速度。另一种是通过将原始数据分块进行处理来加快可视化速度。如中国专利申请CN200710065336公开了一种基于三维纹理硬件加速的海量数据体绘制方法,其中对海量数据进行合理分块,使每块数据能够被装入内存单独处理,用三维纹理的方法对每个子数据块的数据分别绘制,加速了绘制过程,实现了海量数据的快速可视化。
现有技术虽然一定程度上降低了对内存的要求,加速了可视化。但现有技术的方法仍然需要对每一帧的所有数据进行处理,对于三维GIS系统的海量数据来说,数据处理负担仍然较重,数据的可视化速度仍然不够快。
发明内容
为了解决上述技术问题,本发明巧妙地利用地理数据的特点,提供一种基于动态字符大纹理的思路,持续维持一个大纹理。动态处理有差异的纹理并进行渲染,从而减小数据处理负担,有效解决三维GIS系统中大规模、高动态注记的可视化效率低下的问题,大幅提升整体绘制性能。
本发明的一个目的是提供一种大规模、高动态文字注记快速可视化方法,包括:基于动态字符形成一个字符大纹理并存储该字符大纹理;获取需要绘制的注记;查找该字符大纹理中是否存在该注记的纹理坐标,如果存在,则直接抄写其纹理坐标到该动态字符注册表,如果不存在,则将该注记内容按照单个字符进行纹理构建,并将构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在该动态字符注册表中记录该字符在该字符大纹理中的纹理坐标。
该方法进一步包括采用注记集中绘制机制,应用该字符大纹理,然后对每个注记的几何体进行渲染。
该方法进一步包括定期淘汰该字符大纹理中使用率低于设定值的字符纹理。
该方法进一步包括对该字符大纹理中的字符纹理进行智能淘汰,根据该字符大纹理可用的存储空间,来制定其字符纹理淘汰阈值。
该方法进一步包括当按照单个字符构建的该纹理需要追加到该字符大纹理时,查看该字符大纹理所占内存是否超过阈值,如果超过阈值,则淘汰该字符大纹理中使用率低的字符纹理。
该方法进一步包括每次淘汰该字符大纹理中预定比例的字符纹理。
该方法进一步包括该预定比例为10%。
本发明还提供一种大规模、高动态文字注记快速可视化系统,包括:字符大纹理生成模块、注记查找模块、动态字符注册表、单字符纹理构建模块,其中,该字符大纹理生成模块,基于动态字符形成一个字符大纹理并存储该字符大纹理;该注记查找模块,获取需要绘制的注记,查找该字符大纹理中是否存在该注记的纹理坐标,如果存在,则直接抄写其纹理坐标到该动态字符注册表,如果不存在,则通过该单字符纹理构建模块将该注记内容按照单个字符进行纹理构建,并将构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在该动态字符注册表中记录该字符在该字符大纹理中的纹理坐标。
该系统进一步包括渲染模块,采用注记集中绘制机制,应用该字符大纹理,然后对每个注记的几何体进行渲染。
该系统进一步包括字符纹理使用日志模块,记录字符纹理的使用率,定期淘汰字符大纹理中使用率低于设定值的字符纹理。
该系统进一步包括对该字符大纹理中的字符纹理进行智能淘汰,根据该字符大纹理可用的存储空间,来制定其字符纹理淘汰阈值。
该系统进一步包括当按照单个字符构建的该纹理需要追加到该字符大纹理时,查看该字符大纹理所占内存是否超过阈值,如果超过阈值,则淘汰该字符大纹理中使用率低于设定值的字符纹理。
该系统进一步包括每次淘汰该字符大纹理中预定比例的字符纹理。
该系统进一步包括该预定比例为10%。
通过本发明公开的方法和系统,不需要在每一帧的显示过程中逐个处理每一个字符的纹理,最大限度的复用了每个字符的纹理,避免了字符纹理重复构建以及纹理冗余问题,渲染时切换纹理状态和渲染后释放纹理内存的频率也大大降低,因而大大减小了数据处理量,加快动态显示速度。同时,通过智能字符纹理的淘汰机制,对字符大纹理中使用率低的字符纹理进行批量淘汰,避免了字符大纹理中不停地有新的字符纹理加入使内存及显存一直增长和内存频繁重分配的问题,保证了系统的健壮性。
附图说明
图1示出地图符号的视觉变量;
图2示出一种大规模、高动态文字注记可视化步骤;
图3示出地图纹理渲染过程;
图4示出另一种大规模、高动态文字注记可视化步骤。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
地图上通常采用文字或标注(注记)来标识地理要素,进行定位、标识地理对象的质量和数量特征。如图1所示,在三维GIS中,采用形状、大小、纹理等等视觉变量标识地图,实现可视化。
如图2所示,在可视化过程中,字符大纹理形成模块根据一帧图案要显示的全部注记场景,形成一个字符大纹理并持续维持该字符大纹理。获取需要绘制的注记,通过注记查找模块,在字符大纹理中查找是否有该注记的纹理。创建动态字符注册表,如果字符大纹理中查找到有该需要绘制的注记,则直接在动态字符注册表中抄写其纹理坐标;如果字符大纹理中没有查找到该需要绘制的注记,则通过单字符纹理构建模块将该需要绘制的注记内容按照单个字符进行纹理构建,并将新构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在动态字符注册表中记录该字符在字符大纹理中的纹理坐标。
如图3所示,渲染过程中采用两个显示缓存区,当前缓存区和后备缓存区。在渲染图形时,先在当前缓存区应用新的字符大纹理,在后备缓存区采用注记集中绘制机制,进行对每个注记的几何体进行渲染绘图。渲染完毕后,三维窗口显示后备缓存区缓存的图像。交换两个缓存区,使原来的后备缓存区变成当前缓存区,从而实现窗口刷新。
每一帧图像只需要进行一次集中渲染,避免了现有技术中每帧绘制之前都需要构建上千个纹理、渲染时要切换上千次纹理状态、渲染后可能要释放上千次纹理内存的技术问题。
以新的字符大纹理为基础,重复获取注记、在大纹理中查找注记、构建新的字符大纹理、进行渲染绘图的过程,以显示下一帧地图图案。
在实际可视化过程中,最初的字符大纹理也可以由用户自主设置或输入。
为避免长期使用后,字符大纹理占用较大内存,可以根据字符纹理使用日志,定期淘汰使用率较低的字符纹理。
该方法采用的可视化系统包括字符大纹理生成模块、注记查找模块、动态字符注册表、单字符纹理构建模块,其中,该字符大纹理生成模块,基于动态字符形成一个字符大纹理并存储该字符大纹理;该注记查找模块,获取需要绘制的注记,查找该字符大纹理中是否存在该注记的纹理坐标,如果存在,则直接抄写其纹理坐标到该动态字符注册表,如果不存在,则通过该单字符纹理构建模块将该注记内容按照单个字符进行纹理构建,并将构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在该动态字符注册表中记录该字符在该字符大纹理中的纹理坐标。
该系统还包括渲染模块,采用注记集中绘制机制,应用该字符大纹理,然后对每个注记的几何体进行渲染。
为了避免长期使用后,字符大纹理占用较大内存,该系统还包括字符纹理使用日志模块,记录字符纹理的使用率,定期淘汰字符大纹理中使用率低于设定值的字符纹理。
实施例2
如图4所示,实施例2采用了与实施例1相同的字符大纹理构建方法和系统,不同之处仅在于字符纹理的淘汰采用智能淘汰机制。
系统根据计算机显卡驱动等存储器件的存储空间,计算所能支持的最大纹理尺寸,制定字符纹理淘汰的阈值。在系统运行过程中,当新的字符纹理需要追加到字符大纹理时,查看字符大纹理所占内存是否超过阈值,如果超过阈值,则把长时间不用的字符纹理淘汰掉。为了避免内存频繁启动字符淘汰过程对内存进行重新分配,系统采用批量淘汰策略,按照字符使用频率由低到高,每次淘汰10%的字符。
尽管字符大纹理技术最大限度的复用了每个字符的纹理,避免了字符纹理重复构建以及纹理冗余问题,但它不能避免极端情况下(不停地有新的字符纹理加入),所占存储空间一直增长的问题。因此通过增加字符纹理智能淘汰机制,控制字符大纹理所占存储空间,保证了产品化GIS系统的健壮性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (14)
1.一种大规模、高动态文字注记快速可视化方法,包括:基于动态字符形成一个字符大纹理并存储该字符大纹理;获取需要绘制的注记;查找该字符大纹理中是否存在该注记的纹理坐标,如果存在,则直接抄写其纹理坐标到该动态字符注册表,如果不存在,则将该注记内容按照单个字符进行纹理构建,并将构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在该动态字符注册表中记录该字符在该字符大纹理中的纹理坐标。
2.根据权利要求1所述的可视化方法,其特征在于,采用注记集中绘制机制,应用该新的字符大纹理,然后对每个注记的几何体进行渲染。
3.根据权利要求2所述的可视化方法,其特征在于,定期淘汰该字符大纹理中使用率低于设定值的字符纹理。
4.根据权利要求2所述的可视化方法,其特征在于,对该字符大纹理中的字符纹理进行智能淘汰,根据该字符大纹理可用的存储空间,来制定其字符纹理淘汰阈值。
5.根据权利要求4所述的可视化方法,其特征在于,该智能淘汰包括当按照单个字符构建的该纹理需要追加到该字符大纹理时,查看该字符大纹理所占内存是否超过该阈值,如果超过该阈值,则淘汰该字符大纹理中使用率低的字符纹理。
6.根据权利要求5所述的可视化方法,其特征在于,该淘汰按照每次淘汰的字符纹理为预定比例来进行。
7.根据权利要求6所述的可视化方法,其特征在于,该预定比例为10%。
8.一种大规模、高动态文字注记快速可视化系统,包括:字符大纹理生成模块、注记查找模块、动态字符注册表、单字符纹理构建模块,其中,该字符大纹理生成模块,基于动态字符形成一个字符大纹理并存储该字符大纹理;该注记查找模块,获取需要绘制的注记,查找该字符大纹理中是否存在该注记的纹理坐标,如果存在,则直接抄写其纹理坐标到该动态字符注册表,如果不存在,则通过该单字符纹理构建模块将该注记内容按照单个字符进行纹理构建,并将构建的纹理追补到该字符大纹理的尾部,形成新的字符大纹理,同时在该动态字符注册表中记录该字符在该字符大纹理中的纹理坐标。
9.根据权利要求8所述的可视化系统,其特征在于,还包括渲染模块,采用注记集中绘制机制,应用该字符大纹理,然后对每个注记的几何体进行渲染。
10.根据权利要求9所述的可视化系统,其特征在于,还包括字符纹理使用日志模块,记录字符纹理的使用率,定期淘汰字符大纹理中使用率低于设定值的字符纹理。
11.根据权利要求9所述的可视化系统,其特征在于,对该字符大纹理中的字符纹理进行智能淘汰,根据该字符大纹理可用的存储空间,来制定其字符纹理淘汰阈值。
12.根据权利要求11所述的可视化系统,其特征在于,该智能淘汰包括当按照单个字符构建的该纹理需要追加到该字符大纹理时,查看该字符大纹理所占内存是否超过该阈值,如果超过该阈值,则淘汰该字符大纹理中使用率低的字符纹理。
13.根据权利要求12所述的可视化系统,其特征在于,该淘汰按照每次淘汰的字符纹理为预定比例来进行。
14.根据权利要求13所述的可视化系统,其特征在于,该预定比例为10%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911052612.4A CN110930490A (zh) | 2019-10-31 | 2019-10-31 | 一种大规模、高动态文字注记快速可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911052612.4A CN110930490A (zh) | 2019-10-31 | 2019-10-31 | 一种大规模、高动态文字注记快速可视化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110930490A true CN110930490A (zh) | 2020-03-27 |
Family
ID=69849987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911052612.4A Pending CN110930490A (zh) | 2019-10-31 | 2019-10-31 | 一种大规模、高动态文字注记快速可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110930490A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483035A (zh) * | 2009-01-12 | 2009-07-15 | 腾讯科技(深圳)有限公司 | 在图形界面上显示文字的方法和系统 |
US20130002678A1 (en) * | 2011-06-30 | 2013-01-03 | Google Inc. | Rendering a text image following a line |
CN103186919A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种文字渲染方法及装置 |
CN105701107A (zh) * | 2014-11-27 | 2016-06-22 | 高德信息技术有限公司 | 一种电子地图的文字渲染方法及装置 |
CN107221020A (zh) * | 2017-05-27 | 2017-09-29 | 北京奇艺世纪科技有限公司 | 一种文字纹理绘制方法及装置 |
CN109215103A (zh) * | 2018-08-30 | 2019-01-15 | 西安恒歌数码科技有限责任公司 | 一种基于osg的大批量文字渲染方法 |
-
2019
- 2019-10-31 CN CN201911052612.4A patent/CN110930490A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483035A (zh) * | 2009-01-12 | 2009-07-15 | 腾讯科技(深圳)有限公司 | 在图形界面上显示文字的方法和系统 |
US20130002678A1 (en) * | 2011-06-30 | 2013-01-03 | Google Inc. | Rendering a text image following a line |
CN103186919A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种文字渲染方法及装置 |
CN105701107A (zh) * | 2014-11-27 | 2016-06-22 | 高德信息技术有限公司 | 一种电子地图的文字渲染方法及装置 |
CN107221020A (zh) * | 2017-05-27 | 2017-09-29 | 北京奇艺世纪科技有限公司 | 一种文字纹理绘制方法及装置 |
CN109215103A (zh) * | 2018-08-30 | 2019-01-15 | 西安恒歌数码科技有限责任公司 | 一种基于osg的大批量文字渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8325177B2 (en) | Leveraging graphics processors to optimize rendering 2-D objects | |
CN105338358B (zh) | 对图像进行解码的方法及装置 | |
US9013479B2 (en) | Apparatus and method for tile-based rendering | |
CN101681502A (zh) | 用于三维图形电路的像素高速媛冲存储器 | |
CN109785417B (zh) | 一种实现OpenGL累积操作的方法及装置 | |
US20060176310A1 (en) | Method and apparatus for de-indexing geometry | |
CN111209422A (zh) | 图像显示方法、装置、电子设备及存储介质 | |
CN105957149A (zh) | 一种适用于高效渲染的城市三维模型数据预处理方法 | |
US20180357166A1 (en) | Method and apparatus for system resource management | |
US20230298252A1 (en) | Image rendering method and related apparatus | |
US20050068319A1 (en) | 3D graphics rendering engine for processing an invisible fragment and a method therefor | |
CN114968152B (zh) | 减少virtio-gpu额外性能损耗的方法 | |
CN114461406A (zh) | DMA OpenGL优化方法 | |
US20150242988A1 (en) | Methods of eliminating redundant rendering of frames | |
CN112528596A (zh) | 文字特效的渲染方法、装置、电子设备及存储介质 | |
CN102799431B (zh) | 图元预处理和处理方法、图形处理方法及其处理器、装置 | |
JP3687945B2 (ja) | 画像処理装置およびその方法 | |
CN110930490A (zh) | 一种大规模、高动态文字注记快速可视化方法 | |
US9715715B2 (en) | Efficient cache preloading | |
CN118043842A (zh) | 一种渲染格式选择方法及其相关设备 | |
CN114049424A (zh) | 一种基于三维渲染引擎的文字高效绘制显示方法 | |
CN116958375A (zh) | 图形处理器、系统、装置、设备及方法 | |
EP3321793A1 (en) | Method and system for real-time slide displaying of scanned image | |
CN111858792A (zh) | 栅格数据前端可视化综合分析方法 | |
KR101440106B1 (ko) | 정점 데이터 처리 장치 및 방법 |
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 |