Unity8 shell works very ineffeciently with scope models
Bug #1224008 reported by
Michal Hruby
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Qt bindings for libdee |
Fix Released
|
High
|
Michal Hruby | ||
dee |
Fix Released
|
High
|
Michal Hruby |
Bug Description
Since the LimitProxyModel was introduced in the shell, we've been seeing very high CPU and network usage when performing searches on the scopes. This was caused by combination of the Dee model wrappers emitting model change signals on each row change, which triggered a change in the LimitProxyModel, which in turn tried to refresh itself - ie was reading data for about-to-be-removed row trying to display it, and looping for every row when clearing a model.
There should be a proper support for deleting ranges of rows in the Dee model wrapper, which is fully supported by other Qt models and views.
Related branches
lp:~mhr3/dee/add-changesets
- Paweł Stołowski (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 956 lines (+510/-21)15 files modifiedconfigure.ac (+1/-1)
debian/changelog (+6/-0)
debian/libdee-1.0-4.symbols (+2/-0)
src/dee-filter-model.c (+55/-0)
src/dee-model.c (+111/-0)
src/dee-model.h (+12/-4)
src/dee-proxy-model.c (+61/-1)
src/dee-sequence-model.c (+3/-3)
src/dee-serializable-model.c (+52/-0)
src/dee-shared-model.c (+5/-2)
tests/test-client-server.c (+15/-0)
tests/test-filter-model.c (+138/-8)
tests/test-model-interactions.c (+15/-0)
tests/test-resource-manager.c (+30/-2)
vapi/dee-1.0.vapi (+4/-0)
lp:~mhr3/dee-qt/changeset-support
- Paweł Stołowski (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 1133 lines (+894/-37)9 files modifiedCMakeLists.txt (+7/-2)
cmake/COPYING-CMAKE-SCRIPTS (+22/-0)
cmake/Coverage.cmake (+37/-0)
debian/changelog (+6/-0)
deelistmodel.cpp (+174/-25)
tests/CMakeLists.txt (+10/-1)
tests/conversiontest.cpp (+59/-6)
tests/deelistmodeltest.cpp (+5/-3)
tests/signaltest.cpp (+574/-0)
Changed in dee-qt: | |
status: | New → In Progress |
Changed in dee: | |
status: | New → In Progress |
Changed in dee-qt: | |
importance: | Undecided → High |
Changed in dee: | |
importance: | Undecided → High |
Changed in dee-qt: | |
assignee: | nobody → Michal Hruby (mhr3) |
Changed in dee: | |
assignee: | nobody → Michal Hruby (mhr3) |
Changed in dee-qt: | |
status: | Fix Committed → Fix Released |
Changed in dee: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Fix committed into lp:dee at revision 429, scheduled for release in dee, milestone 1.0.16