|
|
1
1
是的(这就是缩略图如何显示当前被遮挡的窗口部分)。 DWM对屏幕的渲染是双缓冲的。但是,如果它在擦除和绘制之间占据了缓冲区…它将作为一件可见的艺术品出现。所以你仍然需要双倍的缓冲。双缓冲发生在桌面上(即它完全绘制下一个桌面视图,然后翻转),而不是每个窗口被绘制到的屏幕外缓冲区上。 |
|
|
2
1
好吧,绘制到屏幕外位图只允许DWM按照自己喜欢的方式组合窗口,而不必等待应用程序重新绘制(例如,在XP中,当您将窗口移到另一个位图上时)。 这确实 不 也就是说,从屏幕外表面自动绘制可以减少闪烁。如果您擦除窗口,然后重新绘制它,并且在两个操作之间,DWM重新绘制屏幕(每秒大约60次),那么您当然会看到闪烁。 当应用程序重新绘制速度不够快时,它确实解决了“白色窗口”问题,而且还减少了由于窗口重叠而导致的重新绘制。但它对闪烁没有帮助。DWM无法知道您的绘制操作尚未完成,并且您希望在再次绘制内容之前显示窗口的旧图像。 |