← Back to team overview

compiz team mailing list archive

[Bug 193578] Re: Basic graphics operations makes audio skip (>1 sec pauses)


This issue occurs for me on a fully upgraded Jaunty (9.04) whenever I drag a window.  I have effects turned 
completely off and have the window manager configured for "reduced_resources", which shows a dragging 
window as a wireframe.

This on a new Core i7 920 (quad core) with 6GB of RAM, running a 1-tab firefox, a 2-tab gnome-terminal, 
transmission with 3 torrents with a detail window open on one, and rhythmbox playing mp3s, so I'm reasonably
certain there is plenty of memory and cpu cycles to spare.  The mp3 files are on a second hard drive, so 
there should be no IO contention with the OS (and the drive light barely flickers).

I've verified that grabbing (not even moving) ANY of the window title bars will cause the audio to stop within
a couple of seconds - presumably when the buffer runs out.  I do not have to be scrolling or doing anything
remotely cpu intensive to trigger the issue.

I've also verified that the cross-fading backend workaround solves the
issue for me.

Possibly related, the terminal with a running `top` does not update
until after I've let go of the window header.

While I have not looked at the source code, the symptoms are consistent with the audio buffering being done
in the graphical tool kit's main loop, which may get blocked by the presumably system modal operation of
moving a window, or delayed by intensive X operations such as heavy scrolling.  I would expect that one of the
libraries involved then resyncs the audio to the system clock when operations resume, such as might
happen on a slow machine or heavy IO, leading to skipping rather than paused audio.  I would guess that 
the crossfading backend moves those operations to their own thread or process that does not get blocked by
GUI operations.  Just my hypothesis based on the GUI programming I've done in the past.

System information:
$ head -7 /proc/meminfo
MemTotal:        6021412 kB
MemFree:         3152640 kB
Buffers:          837508 kB
Cached:          1178640 kB
SwapCached:            0 kB
Active:           881292 kB

$ lspci -nn | grep -e VGA -e Audio
00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e]
06:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV770 [Radeon HD 4870] [1002:9440]
06:00.1 Audio device [0403]: ATI Technologies Inc HD48x0 audio [1002:aa30]

$ Xorg -version

X.Org X Server 1.6.0
Release Date: 2009-2-25
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-15-server x86_64 Ubuntu
Current Operating System: Linux signum 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009 x86_64
Build Date: 09 April 2009  02:11:54AM
xorg-server 2:1.6.0-0ubuntu14 (buildd@crested.buildd) 

$ pulseaudio --version |& tail -1
pulseaudio 0.9.14

$ rhythmbox --version
GNOME rhythmbox 0.12.0

$ /usr/X11R6/bin/fglrxinfo -v | grep version
OpenGL version string: 2.1.8664
glx server version string: 1.4
glx client version: 1.4

$ top

top - 00:42:38 up  1:56,  3 users,  load average: 0.03, 0.04, 0.06
Tasks: 220 total,   1 running, 219 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.6%us,  0.2%sy,  0.0%ni, 98.8%id,  0.4%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   6021412k total,  2896604k used,  3124808k free,   851248k buffers
Swap: 10610892k total,        0k used, 10610892k free,  1192572k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 4222 corydd    20   0 1084m 316m  32m S    0  5.4  15:35.79 firefox            
 3441 root      20   0  856m 181m  24m S    1  3.1   5:13.91 Xorg               
 8953 corydd    20   0  860m  63m  27m S    2  1.1   0:42.04 rhythmbox          
 4112 corydd    20   0  343m  26m  15m S    0  0.5   0:03.89 gnome-panel        
 6421 corydd    20   0  299m  26m  12m S    1  0.5   0:51.66 transmission       
 4153 corydd    20   0  289m  19m  11m S    0  0.3   0:00.23 mixer_applet2      
 4116 corydd    20   0  415m  18m  13m S    0  0.3   0:00.94 nautilus           
 4123 corydd    20   0  211m  18m 9000 S    0  0.3   0:01.25 python             
 7705 corydd    20   0  196m  18m  10m S    0  0.3   0:03.28 gnome-terminal

Basic graphics operations makes audio skip (>1 sec pauses)
You received this bug notification because you are a member of compiz
packagers, which is subscribed to compiz in ubuntu.