diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-04-13 10:42:42 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-04-13 08:30:51 -0700 |
commit | 8b93d67106acaa4f146ee683b837d0b0cf4e31b6 (patch) | |
tree | a0837ecad8e41965ba822d45a433d538d982973b | |
parent | 9feda560061fca3ade0e22101d810df9f7957a5c (diff) | |
download | subsurface-8b93d67106acaa4f146ee683b837d0b0cf4e31b6.tar.gz |
mobile: remove fine-grained notification
When initializing the fulltext-cache and the dive-list, every
100 dives a notification was shown. I had a feeling that this
made startup significantly slower, but that could have been
purely psychological.
Therefore I measured and indeed, removing the fine-grained
notification, it becomes *significantly* faster. For a 3500
dives test log with mobile-on-desktop:
Initialization of the fulltext: 1350 ms -> 730 ms (-46%)
Initialization of the divelistmodel: 689 ms -> 113 ms (-83%)
Let's remove the fine-grained notification. There *is* a visual
indication of work-in-progress anyway.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | core/fulltext.cpp | 9 | ||||
-rw-r--r-- | qt-models/divetripmodel.cpp | 4 |
2 files changed, 3 insertions, 10 deletions
diff --git a/core/fulltext.cpp b/core/fulltext.cpp index 56b7b2dcc..8bd41e7ff 100644 --- a/core/fulltext.cpp +++ b/core/fulltext.cpp @@ -148,14 +148,9 @@ void FullText::populate() uiNotification(QObject::tr("start processing")); int i; dive *d; - for_each_dive(i, d) { - // this makes sure that every once in a while we allow the - // UI to respond to events - if (i % 100 == 99) - uiNotification(QObject::tr("\r%1 dives processed").arg(i + 1)); + for_each_dive(i, d) registerDive(d); - } - uiNotification(QObject::tr("\r%1 dives processed").arg(dive_table.nr)); + uiNotification(QObject::tr("%1 dives processed").arg(dive_table.nr)); } void FullText::registerDive(struct dive *d) diff --git a/qt-models/divetripmodel.cpp b/qt-models/divetripmodel.cpp index 0f381410a..174e5af54 100644 --- a/qt-models/divetripmodel.cpp +++ b/qt-models/divetripmodel.cpp @@ -725,8 +725,6 @@ void DiveTripModelTree::populate() uiNotification(QObject::tr("populate data model")); uiNotification(QObject::tr("start processing")); for (int i = 0; i < dive_table.nr; ++i) { - if (i % 100 == 99) - uiNotification(QObject::tr("\r%1 dives processed").arg(i + 1)); dive *d = get_dive(i); update_cylinder_related_info(d); if (d->hidden_by_filter) @@ -754,7 +752,7 @@ void DiveTripModelTree::populate() // Remember the index of the current dive oldCurrent = current_dive; - uiNotification(QObject::tr("\r%1 dives processed").arg(dive_table.nr)); + uiNotification(QObject::tr("%1 dives processed").arg(dive_table.nr)); } int DiveTripModelTree::rowCount(const QModelIndex &parent) const |