GDI高效绘图

小弟是新手,在学校期间为了更自力更生,减轻父母经济负担,在一家单位做软件开发兼职,都一个任务是用于现场采集数据的回放与处理,要求数据回放具有拖动、实时显示现场记录关键信息基本功能,内部数据处理计算较费时,界面更新要求快,图像是将数据文件读取得数据计算以点的形式画在屏幕上,情况恶虐的话要求30ms画慢整个显示区(一般至少在20000以上)。开始使用CDC提供的绘图函数SetPixel、FillRect进行绘制,结果刷新一次界面需要数秒才能完成,远不能满足需求,经代码测试发现最终耗时发生在SetPixel、FillRect这些函数的重复调用累计所致,因为屏蔽它们后各种操作很流畅。之后研究过DDraw绘图,结果发现实例中也是调用类似SetPixel、FillRect这样的基本函数,明白肯定不行,测试结果也验证了这一想法。我做过嵌入式系统设计中显示一般都有映射用户空间,只要将RGB只赋给映射的内存缓冲区即可达到显示,这样不调用函数直接赋值的方式肯定高效、省时,但是对于VC的使用我还是菜鸟,还不了解它也有这样的功能接口,我曾经加过N个VC开发QQ群寻求帮助,也许是沟通的问题,结果相应很不乐观,我只能看着MSDN上与绘图相关的所有API函数,指导我偶遇....,我的项目才有了本质的突破和解决方法。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值