Compared to old compiz (0.0.13, shipped w/SLED10) the latest from git still
gives me poor performance when doing most animations, including cube rotation
(keyboard or mouse), foldout, alt-tab, etc. Wobbly seems to always be fine,
though. The symptom is that either the animation seems to be partially skipped
(abruptly jumps to next face, for example), or the frames seem to queue up and
are played too slowly (if I rotate cube via mouse the cube moves slowly and
keeps moving to catch up for a couple seconds after I stop dragging the mouse).
I've found a partial fix that seems to mostly correct this for me, but I'm not
really familiar with OpenGL programming and assume there's a more proper
solution. After comparison of old to new and some experimentation, I found it
helps if I add "else glFinish ();" to the end of "finishScreenDrawing" in
screen.c (or comment out the "s->pendingCommands = FALSE" line, which I saw
suggested somewhere else). However, I've heard this fix causes choppiness for
some other users, so it's apparently not always the "right answer." Also, it's
still not quite as smooth as the old compiz, but a major improvement in my case.
With that info, is there an obvious better option, or are there other things I
should try to test? Thanks for your thoughts!
SUSE Linux Enterprise Desktop 10 (x86), AMD Athlon 64/4000+, Nvidia 7300 GS
(8774 driver) with 2 LCD monitors (1600x1200 + 1280x1024), Xgl, Compiz (git)
It might be that have to monitors and some initial code for multi-head support
was recently pushed out. Some plugins need to be updated to have it performance
as well as before and that have not been done yet. Do you think this might be
it? Did the problem first appear yesterday or has it been around for a while?
I was actually hoping the initial multi-head changes would have some positive
effect on it, but the problem has been happening well before that. Also, I'll
test the latest with a single monitor to verify what happens there.
Testing with a single monitor gives pretty smooth performance, so in my case it
appears multiple monitors (or possibly just the larger total desktop) is the factor.
With the update today in screen.c
this issue seems to be resolved for me. I've removed my local patch and
verified that it seems to work. Thanks, David!