diff options
author | Arnaud Vrac <avrac@freebox.fr> | 2015-07-24 15:59:33 +0200 |
---|---|---|
committer | Arnaud Vrac <avrac@freebox.fr> | 2017-05-05 11:16:45 +0000 |
commit | cef5e9d385d0cf78e43e8ea41edf253b78f0ca13 (patch) | |
tree | ff17e42290644e66fa16f51179b2bffa43c112aa /src/quick/items/qquickflickable.cpp | |
parent | 4be38abab97f07b999ca3b2da3c45c5423d83dc0 (diff) |
QQmlListModel: Optimize model updates
Only update changed indices in the list model on insertion, deletion or
move. This can greatly improves performance when inserting or removing
near the end of the list, or when moving elements in a large model.
On a work in progress version of qmlbench's modelperf_listmodel_addremove.qml,
this appears to improve performance quite a bit (~40%):
Before: Average: 363.4 frames; using samples; MedianAll=363; StdDev=5.31977, CoV=0.0146389
After: Average: 518.2 frames; using samples; MedianAll=518; StdDev=20.5475, CoV=0.0396517
Change-Id: I8ce7bea4ab8b1c7c3d0fbccc40b9a12ca3eadf59
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickflickable.cpp')
0 files changed, 0 insertions, 0 deletions