[compiz] Wobbly jerkyness

Shawn Starr shawn.starr at rogers.com
Wed May 2 19:02:15 PDT 2007


Hello

On May 2, 2007 02:50:30 pm David Reveman wrote:
> On Sun, 2007-04-29 at 17:54 +0800, Sam Spilsbury wrote:
> > About a month ago, David made a commit to wobbly to the spring engine
> > which has introduced some bugs. They are hard to explain so bear with
> > me.
> >
> > In a sense, the wobbly plugin does not seem as smooth as it used to be
> > and the windows jerk all over the place. For example, I sometimes
> > notice that when I move a large window (around 2/3 of the size of the
> > desktop window), If I moved it down, the top of the window would jerk
> > up then come down quickly. If you want me to explain further then let
> > me know
>
> I didn't change anything in the wobbly plugin, I changed how the move
> plugin works.
>
> Eventually, I'll make it possible to not have the move plugin update the
> window attributes in real-time and I can guarantee that performance will
> be at least as good as before I did these changes to the move plugin.
> However, before I can make this possible we need to improve the way
> window animations are performed. What the move plugin was doing before
> was wrong and I'm not going to change back to that.
>

Would this also resolve the problems the Xserver has wrt evicting pixmaps and 
EXA/XAA? For r300 users, we have to add in a ugly hack
specifically:

xorg-x11-server-1.1.1-offscreen-pixmaps.patch

Afaik, There's no solution proposed (?) yet.

I originally look at this and hit a problem:

    /* Check if XAA is loaded */
    if (xf86LoaderCheckSymbol("XAAEvictPixmaps")) {

        XAAInfoRecPtr infoRec;
        infoRec = GET_XAAINFORECPTR_FROM_SCREEN(glxPixmap->pDraw->pScreen);
        if (InfoRec) {

                /* When the GLX_EXT_texture_from_pixmap is used, as it's
                 * implemented here, we want to pull pixmap out of video 
memory
                 * and into host memory. */

                static int evictedPixmaps;

                if (!evictedPixmaps) {
                        XAAEvictPixmaps();
                        evictedPixmaps = TRUE;
                }
        }
     }

This snip of code above, wasn't the right solution to be doing inside the glx, 
The goal was to see if a specific screen has EXA or XAA (im told you can have 
different accelerations for each screen). 

I have to keep using the above mentioned patch in order to have a usable 
compiz otherwise, resizing windows and other functions make compiz totally 
unusable for radeon users (with XAA).   

I note, this is using AIGLX, so I don't know the behavour of this with Xgl.

Thanks, 
Shawn.


>
> - David
>


More information about the compiz mailing list