While debugging a severe performance problem with one app, I noticed
that our RepaintManager validates far too much. I observed how the RI
behaves and found that:
- only components with a validateRoot are validated
- only components that are displayable and visible and that have visible
parents
I once more optimized the Swing RepaintManager to limit the amount of
painting work that is carried out by Swing. While observing painting
behaviour I noticed that sometimes (especially with overlapping
components) the painting is carried out in a 2-step manner, which
results in strange artifacts