From 42eaeac1b9c5c3750ed1c606cdf8383cf6280f9e Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 10 Nov 2019 01:52:48 +0100 Subject: [PATCH] [Performance] reduce number of status message updates --- src/blackgui/components/statusmessagesdetail.cpp | 6 ++---- src/blackgui/components/statusmessagesdetail.h | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/blackgui/components/statusmessagesdetail.cpp b/src/blackgui/components/statusmessagesdetail.cpp index bd7fc4797..38eda50c3 100644 --- a/src/blackgui/components/statusmessagesdetail.cpp +++ b/src/blackgui/components/statusmessagesdetail.cpp @@ -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) diff --git a/src/blackgui/components/statusmessagesdetail.h b/src/blackgui/components/statusmessagesdetail.h index a6259d774..2596c0f9b 100644 --- a/src/blackgui/components/statusmessagesdetail.h +++ b/src/blackgui/components/statusmessagesdetail.h @@ -82,7 +82,7 @@ namespace BlackGui QScopedPointer 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();