读书人

SDK绘图的时候屏幕闪烁双缓冲还是闪

发布时间: 2012-03-31 13:13:26 作者: rapoo

SDK绘图的时候屏幕闪烁,双缓冲还是闪
用InvalidateRect()刷新一小片区域,结果整个窗口都能明显看到闪烁,这个API不是只刷新一小片区域吗?我在这个API的参数里无论是填入有效的一个RECT还是NULL,结果一模一样,整个窗口都闪烁!

用双缓冲还是会闪烁,而且不觉得比一个DC闪的慢,在我看来,用双缓冲的闪烁频率和原来基本一样,尤其是颜色反差大的时候,闪烁的非常明显。

快来人救救我……

[解决办法]
把刷新背景去掉,
BOOL OnEraseBkgnd(CDC* /*pDC*/)
{
return FALSE;
}
[解决办法]

1.你的双缓冲
2. 把刷新背景去掉,
BOOL OnEraseBkgnd(CDC* /*pDC*/)
{
return FALSE;
}
3.窗口加上 ws_clipchildren属性,如果再闪你来找我。
[解决办法]

探讨
1.你的双缓冲
2. 把刷新背景去掉,额 纠正 看错了
BOOL OnEraseBkgnd(CDC* /*pDC*/)
{
return true;
}3.窗口加上 ws_clipchildren属性,如果再闪你来找我。

[解决办法]
最好不要用InvalidateRect(),一般用这个都会闪,要每时每刻都画图的话,设个定时器来画

读书人网 >VC/MFC

热点推荐