diff --git a/src/qtgui/meter.cpp b/src/qtgui/meter.cpp index 89357a588..33c5dc788 100644 --- a/src/qtgui/meter.cpp +++ b/src/qtgui/meter.cpp @@ -72,9 +72,14 @@ QSize CMeter::sizeHint() const void CMeter::setLevel(float dbfs) { + const float old = m_dBFS; float alpha = dbfs < m_dBFS ? ALPHA_DECAY : ALPHA_RISE; m_dBFS -= alpha * (m_dBFS - dbfs); - update(); + // only redraw when the label needs to change + if (qRound(m_dBFS * 10) != qRound(old * 10)) + { + update(); + } } void CMeter::setSqlLevel(float dbfs)