Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.7, 6.8, 6.9
-
None
-
-
a84a2f737 (dev), 783ce84b8 (6.8), dca47a523 (6.7), a7fe91a73 (dev), cfdae7dbc (6.8), 89fc05faf (6.7)
Description
We have a large QML application with both a deep and wide item tree ( >10k items).
We noticed in our tests that upgrading to Qt 6.7 increased our CPU utilization quite drastically. Some where 4x times higher than before.
We collected data with perf and compared it with the application running Qt 6.6 that showed that most time was spent in “firstItemWithDirtyChildrenStacking”.
We removed the block in https://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/items/qquickwindow.cpp?h=v6.7.0#n386 that was added during https://bugreports.qt.io/browse/QTBUG-102835 and voila the CPU utilization was back at Qt 6.6 levels.
For us it seems iterating the whole item tree here can have quite the impact on large QML applications. Especially if they do not use the new window embedding feature.
Attachments
Issue Links
- relates to
-
QTBUG-129622 [Reg 6.7.2 -> 6.7.3] Crash in QQuickItem::setX
-
- Closed
-
For Gerrit Dashboard: QTBUG-126673 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
573499,3 | Detect dirty child window stacking order without recursing all items | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
573726,2 | Detect dirty child window stacking order without recursing all items | 6.8 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
573789,2 | Detect dirty child window stacking order without recursing all items | 6.7 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
573888,3 | Detect dirty child window stacking order without iterating dirty items | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
575255,2 | Detect dirty child window stacking order without iterating dirty items | 6.8 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
575333,3 | Detect dirty child window stacking order without iterating dirty items | 6.7 | qt/qtdeclarative | Status: MERGED | +2 | 0 |