mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 12:32:05 +00:00
0f97196d84
We currently go through the whole tree of mapped actors on every paint cycle to update the stage views actors are on. Even if no actors need updating of their stage views, traversing the actor tree is still quite expensive and shows up when using a profiler. So tone down the amounts of full-tree traversals we have to do on every paint cycle and only traverse a subtree if it includes an actor which actually needs updating of its stage views. We do that by setting the `needs_update_stage_views` flag to TRUE recursively for all parents up to the stage when the stage-views list of an actor gets invalidated. This way we end up updating a few more actors than necessary, but can avoid searching the whole actor tree for actors which have `needs_update_stage_views` set to TRUE. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1196 |
||
---|---|---|
.. | ||
clutter | ||
.gitignore | ||
meson.build |