On Wed, Dec 30, 2009 at 7:47 AM,
hermann<brummer-(a)web.de> wrote:
We use also level meters in guitarix and jcgui,
what we do to create the
notch scale is, move it to a background box, a simple hbox, witch we
connect with a expose call. This way the values and scale only redraw
when needed. This is the call we use:
ardour's Gtkmm2ext::FastMeter optimizes even more. we compute the
difference between the last drawn instance of the meter and the new
appearance and only draw that the delta. this means that we often get
away with drawing just a single row of pixels.
http://subversion.ardour.org/svn/ardour2/branches/2.0-ongoing/libs/gtkmm2ex…
see the vertical_expose() and horizontal_expose() methods. Note that
we are also using precomputed pixbufs and just blitting them.
Thanks for the advice. It's a very cool approach to use except I'm
working with C. I'm not sure I'm up for porting from c++ to c right now.
I am taking a slightly different approach to the visual aspect as I have
added a glassy bubble overlay and the notches sit on top of the overlay.
The meters are redrawing under the overlay to give the effect of being
inside a glassy tube.
So basically I have to redraw the whole thing each time unless I change
the code to use the above method.
The meters by themselves don't add any noticeable load.
Do you think this memory leak can be fixed without having to completely
redo the class to use precomputed bixbufs while porting from c++ to c?
Patrick Shirkey
Boost Hardware Ltd