[alsa-devel] pulseaudio eats 19% CPU power in Fedora 12
shuang.he at intel.com
Mon Apr 19 07:20:31 CEST 2010
On 2010-4-19 11:28, Lennart Poettering wrote:
> On Wed, 14.04.10 15:56, Wu Fengguang (fengguang.wu at intel.com) wrote:
>> Hi Lennart,
>> We found that pulseaudio eats CPU ~19% CPU time, a little more than
>> mplayer when playing video. This is horrible for laptop batteries.
> This is not a particularly useful report.
> You know, this can have so many different reasons, the only thing I can
> really say, is that you can rest assured that it is not supposed to eat
> that much in normal use.
> The CPU usage of PA is primarily dependant of the latency requested by
> the clients. Low latency means high CPU load. Lower latency means higher
> CPU load. Try "pacmd list-sink-inputs" to figure out the latency the
> various applications requested.
This is the output from "pacmd list-sink-inputs", when I'm playing the video
Welcome to PulseAudio! Use "help" for usage information.
>>> 1 sink input(s) available.
sink: 0 <alsa_output.pci-0000_00_1b.0.analog-surround-71>
volume: 0: 100% 1: 100%
0: 0.00 dB 1: 0.00 dB
current latency: 444.25 ms
requested latency: 31.25 ms
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
resample method: speex-float-3
client: 7 <ALSA plug-in [mplayer_2010_0414]>
media.name = "ALSA Playback"
application.name = "ALSA plug-in [mplayer_2010_0414]"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "16"
application.process.id = "2901"
application.process.user = "root"
application.process.host = "x-shuang"
application.process.binary = "mplayer_2010_0414"
application.language = "C"
window.x11.display = ":0.0"
> Then there can be driver problems, where the timing information is not
> entirely correct that ALSA passes on to, with the result that we get
> dropouts where we shouldn't, with the results that we shorten our sleep
> times, with the final effect that the CPU usage goes up.
> Of course, if PA is used resampling and suchlike is moved from the
> clients into the sound server and hence will be added to its CPU
> usage. And PA uses a better resampler by default than ALSA traditionally
> did, hence the CPU use will be a bit higher than plain ALSA.
> And then of course, the CPU usage depends on the CPU used. Is this some
> embedded hardware?
> In summary: if you want to know what is going on, you need a suitable
> tool, like a profiler and do the dirty work to figure out what is going
> on. Just saying "19%" is not helpful to figure out what is going on.
> On my machine here it uses 3% CPU while playing.
>> Can we make it just work -- in green CPU mode?
> Yes, sure. If you use "pacat" you can play audio with almost zero CPU
> usage, because it is one of the few clients that actually asks for
> sensible latency (2s), which allows us to minimize the wakeup intervals
> to less than a second.
>> I can find many users
>> complaining about this, and it seems like some fix is available in
>> this link:
> Fix? Where?
More information about the Alsa-devel