diff options
author | Ashod Nakashian <ashodnakashian@yahoo.com> | 2015-02-21 19:07:37 -0500 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-02-26 16:57:28 +0100 |
commit | 2304bce084a87cdf2e0711f8408b53036f1d5d37 (patch) | |
tree | 6a384b3cbf06801c6af8ea9d6f2e65e46ae7ecc5 /sw | |
parent | d97c984dc016e14a9f16a3ae0b865e3f2b78fbc8 (diff) |
tdf#38837 Reduce power consumption by minimizing idle timers
Based on profiling, Writer's most CPU consuming idle event was
document statistics calculation.
This patch stops the idle timer once statistics has been updated.
Subsequent profiling shows a sharp decline in CPU usage.
Modifications to the document should initiate statistics update.
Change-Id: I8c38ad8847987264549945e4f482ea18d2635283
Reviewed-on: https://gerrit.libreoffice.org/14575
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
(cherry picked from commit c57213764b387dddad946e78145cea607ca9f460)
Signed-off-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/doc/DocumentStatisticsManager.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sw/source/core/doc/DocumentStatisticsManager.cxx b/sw/source/core/doc/DocumentStatisticsManager.cxx index 5017630bb65b..843c988d4e71 100644 --- a/sw/source/core/doc/DocumentStatisticsManager.cxx +++ b/sw/source/core/doc/DocumentStatisticsManager.cxx @@ -123,6 +123,8 @@ void DocumentStatisticsManager::UpdateDocStat( bool bCompleteAsync, bool bFields } else if (IncrementalDocStatCalculate(5000, bFields)) maStatsUpdateTimer.Start(); + else + maStatsUpdateTimer.Stop(); } } @@ -223,7 +225,7 @@ bool DocumentStatisticsManager::IncrementalDocStatCalculate(long nChars, bool bF pType->UpdateFlds(); } - return nChars <= 0; + return nChars < 0; } IMPL_LINK( DocumentStatisticsManager, DoIdleStatsUpdate, Timer *, pTimer ) |