[pulseaudio-discuss] CPU usage when resampling

Colin Guthrie gmane at colin.guthr.ie
Tue Dec 11 03:43:42 PST 2007


Hi,

I'm trying to help a user who seems to be having a bad experience with
Pulse on a pretty powerful machine.

If people have experience with pulse and resampling, especially with the
'speex-float-3' resampler, please let me know.

I could quote the full information here but it's probably better to just
link to the Mandriva discussion:
http://archives.mandrivalinux.com/cooker/2007-12/msg00352.php

Short synopsis (all info from above link):

- Pulseaudio needs a terrible amount of CPU time: on my Athlon 64 3500,
playing sound through Rhythmbox - Gstreamer (with the Gstreamer
properties now set to output to PUlseaudio), Pulseaudio uses between 6 -
10 % of CPU time.

- When I started restoring some minimized applications, sound began to
stutter, and finally Rhythmbox stopped playing and hung using 100% of
CPU time. I've never seen a similar problem before with Rhythmbox,
although I use it daily. (This was with GStreamer set again to use Alsa,
but I guess that means Alsa output was being intercepted by Pulseaudio,
as it was using CPU time again). Anyway, the sound stuttering also
happened to me yesterday when I was piping output directly to
Pulseaudio.

This is all on x86_64.

I: client.c: Created 0 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=500 gid=500 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 0 changed name from "Native client (UNIX socket
client)" to "Rhythmbox"
I: module-volume-restore.c: Restoring sink for
<pulsecore/protocol-native.c$Rhythmbox>
I: module-volume-restore.c: Restoring volume for
<pulsecore/protocol-native.c$Rhythmbox>
I: module-alsa-sink.c: Trying resume...
I: module-alsa-sink.c: Resumed successfully...
I: module-alsa-sink.c: Starting playback.
D: module-suspend-on-idle.c: Sink
alsa_output.pci_10de_59_alsa_playback_0 becomes idle.
D: module-suspend-on-idle.c: Sink
alsa_output.pci_10de_59_alsa_playback_0 becomes busy.
I: resampler.c: Using resampler 'speex-float-3'
I: resampler.c: Using float32le as working format.
I: resampler.c: Choosing speex quality setting 3.
I: sink-input.c: Created input 0 "Playback Stream" on
alsa_output.pci_10de_59_alsa_playback_0 with sample spec s16le 2ch
44100Hz and channel map front-left,front-right
D: memblockq.c: memblockq requested: maxlength=70560, tlength=35280,
base=4, prebuf=33516, minreq=1764
D: memblockq.c: memblockq sanitized: maxlength=70560, tlength=35280,
base=4, prebuf=33516, minreq=1764


Anyone have similar experience?

Col




More information about the pulseaudio-discuss mailing list