一种通过多核CPU一一对应矢量数据的绘制方法.pdf

上传人:t**** 文档编号:1286699 上传时间:2018-04-12 格式:PDF 页数:6 大小:340.94KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610925071.1

申请日:

2016.10.30

公开号:

CN106504301A

公开日:

2017.03.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06T 11/20申请日:20161030|||公开

IPC分类号:

G06T11/20; G06F9/46

主分类号:

G06T11/20

申请人:

合肥微匠信息科技有限公司

发明人:

张介飞

地址:

230000 安徽省合肥市高新区科学大道118号5F创业园508室

优先权:

专利代理机构:

北京和信华成知识产权代理事务所(普通合伙) 11390

代理人:

胡剑辉

PDF下载: PDF下载
内容摘要

本发明公开了一种通过多核CPU一一对应矢量数据的绘制方法。包括如下步骤:步骤一,由程序主线程派生出线程组,每个线程组对应一个CPU核,把所需要显示绘制的矢量图层分配到每个CPU核上绘图处理;步骤二,在每个线程组上派生IO数据流水线和DC图形绘制流水线,通过数据流水线进行数据获取任务;通过图形绘制流水线进行图形绘制任务;步骤三,任务处理完成后在主线程中进行最终图像合成显示,达到在单机上进行并行绘制。本发明通过采用多核的CPU进行快速绘制海量矢量数据的方法,使得图形绘制效率得到明显提高,解决了矢量图层之间的并行绘制以及图像合成,提高系统运行的稳定性和数据处理的合理性。

权利要求书

1.一种通过多核CPU一一对应矢量数据的绘制方法,其特征在于,包括如下步骤:
步骤一,由程序主线程派生出线程组,每个线程组对应一个CPU核,把所需要显示绘制
的矢量图层分配到每个CPU核上绘图处理;
步骤二,在每个线程组上派生IO数据流水线和DC图形绘制流水线,通过数据流水线进
行数据获取任务;通过图形绘制流水线进行图形绘制任务;
步骤三,任务处理完成后在主线程中进行最终图像合成显示,达到在单机上进行并行
绘制。

说明书

一种通过多核CPU一一对应矢量数据的绘制方法

技术领域

本发明属于软件开发技术领域,特别是涉及一种通过多核CPU一一对应矢量数据
的绘制方法。

背景技术

快速地在计算机终端显示器上显示矢量数据,一直是各种地理信息系统
(Geographical Information System,GIS)软件以及制图软件需要解决的问题。目前图形
领域中的许多应用仍然是单线程,大多数的GIS软件图形绘制方法仍然采用串行处理方式,
依靠单核CPU单线程模式循环遍历绘制每个矢量数据图层及其每个要素,对于每绘制一遍
海量数据图层,需要漫长等待,绘图效率极低。这种效率低下的图形绘制方式限制了大多数
GIS软件绘图性能,因此必须改进矢量数据的绘制方式,提高图形绘制的效率。

计算机技术的革新,特别是在计算机CPU的发展方面,出现了多核处理器的体系结
构。多核化趋势正在改变并行计算的面貌,跟传统的单核CPU相比,多核CPU带来了更强的并
行处理能力、更高的计算密度和更低的时钟频率。多核平台的应用越来越广泛,逐渐渗透到
计算机科学的各个领域,并将取代单核平台成为今后处理器发展的主流方向。双核、四核、
八核甚至更多核CPU的计算机出现,串行矢量数据的绘制方式,它既不能提高矢量数据的绘
制效率,也不能有效地利用多核CPU的硬件优势。

发明内容

本发明的目的在于提供一种通过多核CPU一一对应矢量数据的绘制方法,通过采
用多核的CPU进行快速绘制海量矢量数据的方法,使得图形绘制效率得到明显提高,解决了
矢量图层之间的并行绘制以及图像合成问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种通过多核CPU一一对应矢量数据的绘制方法,包括如下步骤:

步骤一,由程序主线程派生出线程组,每个线程组对应一个CPU核,把所需要显示
绘制的矢量图层分配到每个CPU核上绘图处理;

步骤二,在每个线程组上派生IO(Input/Output)数据流水线和DC(Device
Content)图形绘制流水线,通过数据流水线进行数据获取任务;通过图形绘制流水线进行
图形绘制任务;

步骤三,任务处理完成后在主线程中进行最终图像合成显示,达到在单机上进行
并行绘制。

该矢量数据的绘制包括矢量数据存储结构、本地缓存、内存位图池和线程组模型。

