[vtk-developers] window going blank...
Lisa Avila
lisa.avila at kitware.com
Fri Sep 26 17:15:54 EDT 2008
One other clue that this is Windows related - the top bar of the window
does change to "Not Responding..." when this blanking occurs.
So my best guess is that something causes a message to go to the process
(some random thing popping up, getting focus, or changing on the screen)
and if the process does not respond in a set amount of time then Windows
stops bothering to display the contents of that process' windows. Any
Windows experts out there know what it is we have to respond to? We can
throw in a timer event and check the queue every so often (assuming we
have some ability to view the queue and not just blindly process it),
but we can't really process messages off this cue (other than
WM_ERASEBKGRND because we don't actually do anything but return TRUE on
that one). I don't know if we can selectively pull messages off the cue
or if we have to process all of them. I suppose we can go into a "don't
really process mode" and save the queue of events into our own queue to
process later...
Still looking for ideas.... :-)
Lisa
Lisa Avila wrote:
>
> I have a nice brand new desktop with 64 bit Vista. An issue that has
> been a minor problem for years is now more of a major problem. Here is
> the basic concept:
>
> set up a pipeline to view the first image in an animation series
>
> while ( !done )
> {
> change the reader input to the next image
> renWin->Render();
> }
>
> Previously on my 32bit XP system this worked for a while (where "a
> while" was something on the order of a minute). After that the window
> would just go to white or black, and would return only after the
> animation was done. Now on my 64 bit Vista machine, "a while" has
> become much shorter (sometimes just a second or two). In either case,
> if you cause another window to be active, or anything else pops up on
> the screen (like those little alert bubbles that pop up from the
> bottom bar) then you immediately lose the image. Perhaps the
> difference is that more of that is now happening in Vista and that is
> why I often only get a second or two of rendering before losing the
> image (although occasionally I will get 10 seconds or more...)
>
> Is there a way to fix this? It should be valid to render in a loop and
> expect to see the results indefinitely, right? Or is that just not
> possible any more from raw C++ on Windows?
>
> Sebastien sent me a link to
> http://www.opengl.org/pipeline/article/vol003_7/ which has some of the
> pitfalls that might cause this - but I can't see anything we are doing
> in my simple example that would case this (there is no intermixed GDI
> which I think we only use for some instances of off screen rendering,
> we do return TRUE for WM_ERASEBKGRND, etc.)
>
> Any ideas?
>
> Lisa
>
>
More information about the vtk-developers
mailing list