JDK-8090684 : Parent : add new public layout method, optimized to only layout this parent and it's children.
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: controls
  • Affected Version: 8
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2013-05-22
  • Updated: 2018-09-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Blocks :  
Relates :  
Description
The current requestLayout method in Parent clears the
cache and requests the layout of all Parents in the containment
hierarchy. This can be unnecessary if the change is
contained within the requesting node, and there is
no change to it's external size, or min/max/pref size.
A good example of this is that currently an internal change
to a table-cell could cause an entire table to re-layout.

In order to solve this we need an additional  method in
Parent which only requests the layout of the current parent
node and it's children.

There is a significant performance gain when this is used in
cases where it is known that there are no changes to
either the parents dimensions or min/max/preferred size.

Comments
At this stage the risk of destabilization associated with this out-way the benefits, so it's being deferred.
18-09-2013

This optimization hasn't been approved, and took a backseat until RT-30363 made it's way through the system. Having the two work their way through at the same time could have been quite destabilising for controls.
27-08-2013

@Mick: What is the status of this optimisation?
27-08-2013

I don't see a reason for not making it final :-). You probably meant: protected final void requestLocalLayout(); requestParentLayout is what I am proposing in RT-30363. That one should be also final. There's a catch with requestLocalLayout however. Some panes/controls clear their pre-computed fields in overridden requestLayout(). This is not going to be called with requestLocalLayout().
31-05-2013

Please include in the issue the actual API (in totality) that you want to add. I am assuming it is: protected void requestParentLayout(); Added to Parent? Is there any reason to make it final, or not?
30-05-2013