程序开始执行时,只有一条主线程,程序中的串行部分都由主线程执行。主线程会
派生出线程组,线程组和主线程一起并行执行完成任务,并行区域结束时,子线程组全部合
并到主线程,主线程继续执行到程序终结。线程组之间并行工作,由IO数据流水线和DC图形
绘制流水线,分别进行矢量数据的获取和绘制。在并行区域中,同时并行工作的线程组不超
过CPU核数。

如果绘制的矢量图层数目大于CPU的核数,则在下一次循环建立线程组模型进行
作业,直到所有矢撤图层绘制完毕,按照矢量图层叠加的先后顺序进行图像合成,显示在计
算机屏幕上。

本发明具有以下有益效果:

本发明通过采用多核的CPU进行快速绘制海量矢量数据的方法,使得图形绘制效
率得到明显提高,解决了矢量图层之间的并行绘制以及图像合成,提高系统运行的稳定性
和数据处理的合理性。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的
附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领
域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。

图1为本发明的一种通过多核CPU一一对应矢量数据的绘制方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它
实施例,都属于本发明保护的范围。

请参阅图1所示,本发明为一种通过多核CPU一一对应矢量数据的绘制方法,包括
如下步骤:

步骤一,由程序主线程派生出线程组,每个线程组对应一个CPU核,把所需要显示
绘制的矢量图层分配到每个CPU核上绘图处理;

步骤二,在每个线程组上派生IO(Input/Output)数据流水线和DC(Device
Content)图形绘制流水线,通过数据流水线进行数据获取任务;通过图形绘制流水线进行
图形绘制任务;

步骤三,任务处理完成后在主线程中进行最终图像合成显示,达到在单机上进行
并行绘制。

该矢量数据的绘制包括矢量数据存储结构、本地缓存、内存位图池和线程组模型。

其中,矢量数据存储结构:海量矢量数据一般采用大型关系型数据库Oracle,
SqIServer存储,并建立与矢量图层对应的空间索引结构。空间索引介于空间操作算法和空
间对象之间,通过它的筛选,大量与特定空间操作无关的空间对象被排除,使空间操作能够
快速访问操作对象,从而提高空间操作的效率。

其中,本地缓存(Load Cache)是绘制的矢量数据图层在计算机终端内存中开辟的
临时存储区域,采用循环存储,由获取远程矢量数据的IO流水线和图形绘制DC流水线共同
维护。IO数据流水线和DC图形绘制流水线通过信号通信保持同步工作,IO数据流水线读取
数据順序放入缓存中,DC图形绘制流水线顺序从缓存中取出数据进行绘制。在绘制矢量数
据时,IO数据流水线和DC图形绘制流水线几乎不需要相互等待,避免获取一条数据绘制一
条数据的作业方式,提高获取数据和绘制数据的工作效率。

其中,内存位图池采用OpenGL,Directx3D和GDI进行渲染。

程序开始执行时,只有一条主线程,程序中的串行部分都由主线程执行。主线程会
派生出线程组,线程组和主线程一起并行执行完成任务,并行区域结束时,子线程组全部合
并到主线程,主线程继续执行到程序终结。线程组之间并行工作,由IO数据流水线和DC图形
绘制流水线,分别进行矢量数据的获取和绘制。在并行区域中,同时并行工作的线程组不超
过CPU核数。

如果绘制的矢量图层数目大于CPU的核数,则在下一次循环建立线程组模型进行
作业,直到所有矢撤图层绘制完毕,按照矢量图层叠加的先后顺序进行图像合成,显示在计
算机屏幕上。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划
分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体
名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤
是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介
质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽
叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,
可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明
的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅
受权利要求书及其全部范围和等效物的限制。

一种通过多核CPU一一对应矢量数据的绘制方法.pdf_第1页
第1页 / 共6页
一种通过多核CPU一一对应矢量数据的绘制方法.pdf_第2页
第2页 / 共6页
一种通过多核CPU一一对应矢量数据的绘制方法.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《一种通过多核CPU一一对应矢量数据的绘制方法.pdf》由会员分享,可在线阅读,更多相关《一种通过多核CPU一一对应矢量数据的绘制方法.pdf(6页珍藏版)》请在专利查询网上搜索。

本发明公开了一种通过多核CPU一一对应矢量数据的绘制方法。包括如下步骤:步骤一,由程序主线程派生出线程组,每个线程组对应一个CPU核,把所需要显示绘制的矢量图层分配到每个CPU核上绘图处理;步骤二,在每个线程组上派生IO数据流水线和DC图形绘制流水线,通过数据流水线进行数据获取任务;通过图形绘制流水线进行图形绘制任务;步骤三,任务处理完成后在主线程中进行最终图像合成显示,达到在单机上进行并行绘制。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1