maemo.org Bugzilla – Bug 9243
Telephony uses 100% CPU for video call (using Google Talk)
Last modified: 2010-03-25 14:56:51 UTC
You need to log in before you can comment on or make changes to this bug.
When making a video-call (over wifi, using Google talk), the system is pegged at 100% CPU. It does drop frames, crackles, and can't really cope. top reports: 58.3% user; 38.5% sys; 0.0% idle telepathy uses 45.7% pulseaudio uses 22.8% Xorg uses 11.4% omap2_mscpi uses 5.2% It makes no difference whether I use the speakers, wired headphones, or wireless headphones. Is there any way to squeeze out 10% more performance? - drop either the video framerate or the picture size - get pulseaudio to behave better? - overclock above 600 MHz? It's so nearly there, that we just need a little margin. P.S. Thanks for the latest firmware update (3.2010). Compared to 2.2009.51, which really was unusable due to excessive dropped frames and audio breakups, it's now almost OK.
Hi Richard, thanks for reporting this! Can you please provide exact steps (click by click) to reproduce this?
To reproduce: 1. Start with a new phone, or flash it to 2009.51 firmware, or 3.2010. 2. Get the phone onto local wifi network. Install SSH onto the phone, so as to log in and run top. 3. Obtain 2 googletalk accounts (let's call them G1 and G2). 4. Configure the telephony application for account G1. 5. Set up a laptop running the latest version of Ubuntu (Lucid), add a 3 Mpixel USB webcam, and install the Voip application "Empathy". (this is pretty much the default). Configure this with account G2. 6. From the laptop, call the phone: Right-click, New Video Call. 7. On the phone, answer, and then click the "camera" icon. 8. You will be in the middle of a video call. Call quality stutters, and video frames drop. CPU usage is 100%. Note 1: if I don't activate the camera, it runs a normal audio-call, using about 85% of CPU. Note 2: It doesn't make any obvious difference whether I use the phone's speaker, wired headset, or bluetooth headset (as long as the phone and laptop are in different rooms, so that there is no direct audio feedback). Note 3: If I use the N900 to call the laptop, I am not given the option to use the camera (the camera icon never appears on the phone). Probably some difference in initiation - would be nice if this also worked. Note 4: I'm on fast broadband ADSL (16 Mbit/s download, 2.5 Mbit/s upload) Both the laptop and phone are on the same local lan anyway. I'm not observing network congestion. Thanks for your help; let me know if there is any more info you need.
Just wondering - there is a lot of CPU usage here from pulseaudio. This seems to be expected (because so many other apps have PA using heaps of CPU), but I wonder if there's any way to cut it down. For example, would it help to disable to volume-limiting, echo-cancellation, resampling etc that PA does? If so, how can I debug which plugin is responsible? How do we disable the feature without completely breaking things. Personally, I'd be quite willing to forgo speaker-protection on the device, if I can have 10% of my CPU back. Or can I make everything run at a native 48kHz? (If that means I can't ever play back media files, that's OK).
Video calls are not officially supported in that image. All has been improved on the trunk and the next release should make you so happy!