10

我正在使用 OpenGL 进行渲染。我的东西是沙盒的,所以我使用 CreateDesktop() 来防止粉碎攻击。但是,无论出于何种原因,新桌面在创建时都没有 Aero 合成(尽管默认设置是这样),并且尝试使用 DwmEnableComposition() 启用它会失败。我不知道为什么,或者如何解决这个问题。DwmEnableComposition() 在默认桌面上工作正常。有没有什么方法可以让 vs vsync 在没有合成的情况下工作?即使从 nvidia 的驱动程序控制面板强制执行,我也无法这样做。这里有什么解决方案?

我使用的是 Windows 7。在 Windows 8 中,他们说不能禁用合成,所以我想知道这个问题是否会不再存在。

4

1 回答 1

2

据我所知,DWM 组合仅限于 Windows 7 中的默认桌面,并且在其他桌面上始终禁用。你可以在 UAC 提示和 login/ctrl+alt+del 屏幕上看到这一点,它们没有启用 Aero 效果。我很确定 Windows 8 已经改变了这种情况,因此所有桌面现在都由 DWM 呈现。

于 2013-10-22T08:06:45.723 回答