[PATCH 0/2] don't call animated cursor when the cursor is invisbile

Tiago Vignatti tiago.vignatti at nokia.com
Tue Aug 25 07:03:14 PDT 2009


User interfaces of touchscreen capable devices mostly don't have cursor and
the X server draws an invisible cursor for this kind of purposes. Even with
the cursor being invisible, animated cursor functions are invoked without any
apparently reason.

This patches fix such behaviour improving the overall performance of the
server. For instance, a single xterm being connected calls 61 times (!)
AnimCursor related functions. Mostly of this calls is performed by
AnimCurScreenBlockHandler, which sometimes takes > 2 miliseconds to be
completed (starting on AnimCurScreenBlockHandler -> NVBlockHandler ->
miSpriteBlockHandler)

Of course that applications must explicit call XFixesHideCursor() to feel the
effects.

 
Tiago Vignatti (2):
  render/input: set anicursor hooks to control rendering
  xfixes/input: use animated cursor hook to disable rendering of hidden
    cursors

 render/animcur.c    |   43 +++++++++++++++++++++++++++++++++++++++++++
 render/picturestr.h |    6 ++++++
 xfixes/cursor.c     |   15 ++++++++++++++-
 3 files changed, 63 insertions(+), 1 deletions(-)



More information about the xorg-devel mailing list