Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.3.1
-
None
Description
The profiler tracking of the render loops is a bit jibberish at the moment. Even though all the render loops go through the exact same stages, the profiler integration is split into a number of render loop specific blocks, none of which make a lot of sense.
Ideally the profiler should track the following steps in the render loop:
- polish – The time items spend touching up before rendering
- sync – The time spent copying QML state into the scene graph
- animation – The time spent running animations
- rendering – The time spent in the scene graph renderer
- swap – The time spent swapping the frame to screen.
The scene graph renderer has a separate profiling hook which is a breakdown of the 'rendering' step.
The profiler frames should be changed to reflect these and the UI should be adapted accordingly.
A few of the other frame tags are also very poorly named:
- SceneGraphAdaptationLayerFrame -> DistanceField glyph preparation
- SceneGraphContextFrame -> Shader compilation
Attachments
For Gerrit Dashboard: QTBUG-39876 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
88696,4 | Properly collect polish timings from all render loops | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
88836,2 | Use synchronized timings for QQuickProfiler and debug output | dev | qt/qtdeclarative | Status: ABANDONED | -1 | 0 |
88840,2 | QmlDebug: rename some scene graph events for more generality | master | qt-creator/qt-creator | Status: ABANDONED | 0 | 0 |
93219,2 | QmlDebug: rename some scene graph events for more generality | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
93526,7 | Use QQuickProfiler's own timer to sample events | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
130160,1 | Fix switched times for windows render loop. | qp-3.2 | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
130172,7 | Change the scene graph profiler to give more accurate information | qp-master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |