一种支持大数据量快速刷新的图表绘制方法及系统的制作方法

文档序号:6622914阅读:346来源:国知局
一种支持大数据量快速刷新的图表绘制方法及系统的制作方法
【专利摘要】本发明提供了一种支持大数据量快速刷新的图表绘制方法及系统,该方法包括:a:容器单元更新坐标数据,调整容器单元布局,重绘画布;b:判断重绘画布需要为画布设置缓冲,则重绘画布时先把图表元素内容绘制到与设备相关的缓冲上,然后再把缓冲内容绘制到画布;c:画布单元调用图表元素单元进行图表元素绘制或调用旧缓冲图像内容绘制到画布。本发明提供的支持大数据量快速刷新的图表绘制系统及方法,通过实现图表元素缓存机制,利用多cpu分离出数据采集与数据绘制工作,以达到大数据量快速刷新目的,从而避免出现刷新慢,图像不连贯等问题。
【专利说明】[0001] 一种支持大数据量快速刷新的图表绘制方法及系统

【技术领域】
[0002] 本发明涉及图表绘制【技术领域】,尤其涉及一种支持大数据量快速刷新的图表绘制 方法及系统。
[0003] _

【背景技术】
[0004] 现有的图表绘制系统一般包括容器,坐标,画布,图表元素,杂项。以qwt曲线图绘 制为例,其曲线图实现方式如下: 1 :容器包含坐标,画布,以及其他一些杂项,图表元素以层的方式显示在画布中; 2 :图表刷新时,容器首先更新坐标数据,然后调整自身布局,重绘画布; 3 :画布重绘时,可以选择为画布使用缓冲或者直接绘制。设置缓冲时,先把图表元素绘 制到与设备相关的缓冲上,然后再把缓冲内容绘制到画布,后续绘制可以根据绘制条件变 化选择画布重新绘制或者直接将缓冲区内容绘制到画布。图表元素不存在缓冲区,每次重 新绘制图表元素都需要重新绘制; 4 :画布使用缓冲与绘图设备关联,而且不是线程安全的,重新绘制图表元素必须在主 线程完成。
[0005] 从qwt曲线图绘制逻辑可以看到,在示波器应用中,假设示波器存储深度为10K, 时基为10us,采集满一屏数据的时间为lOOus,数据点个数为10240。如果没有特殊处理,必 然会导致数据刷新不及时,屏幕显示图表不能比较真实反映波形数据变化,从而会出现刷 新慢,图像不连贯等问题。
[0006]


【发明内容】

