Flicker绘图闪烁
原文链接
http://msdn.microsoft.com/en-us/library/ms969905.aspx
精炼
原因:
WM_ERASEBKGND消息, 然后WM_PAINT消息.
先用the current window background color填充背景, then 图片绘制背景.
频繁刷新造成 连续处在 颜色填充背景阶段, 导致看到的背景色时间拉长, 形成闪烁.
实验:
每绘图1次间隔1秒, 不会闪烁.
连续点击移动绘图, 就会闪烁.
改进:
把WM_ERASEBKGND, WM_PAINT放一起(简单的描述为WM_ERASEBKGND消息直接返回, WM_PAINT消息里手动绘1次屏,绘1次图, 连续工作)