alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Niels Mayer <nielsmayer@gmail.com>
To: linux-audio-dev@lists.linuxaudio.org,
	alsa-devel@alsa-project.org,
	PlanetCCRMA mailinglist <planetccrma@ccrma.stanford.edu>,
	fedora-music-list <fedora-music-list@redhat.com>
Subject: Re: [LAD] FIxed alsa-tools' envy24control missing peak level meters and "Reset Peaks"
Date: Thu, 15 Jul 2010 18:14:54 -0700	[thread overview]
Message-ID: <AANLkTinfy3UmB5LAuXs4lrqBms4KojP3nfLo9wJv1zwh@mail.gmail.com> (raw)
In-Reply-To: <AANLkTil3bV075Ef5-e-UGMDj-3Mmee2fJtUjf3h5U88Y@mail.gmail.com>

On Tue, Jul 13, 2010 at 9:54 PM, Niels Mayer <nielsmayer@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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  parent reply	other threads:[~2010-07-16  1:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-12 22:41 FIxed alsa-tools' envy24control missing peak level meters and "Reset Peaks" Niels Mayer
2010-07-13  9:47 ` Alan Horstmann
2010-07-13 12:25   ` Raymond Yau
     [not found] ` <20100712234002.GF4069@zita2>
     [not found]   ` <AANLkTim7LFEk8VzJgJmlLvgJPJcAfT0uhfRE6nRBbLFH@mail.gmail.com>
     [not found]     ` <20100713081908.GA4083@zita2>
2010-07-14  4:54       ` [LAD] " Niels Mayer
     [not found]         ` <AANLkTil3bV075Ef5-e-UGMDj-3Mmee2fJtUjf3h5U88Y-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-14 13:45           ` fons-5YXofNvN5bf4jJi9/k9gcg
2010-07-16  1:14         ` Niels Mayer [this message]
2010-07-16 12:27           ` Geoff King
     [not found]             ` <AANLkTimMF4huRE-QcgRsjWn4-S_Y24xDBev6CFA6ZCCH-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-16 22:57               ` [LAD] [PlanetCCRMA] " Niels Mayer
     [not found] ` <201007131846.36677.termtech@rogers.com>
2010-07-16  7:13   ` [LAD] " Niels Mayer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTinfy3UmB5LAuXs4lrqBms4KojP3nfLo9wJv1zwh@mail.gmail.com \
    --to=nielsmayer@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=fedora-music-list@redhat.com \
    --cc=linux-audio-dev@lists.linuxaudio.org \
    --cc=planetccrma@ccrma.stanford.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).