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

  • From: Ray Gardener <rayg@xxxxxxxxxxxxxxxxxx>
  • To: leveller@xxxxxxxxxxxxx
  • Date: Wed, 14 Oct 2009 17:08:25 -0700

John Gwinner wrote:
That seems reasonable though - what messages aren't being responded to?


Apparently all message types have to be responded to in order to get
Vista to treat an app as responsive (all or nothing philosophy).

I think Microsoft did this because, while an app is technically
responsive by checking for even a small category of messages, they want
the app's window to be moveable, resizable, etc. so that the user
doesn't get ANY impression of non-responsiveness whatsoever. This is in
keeping with the modern idea that no matter what an app is doing, the
GUI should always respond to the user. MS could ask developers nicely,
but I guess too many of them weren't listening, so MS is preferring the
stick over the carrot.

e.g., Apple goes overboard to make sure that their software doesn't
appear stuck no matter what it's doing. They put all rendering on
separate threads, etc. You can scroll a rich display and keep doing so even if the display takes a while to draw -- it just tracks the stale areas and gets around to them whenever it can, showing blank areas or low-res proxies in the meantime. A good example is Google Maps.

This is easy in viewer apps but gets trickier in modelers, because the user could be changing the very data that the renderer is drawing -- if the drawing takes time, and the user changes something, now the drawing is pointless and has to start over (or you'll wind up with a display that has some invalid combination of current and out-of-date regions). A simple fix is to simply disable all modeling functions until drawing completes, and that's under consideration.

I'm always a little leery of threading because it introduces non-deterministic effects into software (i.e., debugging can become hellish if threads are not done right), but I'm a lot comfier with them
than I used to be, so I will be aiming for better responsiveness as time
goes on.

Ray




Other related posts: