Voj*_*zín 3 winapi invalidation wm-paint
我正在处理很多绘图.目前我正在使用WM_TIMER来使用InvalidateRect计划绘画.由于某种原因,WM_PAINT经常被调用区域(0,0,0,0),所以基本上是一个空矩形.我试图将其解释为"整个窗口",但之后它似乎会导致性能下降.为什么Windows发送呢?
您的问题在标准文档中得到了很好的解答:http://msdn.microsoft.com/en-us/library/windows/desktop/dd145213%28v=vs.85%29.aspx.
基本上,当消息队列为空时,系统发送WM_PAINT消息,默认情况下,无论是否有任何绘制,它都会这样做.许多较旧的应用程序依赖于WM_PAINT(例如进行空闲时间处理)并保持此行为可确保兼容性.
不,你不能认为它意味着整个屏幕.如果该区域为空,则应避免调用BeginPaint/EndPaint并将其传递给默认窗口过程.
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |