基于显存池的态势显示区高速刷新技术及其实现方法

文档序号:6380528阅读:467来源:国知局
专利名称:基于显存池的态势显示区高速刷新技术及其实现方法
技术领域
本发明属于善变态势显示区的实时刷新技术。采用基于显存池的GPU执行显示处理任务技术实现,通过大量减少从内存到显存转运的数据量和取消CPU执行的显示处理任务的方法,实现态势显示区的高速刷新。
背景技术
随着科学技术的发展,电子设备用多形式综合显示终端需显示控制的任务越来越多,且其中计算机系统的个数越来越少,人们对态势显示区的实时刷新提的要求也越来越闻。在电子战等设备中态势显示区需要显示的目标从原来的十几个、几十个到现在的上百个、数百个甚至上千个,再加上方位刻度线、方位线(划分方位区域的界线)、检测区(表明该区域内目标检测或不检测)等显示单元(需要显示内容的基本划分单元)都需要实时刷新。由于需要显示的内容多,显示单元间交叉的概率大大提高。如果采用只更新变化目标或其他显示单元的方法实现态势显示区刷新,显示单元间交叉部分显示效果异常的问题就会非常明显。且由于随着需要更新的显示单元数量的增加,采用这种方法刷新的速度已经不能满足要求。在态势显示区刷新技术方面,设计人员只能采用定时整个态势显示区刷新的方法来克服上面提到的问题。即通过CPU计算每个图形单元,把处理结果存入内存池中,然后把内存池中显示数据传输到显卡,通过数模转换器进行显示。但是这种基于内存池的定时刷新态势显示区的刷新方法,占用大量计算机系统资源(主要是CPU时间资源),其他任务几乎无法获得CPU时间资源。其原因为每次刷新CPU都要执行显示处理任务,并且把大量数据从内存搬运到显存中。本发明中提出一种基于显存池的态势区高速刷新技术,可以在保证态势显示区刷新实时性的前提下,大大降低态势显示区刷新任务占用的计算机系统的时间资源。

发明内容
本发明的目的在于提供一种基于显存池的态势显示区刷新技术及其实现方法。该发明能够在不影响实时系统正常运行的情况下,保证态势显示区的实时刷新且可以空余大量CPU时间资源。实现本发明目的的技术解决方案为首先计算对态势显示区显示单元进行显示处理时输入数据与输出数据的比例(显示处理把显示单元根据输入数据转化成显卡可以直接显示的数据)。计算一帧界显示数据需要占用的空间,开辟显存池。针对态势显示区显示处理的输入数据量远小于输出数据量的特点,和每次刷新内容变化量只是整个显示区很小一部分的特点。采用GPU直接执行显示处理任务,处理结果数据按照显示阵列存入显存池。通过GPU直接从显存池中读取显示数据送数模转换器显示的方式实现刷新。
由于显控台态势显示区刷新时,显示处理的输入数据占输出数据的比例很小(不足5%);而且通过显存池搬运数据给数模转换器的数据传输速度,远大于内存传递数据到数模转换器的速度;故基于显存池的态势显示区刷新技术的刷新速度,可以远高于基于内存池的态势显示区刷新技术的刷新速度(采用CPU处理和内存缓存处理结果数据,进行态势显示区刷新的方法)。本发明在嵌入式实时操作系统平台上实现了该算法并应用于工程实际。应用条件为,实时刷新的显示单元主要为100批目标、5个环(距标环)、360个方位刻度线、12个方位线、700个字符。应用结果为采用内存池法态势显示区刷新任务执行一次需要耗时不大于95ms,采用显存池法的态势显示区刷新任务执行一次需要耗时3ms至4ms。本发明与现有技术相比,其显著优点为采用基于显存池的态势显示区刷新技术,能为显控台计算机系统节约大量CPU系统时间。不仅可以实现态势显示区的实时刷新任务,且可以在不影响系统的实时性的前提下多处理大量其他任务。不仅很好的实现态势显示区的实时刷新功能,且可以把大量其他显示控制任务并入同一个计算机系统处理。这样不仅可以节约资金与空间,且可以提高整个大系统的可靠性。该方法具有实时性好、成本低廉的特点。它的提出及工程实现在侦察、电子战等领域的显控技术方面具有很高的推广应用价值。下面结合附图对本发明作进一步详细描述。


图I是基于显存池的态势显示区刷新工作流程图。图2是基于显存池的态势显示区刷新工作示意图。图3是采用基于显存池的态势刷新技术时系统CPU时间片分配示意图。
具体实施例方式本发明是基于显存池的态势显示区高速刷新技术及其实现方法,具体实施步骤为(参见附图I)
①通过WDB查出当前实时系统中各个任务对CPU时间片资源占用图表,通过提取系统时间法计算态势显示区刷新任务执行一次占用CPU时长,统计态势显示区任务对系统时间资源的占用率;
②根据态势显示区需要显示的显示单元的类型与数据量,统计显示处理任务数据输入量和输出量,如果输入数据量远小于输出数据量则适合采用本发明;
③开辟适量的显存池。需要开辟显存池的容积为(字节)=界面显示区的像素数X每个像素显示颜色的位数+8 ;
④把显示处理任务转由GPU实现,并把输出结果按照显示的矩阵序列存入开辟的显存
池;
⑤当收到刷新命令采用GPU处理函数实现,即把显存池中处理结果直接送数模转换器显不。在态势显示区刷新过程中,GPU可以直接从显存池中读取数据显示;只需处理态势显示区刷新需重新绘制的图形单元,而大量其他显示区的内容由于不需要重新绘制而不需重新处理。其次取消了 CPU的显示处理任务,直接采用GPU实现,CPU只需要把态势显示区刷新内容的输入数据传输给GPU即可;这样态势刷新时只需要从显存池搬运显示内容给数模转换器显示,而不需要从内存池传递大量显示数据到数模转换器显示,可以节约大量CPU系统时间(由于从内存到显存的数据传输速度远小于从显存到显存的数据传输速度)。通过以上两个过程达到了显著降低态势显示区刷新任务占用CPU时间资源的效果。大量降低态势显示区刷新耗时,可以解放出大量时间资源用于处理其他任务。从而在不影响系统实时性的前提下,实现合并其他显示控制任务到该计算机系统中,减少硬件资源,提高整个大系统的稳定性。基于显存池的态势显示区高速刷新技术及其实现方法已经成功应用于某型雷达系统,该方法能在不影响原系统正常运行的情况下,可以使CPU的使用率从85%降到19%。
权利要求
1.一种基于显存池的态势显示区高速刷新方法,其特征在于采用基于显存池的显示刷新方法,直接使用GPU实现显示处理,处理结果存入显存池;显示处理的输入数据量小于输出数据量;通过显存池送数模转换器显示,替代从内存传递数据到数模转换器进行显示的方法。
2.一种实现权利要求I所述的基于显存池的态势显示区高速刷新方法,其特征在于在态势显示区刷新频率要求不小于10次/秒,其他显示区刷新要求低于态势显示区1%的情况下实现。
3.一种实现权利要求I所述的基于显存池的态势显示区高速刷新方法,其特征在于在基于嵌入式实时操作系统平台上实现。
全文摘要
本发明涉及一种基于显存池的态势显示区高速刷新技术及其实现方法。该方法主要适用于可以直接控制GPU(图形处理器)工作的终端设备中,通过大大减少数据从内存到显卡中搬运的数量和减少CPU的数据处理量,达到态势显示区的高速刷新的效果。其实现过程为首先开辟一个可以缓存整个界面区域显示内容的显存池,然后把由CPU实现的显示处理任务转由GPU实现(显示处理把显示单元根据输入数据转化成显卡可以直接显示的数据);GPU完成显示处理任务后把目标数据存入显存池中,刷新时把显存池中的数据转入数字模拟转换器进行显示。本发明通过减少从内存到显存传输数据量和取消显示处理任务,大大减少态势显示区刷新任务占用的CPU资源,达到快速刷新的效果。
文档编号G06F9/38GK102981806SQ20121043722
公开日2013年3月20日 申请日期2012年11月5日 优先权日2012年11月5日
发明者邢永昌, 孟凡, 孙雪涛 申请人:中国船舶重工集团公司第七二四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1