This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/114460/

Review request for Dolphin.
By Frank Reininghaus.
Repository: kde-baseapps

Description

After https://git.reviewboard.kde.org/r/113487/, KItemListViewLayouter still stores quite a bit of redundant data.

For every item, we store the coordinates of its top-left corner in a QPointF 'pos' in the ItemInfo struct. This requires

2 * "number of items" doubles.

However, pos.x is the same for all items in one column, and pos.y is the same for all items in a row. Therefore, some memory can be saved by removing the 'pos' member, and adding two QVector<qreal>

m_rowOffsets and m_columnOffsets

instead. This reduces the memory requirement to

"number of rows + number of columns" doubles, which is at least 50% less.

Testing

Verfified with KSysGuard that the memory consumption is reduced as expected. View layout and scrolling still seem to work OK in all view modes and with grouping enabled or disabled.

Diffs

  • dolphin/src/kitemviews/private/kitemlistviewlayouter.h (a3b0893)
  • dolphin/src/kitemviews/private/kitemlistviewlayouter.cpp (f5f63d5)

View Diff