Нет vsync без композиции Aero; не может включить Aero на CreateDesktop(), сделанный рабочий стол

Я работаю с OpenGL. Мои вещи изолированы песочницей, поэтому я использую CreateDesktop(), чтобы предотвратить атаки с использованием разломов. Однако новый рабочий стол не имеет композиции Aero при создании по какой-либо причине (хотя используется по умолчанию) и пытается включить его с помощью DwmEnableComposition(). Я понятия не имею, почему, или как решить эту проблему. DwmEnableComposition() отлично работает на рабочем столе по умолчанию. Есть ли способ получить vs vsync для работы без композиции? Я не могу заставить это сделать, даже если это принудительно из панели управления драйвером nvidia. Какое решение здесь?

Я использую Windows 7. В Windows 8 они говорят, что нельзя отключить композицию, поэтому мне интересно, не будет ли эта проблема больше не присутствовать там.

Ответ 1

Насколько мне известно, состав DWM ограничивается рабочим столом по умолчанию в Windows 7 и всегда отключается на других рабочих столах. Вы можете увидеть это в приглашении UAC и экране login/ctrl + alt + del, которые не имеют активированных эффектов Aero. Я уверен, что это изменилось с Windows 8, так что все рабочие столы теперь отображаются DWM.