[0007] 本发明的目的在于提供一种支持大数据量快速刷新的图表绘制方法及系统,通过 实现图表元素缓存机制,利用多cpu分离出数据采集与数据绘制工作,以达到大数据量快 速刷新目的。
[0008] 本发明的目的是通过以下技术方案实现的。
[0009] -种支持大数据量快速刷新的图表绘制方法,包括: a :容器单元更新坐标数据,调整容器单元布局,重绘画布; b :判断重绘画布需要为画布设置缓冲,则重绘画布时先把图表元素内容绘制到与设备 相关的缓冲上,然后再把缓冲内容绘制到画布; c :画布单元调用图表元素单元进行图表元素绘制或调用旧缓冲图像内容绘制到画布。
[0010] 进一步优选地,所述步骤b中判断重绘画布不设置缓冲,则直接绘制画布。
[0011] 进一步优选地,所述步骤b重绘画布时根据绘制条件建立新缓冲,循环查询容器 中图表元素,先把图表元素内容绘制到与设备相关的缓冲上,然后再把缓冲内容绘制到画 布。
[0012] 进一步优选地,所述步骤b重绘画布时根据绘制条件变化选择画布重新绘制或者 直接将旧缓冲内容绘制到画布。
[0013] 进一步优选地,步骤c具体包括: cl :在图表元素单元设置一图像缓冲区; c2 :判断图表元素尺寸与画布尺寸不一致或状态改变,建立新缓冲,重新绘制图表元素 到缓冲区。
[0014] 进一步优选地,步骤c2中判断图表元素尺寸与画布尺寸一致且状态没有改变,则 调用旧缓冲图像内容绘制到画布。
[0015] 进一步优选地,步骤a之前还包括:容器单元初始化操作。
[0016] 进一步优选地,所述容器单元初始化操作具体包括:容器单元对坐标系统单元、画 布单元及图表元素单元进行初始化操作。
[0017] 一种支持大数据量快速刷新的图表绘制系统,包括一容器单元,所述容器单元由 坐标系统单元、画布单元、图表元素单元组成; 所述容器单元用于对坐标系统单元、画布单元及图表元素单元进行初始化; 所述坐标系统单元用于实现坐标转换,坐标轴绘制; 所述画布单元用于实现具体图表绘制; 所述图表元素单元用于保存修改自身状态值,当重绘画布时,画布通过枚举调用容器 中的图表元素的绘制功能来完成绘制。
[0018] 进一步优选地,所述图表元素单元包含背景网格图表单元,曲线图表单元。
[0019] 本发明与现有技术相比,有益效果在于:本发明提供的支持大数据量快速刷新的 图表绘制方法及系统,通过实现图表元素缓存机制,利用多CPU分离出数据采集与数据绘 制工作,以达到大数据量快速刷新目的,从而避免出现刷新慢,图像不连贯等问题。
[0020] _

【专利附图】

【附图说明】
[0021] 图1为本发明支持大数据量快速刷新的图表绘制系统架构图; 图2为本发明支持大数据量快速刷新的图表绘制方法流程图; 图3为本发明中图表元素绘制方法流程图。
[0022]

