[leveller] Re: Vista 'not responding' non-issue

  • From: Ray Gardener <rayg@xxxxxxxxxxxxxxxxxx>
  • To: leveller@xxxxxxxxxxxxx
  • Date: Wed, 14 Oct 2009 15:20:50 -0700

A fix for Vista's misinterpretation of Leveller being non-responsive appears to work, so it will be available in subsequent Leveller 3.1 builds.


What was happening is that Vista "ghosts" an app's window if the app is not consuming enough messages from its event message queue. The app window is copied to a buffer that Vista manages, making the window moveable, but also prone to being misdrawn (there seems to be some display copy problem if the app uses OpenGL, at least under Aero).

The behavior was supposed to occur on Windows XP as well, but I never saw it happen there.

Ray



Ray Gardener wrote:
I've noticed that Vista (on my laptop anyway) misinterprets applications (such as Leveller) that undertake long processes so that the "Not Responding" phrase appears in Leveller's title bar and the app window seems frozen. It doesn't seem to matter that the processes are interruptible and regularly update the display (including responding to paint events).

This happens sometimes when raytracing. The first render may go perfectly fine, but eventually some subsequent render will appear to freeze even though Leveller is still processing normally. Pressing Esc won't stop it but waiting for it to finish will work. The display may also show artifacts or pieces of previous displayed information.

I suspect Vista is overly aggressive about long processes that ignore the main event loop and starts seeing them as non-responsive. But putting all long processes on background threads is not something that can be implemented quickly. In the meantime, however, simply waiting for the process to end will work.

A search on Google shows numerous other "not responding" issues for Vista, but I'm not sure if there is a relationship to the problem I'm describing here.

Ray





Other related posts: