Skip to content

Make css change tracking more precise

Matthias Clasen requested to merge matthiasc/css-change-tracking-5 into master

This is another attempt at making use of parent matcher information while calculating change flags. The goal is to reduce the amount of nodes with parent-state and similar change flags, which cause frequent recomputation of styles.

Statistics for this branch (widget-factory with Adwaita):

Flag Before After
backdrop 2247 2247
class 686 626
disabled 2247 2247
first-child 645 223
hover 2247 2247
id 2 2
last-child 595 225
name 2246 2246
parent-backdrop 477 5
parent-class 2247 628
parent-disabled 222 91
parent-first-child 117 82
parent-hover 386 5
parent-id 90 2
parent-last-child 117 82
parent-name 2247 868
parent-selected 2247 2246
parent-sibling-class 11 7
parent-sibling-first-child 11 7
parent-sibling-last-child 11 7
parent-sibling-name 11 7
parent-sibling-state 11 7
parent-state 640 126
selected 2247 2247
sibling-class 179 87
sibling-disabled 58 18
sibling-first-child 180 88
sibling-last-child 179 87
sibling-name 192 100
sibling-state 179 87
state 2247 2247

Merge request reports