【具体实施方式】
[0023] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0024] 请参阅图1所示,本发明支持大数据量快速刷新的图表绘制系统,包括一容器单 元, 所述容器单元由坐标系统单元、画布单元、图表元素单元等组成; 所述容器单元用于对坐标系统单元、画布单元及图表元素单元进行初始化, 所述坐标系统单元用于实现坐标转换,坐标轴绘制。坐标转换支持坐标值与图形绘制 系统像素点相互转换。
[0025] 所述画布单元用于实现具体图表绘制; 所述图表元素单元用于保存修改自身状态值,当重绘画布时,画布通过枚举调用容器 中的图表元素的绘制功能来完成绘制。
[0026] 基础的图表元素单元包含背景网格图表单元,曲线图表单元。
[0027] 请参阅图2所示,本发明支持大数据量快速刷新的图表绘制方法,包括: 步骤201 :容器单元初始化操作; 具体地,容器单元对坐标系统单元、画布单元及图表元素单元进行初始化操作。
[0028] 步骤202 :容器单元更新坐标数据,调整容器单元布局,重绘画布; 步骤203 :判断重绘画布是否为画布设置缓冲,如果是,进入步骤204 ;否则,直接绘制 画布; 步骤204:重绘画布时先把图表元素内容绘制到与设备相关的缓冲上,然后再把缓冲 内容绘制到画布; 具体地,重绘画布时根据绘制条件建立新缓冲,循环查询容器中图表元素,先把图表元 素内容绘制到与设备相关的缓冲上,然后再把缓冲内容绘制到画布。
[0029] 进一步,重绘画布时根据绘制条件变化选择画布重新绘制或者直接将旧缓冲内容 绘制到画布。
[0030] 步骤205 :画布单元调用图表元素单元进行图表元素绘制。
[0031] 具体地,请参阅图3所示图表元素绘制过程如下: 步骤301 :在图表元素单元设置一图像缓冲区; 步骤302 :判断图表元素尺寸是否跟画布一致且状态没有改变,如果是,进入步骤304 ; 否则,进入步骤303 ; 步骤303 :建立新缓冲,重新绘制图表元素到缓冲区; 步骤304 :调用旧缓冲图像内容绘制到画布。
[0032] 具体地,由于在图表元素单元设置了一个与设备无关的图像缓冲区,图表元素每 次绘制根据条件设定,可以考虑使用先前旧缓冲图像内容或者重新绘制图像内容到缓冲 区。
[0033] 在实际应用中可以把图表元素绘制放到其他线程,在存在多cpu环境中,可以提 高CPU的使用率。例如cpu大于等于3个时,可以启动3个左右线程,或者可以将采集线程, 图表元素绘制线程合并到一个线程。
[0034] 本发明提供的支持大数据量快速刷新的图表绘制方法及系统,通过实现图表元素 缓存机制,利用多cpu分离出数据采集与数据绘制工作,以达到大数据量快速刷新目的,从 而避免出现刷新慢,图像不连贯等问题。
[0035] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种支持大数据量快速刷新的图表绘制方法,其特征在于,包括: a :容器单元更新坐标数据,调整容器单元布局,重绘画布; b :判断重绘画布需要为画布设置缓冲,则重绘画布时先把图表元素内容绘制到与设备 相关的缓冲上,然后再把缓冲内容绘制到画布; c :画布单元调用图表元素单元进行图表元素绘制或调用旧缓冲图像内容绘制到画布。
2. 如权利要求1所述的支持大数据量快速刷新的图表绘制方法,其特征在于,所述步 骤b中判断重绘画布不设置缓冲,则直接绘制画布。
3. 如权利要求1所述的支持大数据量快速刷新的图表绘制方法,其特征在于,所述步 骤b重绘画布时根据绘制条件建立新缓冲,循环查询容器中图表元素,先把图表元素内容 绘制到与设备相关的缓冲上,然后再把缓冲内容绘制到画布。
4. 如权利要求1所述的支持大数据量快速刷新的图表绘制方法,其特征在于,所述步 骤b重绘画布时根据绘制条件变化选择画布重新绘制或者直接将旧缓冲内容绘制到画布。
5. 如权利要求1所述的支持大数据量快速刷新的图表绘制方法,其特征在于,步骤c具 体包括: cl :在图表元素单元设置一图像缓冲区; c2 :判断图表元素尺寸与画布尺寸不一致或状态改变,建立新缓冲,重新绘制图表元素 到缓冲区。
6. 如权利要求5所述的支持大数据量快速刷新的图表绘制方法,其特征在于,步骤c2 中判断图表元素尺寸与画布尺寸一致且状态没有改变,则调用旧缓冲图像内容绘制到画 布。
7. 如权利要求1所述的支持大数据量快速刷新的图表绘制方法,其特征在于,步骤a之 前还包括:容器单元初始化操作。
8. 如权利要求7所述的支持大数据量快速刷新的图表绘制方法,其特征在于,所述容 器单元初始化操作具体包括:容器单元对坐标系统单元、画布单元及图表元素单元进行初 始化操作。
9. 一种支持大数据量快速刷新的图表绘制系统,其特征在于,包括一容器单元,所述容 器单元由坐标系统单元、画布单元、图表元素单元组成; 所述容器单元用于对坐标系统单元、画布单元及图表元素单元进行初始化; 所述坐标系统单元用于实现坐标转换,坐标轴绘制; 所述画布单元用于实现具体图表绘制; 所述图表元素单元用于保存修改自身状态值,当重绘画布时,画布通过枚举调用容器 中的图表元素的绘制功能来完成绘制。
10. 如权利要求9所述的支持大数据量快速刷新的图表绘制系统,其特征在于,所述图 表元素单元包含背景网格图表单元,曲线图表单元。
【文档编号】G06F17/30GK104156427SQ201410387983
【公开日】2014年11月19日 申请日期:2014年8月7日 优先权日:2014年8月7日
【发明者】刘均, 谢飞虹 申请人:深圳市元征科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1