兼容DC作用

106 篇文章 3 订阅
76 篇文章 0 订阅

如果直接在pDC上画很多线或者文字或者图片,那么你的显示区域就会闪动。

闪动的原因是因为你的程序执行有先后,先画一个再画一个,少的时候不影响,当数据大时候就会非常明显。

内存DC就很好的解决了这个问题,你所把有图形都画在内存DC上,再最后一起贴到pDC上,就不会闪了。

这就是是所谓的双缓存。


兼容DC也叫内存DC,就是内存中的一段buf,可以理解这段buf是给显卡用的数据。


这里用到的是双缓存绘图技术,为了避免频繁绘图导致屏幕闪烁:根据源设备DC创建一个兼容DC,并在这个DC(实际上是兼容位图)上把绘图操作全部绘制完,然后再一次性拷贝到源设备DC上。

之所以这样做会避免频繁绘图导致屏幕闪烁,你可以这样理解:点、线、面 操作的效率是不一样的,点操作效率最低,面操作效率最高。绘图操作实际上就是逐个点连成线,逐个线构成面;如果不使用内存DC,而是在源DC(实际上就是显示器)上一点一点的绘制,每个绘制点结束势必会造成显示器刷新,而显示器跟不上绘制节奏就导致闪屏的出现。

所以,我们先把所有的绘制操作在内存中进行,这个过程中跟屏幕没有半毛钱的关系,当内存DC绘制完之后,把内存DC一气呵(面操作)成拷贝到源DC上, 相当于仅有一次绘图操作 ,那即使你的CPU再烂,一次操作应该是没问题的吧——也就避免了屏幕刷新闪烁了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值