局部刷新会导致windowless richedit光标闪烁严重, DirectUI也存在类似问题, 求解决
如题, 在项目中用到 windowless richedit, 使用gdiplus绘制, 刚开始写的时候, 用的是全局刷新 InvalidateRect(NULL), 一直都没有发现问题, 后来CPU有点高, 优化为局部刷新, InvalidateRect(&rect), 但是发现richedit框的光标闪烁得很厉害; 随后调试DirectUI中的Demo(), 发现也存在类似问题(设置一个定时器, 里面不停调用InvalidateRect(&rect)); 再接着, 直接建一个MFC项目, 在窗口上创建一个光标插入符, 然后启动定时器局部刷新, 貌似也有问题;
项目中richedit插入gif动画, 或者播放无窗口的flashf动画时, 会频繁刷新窗口, 导致问题出现;