一种基于多线程的图形绘制处理方法和装置制造方法及图纸

技术编号:35921382 阅读:14 留言:0更新日期:2022-12-10 11:05
本发明专利技术实施例涉及一种基于多线程的图形绘制处理方法和装置,所述方法包括:获取第一监护设备列表;创建第一窗体对象、第一设备空间、第一导联图像对象、第一渲染目标对象;为每个第一监护设备分配一个第一通讯接口;并为每个第一监护设备创建第一设备缓存队列;为每个第一设备导联标识创建第一导联缓存队列;为每个第一监护设备创建第一设备通讯线程用于进行数据缓存;为每个第一设备缓存队列创建第一数据处理线程于定期进行导联缓存队列数据迁移;为每个第一导联图像对象创建第一绘图线程用于定期进行导联缓存数据获取、图形绘制、图像渲染和图像显示处理。通过本发明专利技术可以对CPU/内存资源进行有效释放。内存资源进行有效释放。内存资源进行有效释放。

【技术实现步骤摘要】
一种基于多线程的图形绘制处理方法和装置


[0001]本专利技术涉及数据处理
,特别涉及一种基于多线程的图形绘制处理方法和装置。

技术介绍

[0002]医疗机构都有用于处理实时心电监护的中央监护系统。中央监护系统包括前端的监护设备和后台的中央监护站。前端的监护设备将实时采集的心电数据向中央监护站发送,中央监护站则基于图形绘制插件对接收到的心电数据进行波形绘制和显示处理。常规的图形绘制插件在处理图形绘制和图像渲染时默认都以中央处理器(Central Processing Unit,CPU)/内存作为计算存储资源进行处理,这种处理方式会占用大量的CPU/内存资源,尤其图像渲染占用的资源最多。在这种常规方式下,倘若监护设备数量或心电数据数量较多就会对CPU/内存资源造成快速消耗,从而影响到中央监护站其他功能的正常运行。

技术实现思路

[0003]本专利技术的目的,就是针对现有技术的缺陷,提供一种基于多线程的图形绘制处理方法、装置、电子设备及计算机可读存储介质;一方面基于多线程机制设计三类异步线程(通讯线程、数据处理线程和绘图线程)来降低CPU/内存资源的持续占用率;二方面使用可调度图形处理器(Graphics Processing Unit,GPU)进行图像渲染的SharpDX插件创建对应的渲染目标对象来处理图像渲染工作,从而实现对CPU/内存资源的有效释放。通过本专利技术,不但可以降低CPU/内存资源的持续占用率,还可以降低CPU/内存资源的整体占用率。
[0004]为实现上述目的,本专利技术实施例第一方面提供了一种基于多线程的图形绘制处理方法,所述方法包括:
[0005]获取第一监护设备列表;并对所述第一监护设备列表中第一监护设备的数量进行统计生成对应的第一数量;所述第一监护设备列表包括多个所述第一监护设备;所述第一监护设备包括第一导联数量和多个第一设备导联标识;所述第一监护设备列中的所述第一设备导联标识彼此不重复;
[0006]创建第一窗体对象;并在所述第一窗体对象上为每个所述第一监护设备分配一个窗体空间作为对应的第一设备空间;并在各个所述第一设备空间上根据对应的所述第一导联数量进行图像对象创建得到所述第一导联数量的第一导联图像对象;并为每个所述第一导联图像对象创建一个对应的SharpDX渲染目标对象记为第一渲染目标对象;并为每个所述第一导联图像对象分配一个对应的所述第一设备导联标识;
[0007]为每个所述第一监护设备分配一个数据通讯接口记为对应的第一通讯接口;并为每个所述第一监护设备创建一个数据缓存队列作为对应的第一设备缓存队列;并为每个所述第一设备导联标识创建一个数据缓存队列作为对应的第一导联缓存队列;
[0008]为每个所述第一监护设备创建一个线程对象作为对应的第一设备通讯线程并运行;所述第一设备通讯线程用于对所述第一监护设备发送的多导联心电数据进行数据缓存
处理;
[0009]为每个所述第一设备缓存队列创建一个线程对象作为对应的第一数据处理线程,并设置所述第一数据处理线程的休眠时长为预设的第一时长,并运行所述第一数据处理线程;所述第一数据处理线程用于定期对对应的所述第一设备缓存队列进行导联缓存队列数据迁移处理;
[0010]为每个所述第一导联图像对象创建一个线程对象作为对应的第一绘图线程并运行,并设置所述第一绘图线程的休眠时长为预设的第二时长,并运行所述第一绘图线程;所述第一绘图线程用于定期根据对应的所述第一导联缓存队列、所述第一渲染目标对象和所述第一导联图像对象进行导联缓存数据获取、图形绘制、图像渲染和图像显示处理。
[0011]优选的,所述多导联心电数据包括多个单导联心电数据;所述单导联心电数据包括所述第一设备导联标识和第一导联心电数据。
[0012]优选的,所述第一设备通讯线程用于对所述第一监护设备发送的多导联心电数据进行数据缓存处理,具体包括:
[0013]所述第一设备通讯线程运行时,对与自身对应的所述第一通讯接口进行持续侦听;一旦所述第一通讯接口完成一次数据接收,就将当次的接收数据作为对应的所述多导联心电数据;并将所述多导联心电数据向对应的所述第一设备缓存队列添加。
[0014]优选的,所述第一数据处理线程用于定期对对应的所述第一设备缓存队列进行导联缓存队列数据迁移处理,具体包括:
[0015]所述第一数据处理线程运行时,按设定的休眠时长定期将对应的所述第一设备缓存队列作为当前设备缓存队列;并对所述当前设备缓存队列中所述多导联心电数据的数量进行统计生成对应的第二数量;
[0016]若所述第二数量超过了预设的第一数量阈值,则从所述当前设备缓存队列中提取时间最早的第一提取数量的所述多导联心电数据组成对应的第一多导联心电数据序列;若所述第二数量未超过所述第一数量阈值但超过了预设的第二数量阈值,则从所述当前设备缓存队列中提取时间最早的第二提取数量的所述多导联心电数据组成对应的所述第一多导联心电数据序列;若所述第二数量未超过所述第二数量阈值,则从所述当前设备缓存队列中提取时间最早的第三提取数量的所述多导联心电数据组成对应的所述第一多导联心电数据序列;所述第一提取数量大于所述第二提取数量,所述第二提取数量大于所述第三提取数量;
[0017]并对所述第一多导联心电数据序列的各个所述多导联心电数据进行遍历,遍历时将当前遍历的所述多导联心电数据的各个所述单导联心电数据的所述第一导联心电数据向对应的所述第一导联缓存队列中添加;并在遍历结束时将所述第一多导联心电数据序列中的各个所述多导联心电数据从所述当前设备缓存队列中移除。
[0018]优选的,所述第一绘图线程用于定期根据对应的所述第一导联缓存队列、所述第一渲染目标对象和所述第一导联图像对象进行导联缓存数据获取、图形绘制、图像渲染和图像显示处理,具体包括:
[0019]所述第一绘图线程运行时,按设定的休眠时长定期将对应的所述第一导联缓存队列作为当前导联缓存队列;
[0020]逐个提取所述当前导联缓存队列中时间最早的所述第一导联心电数据作为当前
导联心电数据;并在所述当前导联心电数据不为空时,根据所述当前导联心电数据进行二维波形的图形绘制处理生成对应的第一图形;并对所述第一图形进行位图转换处理生成对应的第一位图;并将所述第一位图送至对应的所述第一渲染目标对象通过所述第一渲染目标对象调用GPU处理器资源进行图像渲染处理生成对应的第一渲染图像;并将所述第一渲染图像作为对应的所述第一导联图像的显示图像进行图像显示处理;并在所述图像显示处理成功时将所述当前导联心电数据从所述当前导联缓存队列中移除。
[0021]本专利技术实施例第二方面提供了一种实现上述第一方面所述的方法的装置,所述装置包括:获取模块、界面处理模块、队列处理模块、第一线程处理模块、第二线程处理模块和第三线程处理模块;
[0022]所述获取模块用于获取第一监护设备列表;并对所述第一监护设备列表中第一监护设备的数量进行统计生成对应的第一数量;所述第一监护设备列表包括多个所述第一监护设本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多线程的图形绘制处理方法,其特征在于,所述方法包括:获取第一监护设备列表;并对所述第一监护设备列表中第一监护设备的数量进行统计生成对应的第一数量;所述第一监护设备列表包括多个所述第一监护设备;所述第一监护设备包括第一导联数量和多个第一设备导联标识;所述第一监护设备列中的所述第一设备导联标识彼此不重复;创建第一窗体对象;并在所述第一窗体对象上为每个所述第一监护设备分配一个窗体空间作为对应的第一设备空间;并在各个所述第一设备空间上根据对应的所述第一导联数量进行图像对象创建得到所述第一导联数量的第一导联图像对象;并为每个所述第一导联图像对象创建一个对应的SharpDX渲染目标对象记为第一渲染目标对象;并为每个所述第一导联图像对象分配一个对应的所述第一设备导联标识;为每个所述第一监护设备分配一个数据通讯接口记为对应的第一通讯接口;并为每个所述第一监护设备创建一个数据缓存队列作为对应的第一设备缓存队列;并为每个所述第一设备导联标识创建一个数据缓存队列作为对应的第一导联缓存队列;为每个所述第一监护设备创建一个线程对象作为对应的第一设备通讯线程并运行;所述第一设备通讯线程用于对所述第一监护设备发送的多导联心电数据进行数据缓存处理;为每个所述第一设备缓存队列创建一个线程对象作为对应的第一数据处理线程,并设置所述第一数据处理线程的休眠时长为预设的第一时长,并运行所述第一数据处理线程;所述第一数据处理线程用于定期对对应的所述第一设备缓存队列进行导联缓存队列数据迁移处理;为每个所述第一导联图像对象创建一个线程对象作为对应的第一绘图线程并运行,并设置所述第一绘图线程的休眠时长为预设的第二时长,并运行所述第一绘图线程;所述第一绘图线程用于定期根据对应的所述第一导联缓存队列、所述第一渲染目标对象和所述第一导联图像对象进行导联缓存数据获取、图形绘制、图像渲染和图像显示处理。2.根据权利要求1所述的基于多线程的图形绘制处理方法,其特征在于,所述多导联心电数据包括多个单导联心电数据;所述单导联心电数据包括所述第一设备导联标识和第一导联心电数据。3.根据权利要求2所述的基于多线程的图形绘制处理方法,其特征在于,所述第一设备通讯线程用于对所述第一监护设备发送的多导联心电数据进行数据缓存处理,具体包括:所述第一设备通讯线程运行时,对与自身对应的所述第一通讯接口进行持续侦听;一旦所述第一通讯接口完成一次数据接收,就将当次的接收数据作为对应的所述多导联心电数据;并将所述多导联心电数据向对应的所述第一设备缓存队列添加。4.根据权利要求2所述的基于多线程的图形绘制处理方法,其特征在于,所述第一数据处理线程用于定期对对应的所述第一设备缓存队列进行导联缓存队列数据迁移处理,具体包括:所述第一数据处理线程运行时,按设定的休眠时长定期将对应的所述第一设备缓存队列作为当前设备缓存队列;并对所述当前设备缓存队列中所述多导联心电数据的数量进行统计生成对应的第二数量;若所述第二数量超过了预设的第一数量阈值,则从所述当前设备缓存队列中提取时间最早的第一提取数量的所述多导联心电数据组成对应的第一多导联心电数据序列;若所述
第二数量未超过所述第一数量阈值但超过了预设的第二数量阈值,则从所述当前设备缓存队列中提取时间最早的第二提取数量的所述多导联心电数据组成对应的所述第一多导联心电数据序列;若所述第二数量未超过所述第二数量阈值,则从所述当前设备缓存队列中提取时间最早的第三提取数量的所述多导联心电数据组成对应的所述第一多导联心电数据序列;所述第一提取数量大于所述第二提取数量,所述第二提取数量大于所述第三提取数量;并对所述第一多导联心电数据序列的各个所述多导联心电数据进行遍历,遍历时将当前遍历的所述多导联心电数据的各个所述单导联心电数据的所述第一导联心电数据向对应的所述第一导联缓存队列中添加;并在遍历结束时将所述第一多导联心电数据序列中的各...

【专利技术属性】
技术研发人员:吕友超石博
申请(专利权)人:上海乐普云智科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1