在另一个窗口上拖动窗口会导致重新绘制底层窗口(Windows Vista,Windows 7)

问题描述:

在我的系统上,如果您的3D应用程序运行时需要一些时间来重绘并拖动任何窗口它。它导致一个非常生涩的运动。如果您从3D应用程序的3D窗口中拖动对话框,也会发生这种情况。应用程序实际上得到一个重绘消息(WM_PAINT?),这会导致它完成重绘。不应该将背景窗口作为位图或Windows缓存吗?在另一个窗口上拖动窗口会导致重新绘制底层窗口(Windows Vista,Windows 7)

我粘贴了下面的NVIDIA系统信息转储,注意我有2个GPU。不知道这是否意义重大,但是我们在办公室中的另一台机器上看到了这个问题,这台机器也有2个GPU和Windows 7.其他具有1个GPU的机器没有这个问题。

找出问题所在。我运行的是Windows Vista Basic配色方案,而不是Aero。在基本的Windows中,整个屏幕可能只有一个缓冲区,所以无论何时移动窗口,都必须重新绘制它重叠的窗口。在Aero中,缓存每个窗口的“缓冲区”以启用GPU加速混合(针对窗口的透明部分)。因此,在Aero中,由于拖动另一个窗口而不会重新绘制基础窗口。