[Performance] reduce number of status message updates

This commit is contained in:
Klaus Basan
2019-11-10 01:52:48 +01:00
committed by Mat Sutcliffe
parent 9d53696417
commit 42eaeac1b9
2 changed files with 3 additions and 5 deletions

View File

@@ -99,11 +99,9 @@ namespace BlackGui
void CStatusMessagesDetail::deferredUpdate()
{
if (m_pending.isEmpty()) { return; }
const CStatusMessageList add(m_pending);
m_pending.clear();
CStatusMessageList newMsgs(ui->tvp_StatusMessages->container());
newMsgs.push_front(add); // default in many cases, latest first
newMsgs.push_front(m_pending); // default in many cases, latest first
m_pending.clear();
// cleanup outdated: do not remove every time, but when a threshold is reached
if (m_maxLogMessages < 0)

View File

@@ -82,7 +82,7 @@ namespace BlackGui
QScopedPointer<Ui::CStatusMessagesDetail> ui;
int m_maxLogMessages = -1;
BlackMisc::CStatusMessageList m_pending; //!< pending messages which will be added with next CStatusMessagesDetail::deferredUpdate
BlackMisc::CDigestSignal m_dsDeferredUpdate { this, &CStatusMessagesDetail::deferredUpdate, 2000, 10 };
BlackMisc::CDigestSignal m_dsDeferredUpdate { this, &CStatusMessagesDetail::deferredUpdate, 2000, 25 };
//! Do not update each message, but deferred
void deferredUpdate();