I enabled the property -Dprism.showdirty=true to troubleshoot some
performance issues of our application.
I found a case where the entire scene root node is marked as dirty when
pseudoclasses are used in a certain way. Since I am no expert about the
CSS implementation, I wanted to ask whether this is a bug. The offending
rule was:
.combo-box-base:hover .arrow-button:hover .arrow {
-fx-background-color:red;
}
Note that the hover pseudo class is used twice, was my mistake that did
go unnoticed. Whenever the hover state changed for the combo box, the
root was shown as dirty
When changing it to this, everything works as expected and only the
arrow is marked as dirty instead of the whole scene:
.combo-box-base > .arrow-button:hover .arrow {
-fx-background-color:red;
}