我有一个Direct3D窗口隐藏,直到你按下热键。然后它使自己可见并播放动画。问题是,如果我把它隐藏起来,30秒(给予或接受,这有点取决于dwm的心情),然后在前2到5秒(再次,取决于dwm的心情),动画将全部起伏不定。即使窗口仅以大约2 fps更新,应用程序仍会报告60 fps。我在XP上没有这个问题,或者如果我关闭DWM,所以我知道这是导致它的dwm。在2到10秒之后,它会突然停止波动并且播放非常顺畅。
我试图将我的窗口隐藏在屏幕外而不是让它变得不可见,我也尝试优先提升线程。这些技巧都没有任何区别。
似乎dwm将窗口放在某种低优先级队列中。一旦窗口开始更新,你会认为它会将它提升到高优先级,但它只是没有这样做。有没有人知道让dwm更多地关注我的窗户的任何技巧?