[Marble-bugs] [Bug 305195] panning is slow during tracking (regression of commit bf31bccb53eb34f6b9d40749edcdcf358c4bde1b)
Bernhard Beschow
bbeschow at cs.tu-berlin.de
Fri Aug 17 11:03:47 UTC 2012
https://bugs.kde.org/show_bug.cgi?id=305195
--- Comment #3 from Bernhard Beschow <bbeschow at cs.tu-berlin.de> ---
Here is a backtrace tracking down the source of the performance regression:
#0 Marble::PlacemarkLayout::setCacheData (this=0x827f204) at
/home/shentey/Projekte/marble/src/src/lib/PlacemarkLayout.cpp:270
#1 Marble::PlacemarkLayout::qt_static_metacall (_o=0x827f204, _id=-1226085632,
_a=0xbfffe4c4, _c=<optimized out>) at
/home/shentey/Projekte/marble/build-qt/src/lib/PlacemarkLayout.moc:74
#2 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from
/lib/libQtCore.so.4
#3 QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) ()
from /lib/libQtCore.so.4
#4 ?? () from /lib/libQtGui.so.4
#5 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from
/lib/libQtCore.so.4
#6 QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) ()
from /lib/libQtCore.so.4
#7 ?? () from /lib/libQtGui.so.4
#8 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from
/lib/libQtCore.so.4
#9 QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) ()
from /lib/libQtCore.so.4
#10 KDescendantsProxyModelPrivate::sourceDataChanged (this=0x8130bb8,
topLeft=..., bottomRight=...) at
/home/shentey/Projekte/marble/src/src/lib/kdescendantsproxymodel.cpp:977
#11 KDescendantsProxyModel::qt_static_metacall (_o=<optimized out>,
_id=<optimized out>, _a=0xbfffe9b4, _c=<optimized out>) at
/home/shentey/Projekte/marble/build-qt/src/lib/kdescendantsproxymodel.moc:82
#12 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from
/lib/libQtCore.so.4
#13 QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) ()
from /lib/libQtCore.so.4
#14 Marble::GeoDataTreeModel::updateFeature (this=0x8235230, feature=0x8977568)
at /home/shentey/Projekte/marble/src/src/lib/GeoDataTreeModel.cpp:604
#15 Marble::PositionTrackingPrivate::updatePosition (this=0x826e460) at
/home/shentey/Projekte/marble/src/src/lib/PositionTracking.cpp:89
In essence, the call to GeoDataTreeModel::updateFeature() in
PositionTrackingPrivate::updatePosition() causes a complete cache reload in
PlacemarkLayout::setCacheData(). Given that only one out of over 18k placemarks
changed, this seems a bit much of an overhead. Couldn't this be avoided
somehow?
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Marble-bugs
mailing list