After long enough uptime, some applications will start to freeze when I try to scroll. X pegs the CPU and becomes almost completely unresponsive (both input and display) until the redraw is finished, which can take 10~20s or up to a minute. (It takes much longer if I used the mousewheel, as the app tries to redraw once for every wheel click.) It doesn't matter if I scrolled only a line with an arrow key or all the way to the end of a document with End. Restarting Compiz or reverting to Metacity seems to fix the problem, which is why I suspect it's involved somehow. If I stick with Compiz, the issue will reappear after some time.
I've noticed this in Firefox, evince, and Inkscape, all of which I believe make heavy use of Cairo. Restarting Firefox will usually fix the problem, but it tends to persist across evince restarts. It can happen in one application without happening in any other at the same time, or it can happen in every susceptible application I'm running.
There doesn't seem to be any sensible pattern to this behavior. I'm not running anything that should be making heavy use of my video card or CPU. Sometimes it happens after a week; sometimes it happens the day of a reboot.
gVim will also occasionally stop redrawing correctly: scrolling with the mouse wheel will draw the newly-visible text as it should appear, but any old text that should now be blank space remains. Restarting gVim fixes it. I'm not sure if this is related.
I'm not sure how to diagnose this, and it's difficult to test a solution to an intermittent problem anyway.
Ubuntu 9.04 (Jaunty), nVidia 8800 GTS with
nvidia-glx-180. Compiz plugins:
- Gnome Compatibility
- ADD Helper
- Enhanced Zoom Desktop
- Opacity, Brightness, and Saturation (just to change window opacity with alt-mwheel from time to time)
- Desktop Wall
- Expo (unused)
- Animations + Add-on
- Fading Windows
- Window Decoration
- Wobbly Windows
- Window Previews
- All the Image Loading plugins
- Crash handler, Dbus, Mouse position polling, Session Management, Workarounds
- Resize Info
- Scale + Addons + Window Title Filter + Regex Matching
- Video Playback
- Application Switcher
- Move Window
- Place Windows
- Resize Window
- Ring Switcher (unused)
- Shelf (unused)
- Snapping Windows
Checking for Xgl: not present. xset q doesn't reveal the location of the log file. Using fallback /var/log/Xorg.0.log Detected PCI ID for VGA: Checking for texture_from_pixmap: present. Checking for non power of two support: present. Checking for Composite extension: present. Checking screen 1Comparing resolution (3360x1050) to maximum 3D texture size (8192): Passed. Checking for Software Rasterizer: Not present. Checking for nVidia: present. Checking for FBConfig: present. Checking for Xgl: not present. compiz 0.8.2
Any brilliant insights?