[PATCH] configure: set X render animated cursors optional

Vignatti Tiago (Nokia-D/Helsinki) tiago.vignatti at nokia.com
Tue Sep 1 03:04:30 PDT 2009


Hi,

On Tue, Sep 01, 2009 at 05:50:36AM +0200, ext Peter Hutterer wrote:
> 
> IMO, this is the wrong approach and I was a bit surprised to see this
> after our latest IRC discussion.
> There are two parts to animated cursors that affect you.
> 1. The rendering of a cursor takes time and effort.
> 2. Animated cursors schedule wakeups for the server every so-often.
> 
> Even if you disable 1, you still get the wakeups and the many calls to the
> block handler. Once you stop those you should be done.
> Now, last time you needed to disable the block handler when the cursor is
> invisible. we found a way how to do that. has the problem scope changed
> since?

It turns out that "pScreen == animCurState[dev->id].pScreen" (line 175)
already does the trick that we need to skip the loop and not schedule a
wakeup. My bad not seen this before :( 

Makes sense for you?


> > My only doubt is regarding the return type on ProcRenderCreateAnimCursor when
> > the server does not support animated cursor. I put as BadImplementation.
> 
> Doing so means that the server intentionally has an incomplete/wrong
> implementation of render. Not sure if that's a good idea.

This seems not to be a big deal. We already have something like this on the
server. See for instance ProcXFixesCreateRegionFromPicture().


> This seems to be niche feature and I wonder if it wouldn't be better to
> adjust the environment accordingly (i.e. no animated cursor themes).
  
But my concern is another one now - we can save 16KB just removing this
animated cursor code. Yeah, I've been non-verbose about this and you thought
we're treating another issue. Sorry.


Thank you,

            Tiago


More information about the xorg-devel mailing list