我现在有一个程序是用双缓冲绘图,我发现当我将程序最小化之后CPU的占有率有明显的降低!但是被别的程序遮挡以后没有发现CPU的使用率有明显下降!
我想请教下,这两种情况重绘不一样吗?
当然不一样了。
前者最小化,虽然你画的时候用的是控件所在HDC,但是HDC最终还是由屏幕的HDC来绘制。最小话之后等于说控件所在HDC不起作用了,不干活了。
后者,你虽然遮挡,但是任然有部分在屏幕显示,还是要调用屏幕的HDC来达到部分显示的目的。当然要重绘了。还是干原来的活,没少过。
哎
最小化就不可能显示。
被遮挡有可能显示,所以cpu消耗不一样
你自己刷新是调用invalidate之类吧?
如果你处于最小化状态,系统根本不真正执行刷新操作,只是做个记录。
但如果不是最小化状态,而是被遮挡状态,不知道系统能否判断出来,我估计能不能,但不一定会这样做,因为还要排除没有遮挡完全的情况,效率不高。
你可以播放一个电影,然后挡住它的窗口,看会怎样。