关于双缓冲理解

双缓冲几个重要 注意点:

1 不直接绘制在DC上,而是先绘制在内存DC然后利用BitBlt块传输效率高

2 尽量限制背景重绘,背景的重绘导致两种颜色切换,会产生闪烁效果。 先擦出背景,在绘制图像


做法步骤:

1创建CompatibleDC

2创建位图CompatibleBitmap,填充整个背景色    mem.FillSolidRect(&re,pDC->GetBkColor());,或者初始化时候指定颜色,  这个背景色不对,应该用GetClassLong获得,背景色,pDC的背景色,不一定是窗口擦出的背景色。

3关联

4禁止背景重绘BOOL CdfsdfsfdsfView::OnEraseBkgnd(CDC* pDC)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
     return TRUE;
    //return CView::OnEraseBkgnd(pDC);
}


你可能感兴趣的:(关于双缓冲理解)