[alsa-devel] [LAD] FIxed alsa-tools' envy24control missing peak level meters and "Reset Peaks"

Niels Mayer nielsmayer at gmail.com
Fri Jul 16 03:14:54 CEST 2010


On Tue, Jul 13, 2010 at 9:54 PM, Niels Mayer <nielsmayer at gmail.com> wrote:
> As a second patch (coming soon), I've rewritten  the meters in a more
> sensible fashion, drawing a single rectangle to represent the
> instantaneous level (2-3 X-primitive draws per meter total and one
> blit, versus hundreds of draws and a blit per value change per meter
> in the original code).

Patch for https://bugzilla.redhat.com/show_bug.cgi?id=602903
(see also http://old.nabble.com/FIxed-alsa-tools'-envy24control-missing-peak-level-meters-and-"Reset-Peaks"-ts29144830.html
)

(1) http://nielsmayer.com/npm/Screenshot-Efficient-Meters-Envy24Control.png
 * To see what the new meters look like.
(2) http://nielsmayer.com/npm/Efficient-Meters-Envy24Control.tgz
 * Contains levelmeters.c and x86_64 binary 'envy24control' that should at
   least work on Fedora 12 and OpenSuse and other 2.6.32-based distros.
(3) http://nielsmayer.com/npm/Efficient-Meters-Envy24Control.patch
 * To apply the patch, grab the most recent stable release (
   ftp://ftp.alsa-project.org/pub/tools/alsa-tools-1.0.23.tar.bz2 ) or
   git pull from trunk of the "alsa-tools" project.
 * After unpacking and assuming you've got the patch in
   ~/Efficient-Meters-Envy24Control.patch.patch do:
   >> cd alsa-tools-1.0.23
   >> cat ~/Efficient-Meters-Envy24Control.patch | patch -p1
  * It should give message "patching file envy24control/levelmeters.c"
  * Follow the directions to compile alsa-tools.

FYI here's what my "top" processes look like when running a test to
output individual streams to all 10 PCM output channels -- note X
consumes between "1.7%" to "2.0 %" and "envy24control" "0.7%" to
"1.0%":

15210 npm       20   0  643m  14m 8964 S  6.6  0.4   0:05.85 gst123
15184 npm       20   0  643m  14m 8984 S  6.3  0.4   0:13.11 gst123
15190 npm       20   0  643m  14m 8980 S  6.0  0.4   0:12.48 gst123
15172 npm       20   0  643m  14m 8968 S  5.6  0.4   0:15.42 gst123
15178 npm       20   0  643m  14m 8984 S  5.6  0.4   0:14.17 gst123
13684 root      20   0  527m 112m  31m S  2.0  2.8   3:26.11 X
13923 npm       20   0  863m  60m  37m S  1.0  1.5   2:49.08 plasma-desktop
14163 npm       20   0  597m  27m  15m S  1.0  0.7   1:08.29 chrome
14155 npm       20   0 1038m 170m  14m S  0.7  4.3   1:00.87 chrome
15226 npm       20   0  192m 9316 6908 S  0.7  0.2   0:00.51 envy24control

Here's the envy24control from my first patch, using the original
meters that cause many separate XDrawRectangles for each LED-looking
segment. The performance difference is quite noticeable as the fans
start running louder and the system load climbs upwards as soon as the
original envy24control starts running: X consumes 5.7-10% CPU, and
envy24control between 2.0% and 2.7%.

15172 npm       20   0  643m  14m 8968 S  6.1  0.4   0:53.83 gst123
15178 npm       20   0  643m  14m 8984 S  6.1  0.4   0:51.48 gst123
15190 npm       20   0  643m  14m 8980 S  6.1  0.4   0:49.60 gst123
15210 npm       20   0  643m  14m 8964 S  6.1  0.4   0:44.01 gst123
13684 root      20   0  527m 112m  31m S  5.7  2.8   3:42.78 X
15184 npm       20   0  643m  14m 8984 S  5.7  0.4   0:51.07 gst123
15398 npm       20   0  192m 9332 6908 S  2.4  0.2   0:02.32
envy24control.f
14163 npm       20   0  597m  27m  15m S  1.0  0.7   1:15.54 chrome
13923 npm       20   0  863m  60m  37m S  0.6  1.5   2:55.04
plasma-desktop

Just to show that it's the same performance as the original
envy24control from alsa-tools-1.0.22-1.1.fc12.ccrma.x86_64:

15178 npm       20   0  643m  14m 8984 S  6.3  0.4   1:28.72 gst123
15190 npm       20   0  643m  14m 8980 S  6.3  0.4   1:26.65 gst123
15210 npm       20   0  643m  14m 8964 S  6.3  0.4   1:20.59 gst123
15184 npm       20   0  643m  14m 8984 S  6.0  0.4   1:28.21 gst123
13684 root      20   0  527m 112m  31m R  5.6  2.8   4:21.30 X
15172 npm       20   0  643m  14m 8968 S  5.6  0.4   1:31.51 gst123
15455 npm       20   0  192m 8700 6316 S  2.3  0.2   0:01.74
envy24control
14163 npm       20   0  597m  27m  15m S  1.3  0.7   1:23.02 chrome
13923 npm       20   0  863m  60m  37m S  0.7  1.5   3:00.72 plasma-desktop

-- Niels
http://nielsmayer.com


More information about the Alsa-devel mailing list