The GTK+ 4 work is continuing at full speed, and today I want to show one of the first concrete benefits from the GSK merge: We can now record and replay frames. If you ever wondered why your animation does not look quite right, this might be just the tool for you.
To try this new tool, find the Recorder tab in the GTK+ inspector, and use the record button. As you can see, we capture and save the render node tree for each frame that the application draws, as long as recording is enabled (you want to be a bit careful, this is quickly eating up a lot of memory).
The leftmost pane lets you select one of the recorded frames. The middle pane shows the render node tree, and if you select a node there, the rendering on the right is updated to show only that subtree’s effect on the frame.
This is pretty nifty, and will hopefully be very useful in improving the GSK integration in GTK+, as well as helpful for debugging rendering problems in applications.
It might be nice to turn this into a gant chart display similar to what firefox and chrome expose in their developer tools for the loading of network resources. Makes it much easier to see where the time has gone. At least it might be nice to include how long each operation took.