On Tue, 09 Feb 2010 14:18:32 GMT, Rik Griffin wrote:

> In message <[email protected]> I wrote:
> 
> > 
> > gui_multitask was called during a fetch, Wimp_Poll always returned
> > immediately with a Wimp redraw window event, hence never yielding to
> > other applications.
> 
> It occurs to me that this hack imposes a global redraw interval on the
> status bar, and it could be argued that this should be handled on a
> per-window basis. I assume this would involve storing the timestamp of the
> last redraw in the "struct status_bar" that is passed to the redraw
> function.
> 
> Alternatively you could say it should be global, as the Wimp is a global
> resource, and you don't want to stop multitasking if the user opens a lot
> of windows.

I'd argue that any slowing down of updates might be a core thing -
there probably isn't a need for the status bar to update every 10ms if
nothing is happening (every half or whole second should be
sufficient)

Note also that NetSurf sometimes signals the core to update the status
message even if it hasn't changed.  You can get rid of a lot of
unnecessary updates just by comparing the new string to the one
currently being displayed.  Maybe this is enough to resolve the issue?

Chris

Reply via email to