基于双缓存技术解决某模拟系统实时显示屏幕闪烁的方法.docVIP

基于双缓存技术解决某模拟系统实时显示屏幕闪烁的方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于双缓存技术解决某模拟系统实时显示屏幕闪烁的方法   摘要:本文基于双缓存技术,对某模拟系统实时图形绘制和实时数据显示时,屏幕闪烁难题的一种解决方法进行了探索。分析了计算机显示的原理,阐述了双缓存技术的实质、运用步骤和注意事项,并在Windows操作系统和Visual C++6.0开发平台上,通过实例编程、上机试验,检验了该方法的有效性。   关键词:双缓存;实时显示;屏幕闪烁;方法   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)25-1574-03   One Way Based on Double Buffer Memory Technology to Solve Some Simulator Real-time Display Screen Flickering   DONG Yan, ZHOU Yan-ming, CUI Wei-bing   (Department of Science and Technology, College of Chinese PLA Artillery, Hefei 230031, China)   Abstract: Based on double buffer memory technology, the paper studies one way to solve some simulator screen flicker upon real-time protracting figure and real-time displaying data. After analyzing computer display theory, it expounds double buffer memory technological substance, application steps and notices, and proves validity of this method through programming, testing an example, utilizing Windows operation system and Visual C++ 6.0 exploit platform.   Key words: double buffer memory; real-time display; screen flickering; method   1 引言   某模拟系统的模拟对象之一是监视雷达天线,其扫描周期为1秒或1.5秒,也就是说雷达天线每转一圈,探测数据和探测数据曲线至少要在1秒之内,刷新终端显示器1次,这就对模拟系统的数据处理模块程序提出了很高的要求。如何实现实时图形绘制和实时数据显示,并解决屏幕闪烁的难题,是该模拟系统软件开发要重点解决的关键问题之一。   在屏幕显示区域,要实时显示探测数据,并要实时绘制和显示图形,如果直接在屏幕上动态绘图,屏幕就会明显的闪烁。这是因为图形绘制过程,可分为绘制、擦除、重绘三个阶段[1],其中擦除窗口显示区的操作是必须的,而在新的图形绘制出之前,在极短时间内,屏幕呈现的是一个空的显示区域,完成图形重绘后,窗口显示区中才开始有内容显示,如果擦除和重绘的操作间隔时间过长,就会出现闪烁,这就是造成屏幕闪烁的根本原因。使用双缓冲技术可有效的防止这种闪烁现象。下面首先简要介绍计算机显示原理和双缓存技术。   2 计算机显示原理   计算机显示系统的核心是视频内存。该内存包含有代表显示图案的数据,而这些图案显示在显示器上。每一个图形操作都会影响视频内存,因为GDI[2](Graphic Device Interface)执行计算后,以相应的方式更改视频内存,即显示在屏幕上。   相对于视频内存的位图内存,二者区别在于,位图内存是看不到的,而视频内存可以看到。位图代表类似于视频内存的RAM区域,由于它们都代表一个容纳数据的内存地址,因此二者又是相似的。由位图分配的RAM代表一个矩形。在Windows API[3]中,所分配内存的句柄被称为HBITMAP。数据驻留在此内存中,一旦被移动到视频内存中,就显示在显示器上。例如:一个桌面图标,图标从磁盘加载到内存中,然后内存被移动到视频内存的恰当位置,这样当视频内存通过视频硬件被显示到屏幕上时,图标则可见。   位图以不同于诸如绘制直线或椭圆这样的对象的方式,将图形对象添加到屏幕上。直线和椭圆是以数学方法计算,然后按照对象显示方式设置视频内存中的象素。位图数据不用计算,图案已经存在于位图内存中。只需要将存储块从位图内存拷贝到视频内存中即可。因此,当最终结果是一个复杂的图形时,使用位图比使用一系列绘图操作要好的多。例如:在屏幕上绘制你的照

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档