Merge lp:~mhr3/unity/faster-models into lp:unity
Proposed by
Michal Hruby
Status: | Merged |
---|---|
Approved by: | Michal Hruby |
Approved revision: | no longer in the source branch. |
Merged at revision: | 2688 |
Proposed branch: | lp:~mhr3/unity/faster-models |
Merge into: | lp:unity |
Diff against target: |
334 lines (+67/-35) 10 files modified
UnityCore/Model-inl.h (+21/-6) UnityCore/Model.h (+4/-0) UnityCore/ModelRowAdaptor.cpp (+12/-5) UnityCore/ModelRowAdaptor.h (+7/-5) UnityCore/ResultIterator.cpp (+2/-10) UnityCore/ResultIterator.h (+1/-2) dash/LensView.cpp (+12/-3) dash/LensView.h (+1/-0) dash/ResultView.cpp (+5/-4) dash/ResultView.h (+2/-0) |
To merge this branch: | bzr merge lp:~mhr3/unity/faster-models |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gord Allott (community) | Approve | ||
Tim Penhey | Pending | ||
Review via email: mp+122421@code.launchpad.net |
Commit message
Avoid construction of row wrappers
Description of the change
Stop re-constructing row wrapper instances when dee models change. Instead of complete instance creation, only set 3 pointers. This saves a lot of CPU cycles that were wasted by setting getter functions for nux properties, and improves responsiveness when there are lots of results in the dash.
Note that this change limits how we can manipulate the models - for example removing a row from within the row-removed handler could cause invalidation of the result, but since we're not using the models in such recursive way, it's safe.
To post a comment you must log in.
+1 looks good to me