Charts
This merge requests adds the infamous frame time graph to Mutter:
To display the chart, open the Looking Glass and run:
>>> Meta.add_clutter_debug_flags(0, Clutter.DrawDebugFlag.PAINT_FRAME_TIME, 0)
And to hide the chart, run:
>>> Meta.remove_clutter_debug_flags(0, Clutter.DrawDebugFlag.PAINT_FRAME_TIME, 0)
The line represents the maximum time slot a frame has to draw itself. If a bar crossed that line, it means the frame was missed.
It accounts for layout times (in green) and paint times (in blue).
To Do:
-
Don't disable buffer age -
Move implementation to ClutterStage
-
Investigate using additional DRM planes