Bug 514739 - PulseAudio CPU Load Unacceptable
Summary: PulseAudio CPU Load Unacceptable
Keywords:
Status: CLOSED DUPLICATE of bug 508470
Alias: None
Product: Fedora
Classification: Fedora
Component: pulseaudio
Version: 11
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 528018 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-30 15:17 UTC by ConlinDoctrine
Modified: 2009-10-14 22:13 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-10-14 22:13:39 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description ConlinDoctrine 2009-07-30 15:17:29 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible: 100%


Steps to Reproduce:
1. Have standard FC11 PulseAudio audio setup
2. Run any application that has audio output (RhythmBox, Amarok, Banshee, Browser, etc.)
3. Use top, etc. and watch the cpu utilization of the pulseaudio process
  
Actual results:
On my system, pulseaudio will consistently use ~10% cpu while any audio output is playing.  Under FC10 I noticed this as well, but with FC10's audio configuration utilities, I was able to very simply change from using PulseAudio to using audio hardware only with either OSS or ALSA.  This would allow me to play audio with no cpu utilization other than that from the audio application.

With such a significant difference in cpu utilization (none vs. some)--and even if PulseAudio is the architecture of choice for FC11--FC11 should continue to provide a mechanism whereby PulseAudio can *easily* and *effectively* be deselected.

I do very much like to keep up with the latest releases, but I don't want to dedicate any extra cpu cycles to playing audio if I don't have to.

Expected results:


Additional info:

Comment 1 Zdenek Kabelac 2009-08-04 12:45:57 UTC
Yes - I'm seeing same thing - quite run from Oprofile reveals that time is mostly spend in libspeexdsp.so.1.5.0  default mixing in the /etc/pulse/daemon.conf seems to be 'speex-float-3'

I've noticed I could somehow lower the CPU usage by a few % by using 'trivial' method (from those listed by  pulseaudio --dump-resample-methods)

Though it's still unacceptable - and definitely not in pair with author's claim:

"CPUs these days come with extensions such as MMX or SSE precisely for speeding up DSP tasks such as PCM mixing. This is way more flexible that hw mixing"

Here is short cut from Oprofile:

CPU: Core 2, speed 1200 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
vma      samples  %        linenr info                 image name               app name                 symbol name
 00009e90 6774     44.4722  resample.c:429              libspeexdsp.so.1.5.0     pulseaudio               resampler_basic_interpolate_single
  00009fba 2353     34.7358  resample_sse.h:62
  00009fd5 700      10.3336  resample_sse.h:62
  000092ae 60       10.8696  resample.c:324
  00009200 552       3.6239  resample.c:320              libspeexdsp.so.1.5.0     pulseaudio               cubic_coef


As a quick hack solution - one could edit /etc/asound.conf file and comment out reference to pulseaudio - thus using alsa directly and greatly saving CPU...
of course these means loosing some pulseaudio mixing feature.....

Comment 2 Lennart Poettering 2009-10-14 21:41:13 UTC
*** Bug 528018 has been marked as a duplicate of this bug. ***

Comment 3 Lennart Poettering 2009-10-14 22:13:39 UTC

*** This bug has been marked as a duplicate of bug 508470 ***


Note You need to log in before you can comment on or make changes to this bug.