被调用的InvalidateRect过于频繁地阻止其他窗口重绘

时间:2013-04-10 08:49:29

标签: winapi invalidation wm-paint

我开发了音频插件,它们在主机内部运行并实时工作。每个插件都有自己的带控件的窗口,它通常包含某种分析窗格,一个非常大的矩形,可以重复绘制(例如每秒20-50x)。这一切都运作良好。

当用户调整参数时出现问题 - 插件使用WM_MOUSEMOVE跟踪鼠标移动,并在每次更改调用:: InvalidateRect时重新绘制窗口的相关部分。如果你移动得足够快,窗口真的很快被重新绘制,但是主机和其他窗口似乎没有时间重新绘制,这些通常也会执行某种分析反馈,所以它真的不太理想。

不,我的问题: 1)假设主机和其他窗口也在使用:: InvalidateRect,为什么我的优先级是? 2)如何使:: InvalidateRect没有优先级,这意味着窗口需要被无效,但可能是稍后,系统的其余部分也必须有时间进行重绘。

提前致谢!

0 个答案:

没有答案