我有一个创建 1 个或多个窗口的应用程序。这些窗口是 Direct3D 上下文,我在其中进行渲染。
当 Windows 为桌面(Aero)打开硬件加速时,一切都很好。我可以毫无问题地移动窗口。
如果我将 Windows 主题切换到 Windows Basic,那将是一场灾难。窗口渲染正确,但如果我拖动窗口,它会在其后面留下图像的痕迹。想想在纸牌中获胜。
任何可能导致这种情况的想法。否则很好,但它似乎只是在移动时绘制了所有内容。
DirectX 渲染器非常简单。清除,选择纹理,选择顶点缓冲区,选择索引缓冲区,绘制。
更新
每个窗口的窗口层次结构如下:
父窗口WS_EX_LAYERED
和WS_POPUP
. GDI+ 在窗口周围绘制一个框架。子窗口WS_EX_TOOLCHAIN
和WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN
. DirectX 吸引孩子。