Manipulating other windows interrupts OpenGL draw

Hi all,

This is probably a newb question but I’d really appreciate any help :slight_smile:

I’ve written a small app that I’m using to visualize some experimental data on a Windows box. This app just creates a single, double-buffered pop-up window and a single OpenGL context, does the setup of OpenGL state it needs to, and then goes into a loop wherein it continually draws a frame of OpenGL stuff based on the latest data and calls SwapBuffers() (the data is streamed from another machine over a network connection while the experiment is running). I’m using WGL_EXT_swap_control to vsync and the visualization is very simple (i.e. drawing requires way less time than the refresh period) so the app spends 99.9% of its time waiting for vsyncs after it calls SwapBuffers().

(On a Windows note, the app doesn’t do any drawing in response to Windows messages - I’ve set it up to ignore any Windows messages that aren’t WM_QUIT.)

The problem I’ve noticed is that manipulating other windows can interfere with the drawing in my visualization app, even with the setup above, if I have nothing else running involving OpenGL, and if these window manipulations don’t intersect with the visualization app’s window. Specifically,

i) If I maximize, minimize, or restore another window, the app’s drawing appears to completely stop until the maximize, minimize or restore completes.

ii) If I start dragging another window around, the app’s drawing becomes noticeably choppy while I’m dragging the window.

I normally use a dual-monitor setup and have the visualization app’s window on the second monitor, but I’ve done some experimenting and these behaviors occur no matter whether I run the app on the first monitor in a dual setup or just on a single monitor.

Could anyone offer some insight into what’s going on here?

It’s a Windows feature. Minimise/maximise any app window stops realtime priority threads for ~250 ms.

Thanks yooyo, that’s good to know :slight_smile: Would something like this be true of the window drag as well, or have I probably screwed something up to cause that? I hope to keep expanding this little app, but I’m kind of out of familiar territory.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.