Need an official way to exclude parts of the SceneGraph from CSS-Processing

Tom Schindl tom.schindl at bestsolution.at
Fri Jan 20 10:43:18 UTC 2017


Hi,

One of the biggest problems when working with JavaFX is that if you
reparent a big portion of the SceneGraph is that a full CSS-Pass is
applied on all reparented SG-Nodes even if those nodes are currently not
visible (eg. because they are part of a TabPane).

I general I think it is ok to also applyCSS changes on currently not
visible nodes (eg they still have an influence on layout-bounds) but
there are situations like the above mentioned example of TabPane that it
is unnecessary overhead to apply applyCSS changes on those parts of the
SG until they get visible.

I would not mind if the CSS-Pass on JavaFX would be as performant as the
one from current browsers but unfortunately it isn't so I'd like to
discuss the possibility of a API to *temporarily* exclude portions of
the SG from CSS-Passes.

In JavaFX8 i was able to hack that in by overwriting impl_processCSS in
a subclass who changed to doProcessCSS who now is private so my hack
does not work anymore.

To give you an impression on what performance gains we are talking about
just look at the video I recorded -
https://tomsondev.bestsolution.at/2016/11/25/improving-minmax-performance-in-e4-on-javafx-applications/

Tom

-- 
Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
http://www.bestsolution.at/
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck


More information about the openjfx-dev mailing list