[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] XAAES slow?



fre, 17,.06.2005 kl. 12.35 -0500, skrev Evan Langlois:
> On Fri, 2005-06-17 at 19:20 +0200, Odd Skancke wrote:
> >  Came to think of it .. what have you set your 'redraw_timeout' to? This
> > is a timeout value XaAES uses to allow for clients to service its
> > WM_REDRAWS. If all WM_REDRAWS are not serviced before this timeout, the
> > clients that are being marked as "lagging" will have its WM_REDRAW queue
> > reset and a full set of WM_REDRAWs are sent for each of its windows.
> > Perhaps this is what happens here? Try to enlarge this value (I use a
> > value of 2000 on the Milan, could be enough with 1000 on 060 Hades).
> 
> So, slower applications get MORE redraw events?

 If the timeout is too short and a client is being marked as "lagged",
then yes. This is what happens;

 If a client does not service its WM_REDRAWS before the timeout expire,
XaAES mark it as "lagging". This also happens if a client locks up, or
is very busy.

 XaAES will now start to service new WM_REDRAWS for the lagged client,
which is noticable as the redraw areas are just filled with gray color.
As soon as the client enters any of the evnt_xxx() calls, its lagged
status is cleared, and a full set of WM_REDRAW's for all its windows is
generated.

 This scheme prevents applications from blocking the whole system.

 A similar thing happens when a client calls menu_popup() or form_popup
(). Since these are non-blocking now, XaAES will intercept anddraw gray
rectangles in response to WM_REDRAWS sent to its windows. This is done
so because apps think these calls should block screen.


 Best regards,
Odd Skancke