提高二维矢量绘图效率之一般做法

本文探讨了提高二维矢量绘图效率的方法,包括双缓存的使用和Windows环境下绘图引擎的选择。作者对双缓存的效率表示怀疑,并推荐在Windows XP及以下版本使用GDI和GDI+,Vista及以后版本使用Direct2D。同时,提出了减少无效绘图区域和不必要的绘图操作以提高GDI绘图效率的策略。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

           这个问题很普遍。最近在研究这个问题,在网上搜了一些资料,再结合自己的经验,谈谈自己的一些想法。

 

                                                                一.双缓存能提高绘图效率吗?

 

网上有篇文章:绘图效率完整解决方案——三种手段提高GDI/GDI+绘图效率,其中提到一种方法是:1. 缓存——Bitmap或者DoubleBuffer。缓存就是先把绘制的图形绘制到一张内存位图上,然后在一次性的贴位图,他可以提高绘图速度,也能避免闪烁。DoubleBuffer=true是C#窗体的属性,设置了此属性估计系统本身会起用无效区的内存位图缓存,而不需要程序员Bitmap处理。

 

这里对双缓存的通常做法不作介绍,网上的相关资料很多。说实话,我对使用双缓存能提升绘图效率表示怀疑,理由很简单,同是DC,同是绘制1000条线段,有什么理由内存DC就比窗口DC快(当然这个我没有作具体的测试,这个有空可以测试下)。我还稍微怀疑使用双缓存绘图比直接使用窗口DC绘图还慢一些,理由有二:一是使用双缓存需要增加创建内存DC和内存位图的操作;二是使用双缓存还需要增加一个把内存DC拷贝到窗口DC的操作。那么双缓存的主要作用是什么?其实就是解决绘图过程的闪烁问题,改善绘图效果。

 

                                                        二.Windows环境下二维绘图引擎的选取

 

和绘图效率的一个重要相关因素是绘图引擎。Windows环境下二维绘图引擎有多种选择

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值