Attempting to set the preferred height of a TreeView or content that would otherwise expand the component(super.setPrefHeight or another component in the containing node) results in a massive freakout resulting in a memory leak and extremely high CPU usage.

Using Netbean's method profiler[1] shows that VirtualFlow.addTrailingCells is taking 130 seconds. Going down a leaf shows that Node.applyCss and Node.processCss are taking up the majority(all? Numbers aren't adding up.) of the time and presumably causing the memory leak and high CPU usage.

Even after removing any custom CSS stylesheets this still happens. This only seems to affect TreeView as well as no other component(maybe ListView since they are similar?) has this issue.

Maybe related is a CSS bug where an in-between state between a scrollbar showing in the TreeView and when there is not. In this state, a visible white space can be seen at the bottom where the scrollbar was(although the white space is smaller). If you are using the default JavaFX CSS stylesheet you won't see this as the background color is white. Clicking a TreeView item seems to update the TreeView and fix this white space issue. ScrollPane and ScrollBars are really broken in JavaFX in general under Linux so its hard to say whether or not it is related.


Any ideas on what's causing all this?


[1] https://imgur.com/a/DT3eiNj

Reply via email to