2013-02-28 12 views
10

Ich mache Rendering mit OpenGL. Meine Sachen sind Sandboxed, also verwende ich CreateDesktop(), um Splitterangriffe zu verhindern. Der neue Desktop hat jedoch keine Aero-Komposition, wenn er aus irgendeinem Grund erstellt wurde (obwohl der Standard-Desktop dies tut) und versucht, ihn mit DwmEnableComposition() zu aktivieren. Ich habe keine Ahnung warum oder wie ich dieses Problem lösen kann. DwmEnableComposition() funktioniert auf dem Standarddesktop einwandfrei. Gibt es eine Möglichkeit, vs vsync ohne Komposition zu arbeiten? Ich bekomme es nicht, selbst wenn ich von nvidias Treiber-Kontrollfeld gezwungen werde. Was ist die Lösung hier?Kein vsync ohne Aero-Zusammensetzung; kann nicht Aero auf CreateDesktop() Desktop

Ich benutze Windows 7. In Windows 8 sagen sie, dass man Zusammensetzung nicht deaktivieren kann, also frage ich mich, ob dieses Problem nicht mehr da sein wird.

+3

Soweit ich weiß, ist die DWM-Komposition in Windows 7 auf den Standarddesktop beschränkt und auf anderen Desktops immer deaktiviert. Sie können dies in der UAC-Eingabeaufforderung und im Bildschirm login/ctrl + alt + del sehen, für die keine Aero-Effekte aktiviert sind. Ich bin mir ziemlich sicher, dass sich dies mit Windows 8 geändert hat, sodass alle Desktops jetzt vom DWM gerendert werden. – ollb

+0

@ollb, das ist eine Antwort. – Ben

Antwort

2

Soweit ich weiß, ist die DWM-Komposition in Windows 7 auf den Standarddesktop beschränkt und auf anderen Desktops immer deaktiviert. Sie können dies in der UAC-Eingabeaufforderung und im Bildschirm login/ctrl + alt + del sehen, für die keine Aero-Effekte aktiviert sind. Ich bin mir ziemlich sicher, dass sich dies mit Windows 8 geändert hat, sodass alle Desktops jetzt vom DWM gerendert werden.