JDK-8193445 : JavaFX CSS is applied redundantly leading to significant performance degradation
  • Type: Bug
  • Component: javafx
  • Sub-Component: controls
  • Affected Version: 8u172,9,10
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2017-12-13
  • Updated: 2021-05-19
  • Resolved: 2019-11-27
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.
JDK 8 Other
8u241Fixed openjfx11.0.6Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
In 1.8.0 172, operations in JavaFX application that previously took 3 seconds now take 50 seconds. Being unresponsive for this
long makes the application unusable.

This issue is same as JDK-8151756 which was fixed in JDK 9 and JDK 8u. The fix had caused regressions (JDK-8185709, JDK-8183100, JDK-8168951). 
Hence, the original fix was reverted.

This bug is to re-address performance concern raised in JDK-8151756.  See description of JDK-8151756 for details & test case.
Comments
Author: aghaisas URL: https://git.openjdk.java.net/jfx/commit/83eb0a7c Reviewed-by: kcr, dgrieve
27-11-2019

This could be backported to 11 if approved by Johan or myself. I will defer to Johan as to whether it should be backported to openjfx 11 for the January release of openjfx 11.0.6. The backport doesn't need to happen right away...some time in early January prior to the release would be fine, if Johan approved it.
26-11-2019

I have a fix for this issue. A detailed analysis and the fix has been put on GitHub. Please refer : https://github.com/openjdk/jfx/pull/34
12-11-2019

Fix of JDK-8151756 had resulted in increased performance, but resulted in functional regressions (reported in JDK-8185709, JDK-8183100, JDK-8168951). Hence, the JDK-8151756 fix was reverted. That's how we have lost out on performance. While analyzing the functional regressions - I observed one thing in common - the functionality breaks if Nodes/Controls are added/modified after the stage (containing scene) is shown.
06-11-2019

See JDK-8209830 for another test case.
18-10-2019

See also JDK-8209830 for another occurrence of performance degradation.
23-08-2018

Refer : JDK-8202022 for a test program showing this performance degradation
20-04-2018

We will need a performance regression test to measure the gain.
13-12-2017