How to optimize Pipelight for slow cpu's?

Asked by Jesse Hogan

I have an Asus EEE PC with Ubuntu 12.04 running Pipelight.

The CPU can't quite keep up with all the Silverlight and wineserver processes; the video and sound are slow and choppy.

Is there a way to optimize this? I've tried in FF and Chromium. Perhaps my installation is bad.

Here are some of the machines stats:

zhogan@crusty:~$ egrep '^cpu (family|MHz)' /proc/cpuinfo >/tmp/t
cpu family : 6
cpu MHz : 1667.000
cpu family : 6
cpu MHz : 1000.000

Here is what the top part of `top` looks like while a video is being played:

pu(s): 60.4%us, 32.5%sy, 0.0%ni, 1.2%id, 0.0%wa, 0.0%hi, 5.9%si, 0.0%st
Mem: 1016832k total, 937408k used, 79424k free, 10140k buffers
Swap: 1037308k total, 21752k used, 1015556k free, 291464k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5938 zhogan 20 0 1723m 162m 17m R 100 16.4 1:09.18 pluginloader.ex
4099 zhogan 20 0 796m 290m 36m R 36 29.3 2:49.64 firefox
5941 zhogan 20 0 7552 3924 780 S 25 0.4 0:12.45 wineserver
4240 zhogan 20 0 375m 84m 23m R 15 8.5 31:07.59 plugin-containe
5917 zhogan 20 0 109m 15m 10m S 11 1.6 0:04.98 plugin-containe
2725 zhogan 9 -11 225m 4464 3576 S 6 0.4 1:34.40 pulseaudio

Question information

Language:
English Edit question
Status:
Answered
For:
Pipelight Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jesse Hogan (jessehogan0) said :
#1

The cpuinfo line actually read

egrep '^cpu (family|MHz)' /proc/cpuinfo

obviously

Revision history for this message
Sebastian Lackner (slackner) said :
#2

Hi,

I would recommend to check especially the following things:

* Is the GPU good enough to support GPU acceleration? You should first check what the default configuration for your GPU is. Just run your browser from a terminal, and you should see a message, if GPU acceleration was enabled, when you visit any Silverlight page.

To force GPU acceleration just run your browser from a terminal with:
PIPELIGHT_GPUACCELERATION=1 firefox
(or any other browser), and again verify on the terminal output, that it was really enabled.

Based on the result (for example if it doesn't work anymore), it could mean that the graphic card is not good enough or that the installed drivers are just too old. If you get it working with GPU acceleration enabled, this should already result in a big performance improvement.

* Are you using pulseaudio or alsa? At first it might sound unrelated, but as Silverlight synchronizes both the audio and video speed, both have a very big impact on each other. If you have multiple ALSA subdevices or its sufficient that you have only one audio output at a specific time you can theoretically disable pulseaudio (you can read more about this here: http://fds-team.de/cms/articles/2013-05/activating-sound-hardware-mixing-on-ubuntu.html ). Wine also has some settings related to that, you can take a look at the following FAQ how to force the ALSA sound backend in wine: https://answers.launchpad.net/pipelight/+faq/2444

* Does the streaming page you want to use allow to select the quality and/or bandwidth? Please note that the video decoding is done completely on the CPU, also when GPU accelerated rendering is used. As a workaround just selecting a lower quality level could probably work, such that the CPU is still capable of decoding the video frames in realtime.

* We also did some performance improvements for the next pipelight version, which will be released soon. On the hardware I used for testing the effect isn't that big, but probably it helps a bit more in your case. The easiest way is just to wait for the next release, except you're a bit experienced with compiling software and want to try it out immediately.

Please report back if some of the ideas above help a bit - but if this is not the case, there is unfortunately not that much left we can do to help you :/ Pipelight just runs the original version of Silverlight in an unmodified form, and we have no influence on how efficient their algorithms are. Pipelight itself is basically just responsible for redirecting calls, and after the next release there isn't that much left to speed up.

Sebastian

Can you help with this problem?

Provide an answer of your own, or ask Jesse Hogan for more information if necessary.

To post a message you must log in.