Home
last modified time | relevance | path

Searched hist:"39 f49f7033ae998cdd4afd1f05d2679bce0b2ab0" (Results 1 – 3 of 3) sorted by relevance

/haiku/src/apps/haikudepot/model/
H A DModel.h39f49f7033ae998cdd4afd1f05d2679bce0b2ab0 Tue Dec 26 17:22:11 UTC 2017 Julian Harnath <julian.harnath@rwth-aachen.de> HaikuDepot: speed up package change handling

* During package population, when the repository is being
refreshed, thousands of package change messages arrive
in MainWindow while the PackageInfo fields are filled with
data.

Every such message caused a full generation of a package
list (including applying filters to all known packages),
which is quite slow, and caused the freezing from bug
#13823. The list was only used temporarily to figure out
if the package should be visible now or not.

* Instead of generating a new package list, we now only
match the single updated PackageInfo against the current
filters.

* Fixes #13823

* To reduce CPU usage even more, it would be better to not
generate at all, or not subscribe to, package changes while the
list is being initially populated, and/or to coalesce all the
changes to each package info into one update message (instead
of one for title, one for prominence, etc).
Deferring subscription requires some additional thought on when
to subscribe then, and how to avoid leaving a "hole" where
changes would go unnoticed.
H A DModel.cpp39f49f7033ae998cdd4afd1f05d2679bce0b2ab0 Tue Dec 26 17:22:11 UTC 2017 Julian Harnath <julian.harnath@rwth-aachen.de> HaikuDepot: speed up package change handling

* During package population, when the repository is being
refreshed, thousands of package change messages arrive
in MainWindow while the PackageInfo fields are filled with
data.

Every such message caused a full generation of a package
list (including applying filters to all known packages),
which is quite slow, and caused the freezing from bug
#13823. The list was only used temporarily to figure out
if the package should be visible now or not.

* Instead of generating a new package list, we now only
match the single updated PackageInfo against the current
filters.

* Fixes #13823

* To reduce CPU usage even more, it would be better to not
generate at all, or not subscribe to, package changes while the
list is being initially populated, and/or to coalesce all the
changes to each package info into one update message (instead
of one for title, one for prominence, etc).
Deferring subscription requires some additional thought on when
to subscribe then, and how to avoid leaving a "hole" where
changes would go unnoticed.
/haiku/src/apps/haikudepot/ui/
H A DMainWindow.cpp39f49f7033ae998cdd4afd1f05d2679bce0b2ab0 Tue Dec 26 17:22:11 UTC 2017 Julian Harnath <julian.harnath@rwth-aachen.de> HaikuDepot: speed up package change handling

* During package population, when the repository is being
refreshed, thousands of package change messages arrive
in MainWindow while the PackageInfo fields are filled with
data.

Every such message caused a full generation of a package
list (including applying filters to all known packages),
which is quite slow, and caused the freezing from bug
#13823. The list was only used temporarily to figure out
if the package should be visible now or not.

* Instead of generating a new package list, we now only
match the single updated PackageInfo against the current
filters.

* Fixes #13823

* To reduce CPU usage even more, it would be better to not
generate at all, or not subscribe to, package changes while the
list is being initially populated, and/or to coalesce all the
changes to each package info into one update message (instead
of one for title, one for prominence, etc).
Deferring subscription requires some additional thought on when
to subscribe then, and how to avoid leaving a "hole" where
changes would go unnoticed.