On Sun Apr 14 14:17:35 EDT 2013, cinap_len...@gmx.de wrote:
> the way the mouse cursor is drawn currently is quite complicated.
> the cursor is redrawn from a timer interrupt 30 times a second
> and the software cursor also installs its own timer interrupt
> handler to redraw itself when it got overdrawm (swcursoravoid).
> 
> when a programs use draw operations heavily, the chances become high
> that when the software cursor interrupt handler finds the drawlock
> busy, so it has to retry to draw on the next tick. (thats why
> cursoron() has a return value... to indicate the retry).
> 
> this causes ugly flickering and it keeps the machine busy for
> no reason.

hey, this is an interesting approach.  it seems much cleaner.

but i'm not seeing as much flicker reduction as i was expecting,
and text scrolling speed is not (as expected) improved.

part of this may be that i've set HZ=1000, but it also seems to
me that a coalescing scheme might be in order.  even with HZ=100,
one could have a minimum of 100 cursor redraws/sec, which seems
excessive.

any ideas on this?

- erik

Reply via email to