-
Bug
-
Resolution: Fixed
-
P3
-
7u6
There is 45% (-31.98 fps) performance regression in Controls.TreeView-Keyboard in fx2.2-17 build
comparing to fx2.2-16 build. The interesting is that the number of pulses has been actually
increased by 110% (78.38 fps). Looking at how the test does work it looks like after we reach the bottom
and then trying to go up (by pressing UP keys) something is going wrong and we really don't go up and
as result no rendering is done => Low FPS but higher PULSE.
Running the test with fx2.2-17 and partial classes from fx2.2-16 shows that regression has been introduced
in com/sun/javafx/scene/control/skin/VirtualFlow.java. Based on hg logs and the fact fx2.2-17 has been
released on March 19 it looks like the regression was introduced by "RT-19679: Pagination prototype" fix.
Steps to run the test:
> download perf.zip from fx2.2-17 and unzip
http://getjfx.us.oracle.com/hudson/view/2.2/job/2.2/17/label=windows-i586-14/artifact/artifacts/perf/*zip*/perf.zip
> cp JFX_WS/jfx/import/benchmarks-2.1.1/benchmarks-2.1.1.jar perf/
> download fx2.2-17 and fx2.2-16
> run the test with fx2.2-17 and fx2.2-16 to see performance and functional difference
java -Djavafx.animation.fullspeed=true -cp "rt/lib/jfxrt.jar;./perf/benchmarks-2.1.1.jar;./perf/FXBenchmark.jar;./perf/Controls.jar"
jrockit.bm.Main controls.bm.TreeViewBenchmark -i 1 -wt 0 -tr 30 -mode keyboard -cells 100 50 -keysPerInjection 50
> to see that regression was introduced by VirtualFlow changes do extract
com.sun.javafx.scene.control.skin.VirtualFlow*.class files from fx2.2-16/rt/lib/jfxrt.jar and
prepend this class path when running with b17.
Note, the core issues of this performance bug is functional issue.
comparing to fx2.2-16 build. The interesting is that the number of pulses has been actually
increased by 110% (78.38 fps). Looking at how the test does work it looks like after we reach the bottom
and then trying to go up (by pressing UP keys) something is going wrong and we really don't go up and
as result no rendering is done => Low FPS but higher PULSE.
Running the test with fx2.2-17 and partial classes from fx2.2-16 shows that regression has been introduced
in com/sun/javafx/scene/control/skin/VirtualFlow.java. Based on hg logs and the fact fx2.2-17 has been
released on March 19 it looks like the regression was introduced by "
Steps to run the test:
> download perf.zip from fx2.2-17 and unzip
http://getjfx.us.oracle.com/hudson/view/2.2/job/2.2/17/label=windows-i586-14/artifact/artifacts/perf/*zip*/perf.zip
> cp JFX_WS/jfx/import/benchmarks-2.1.1/benchmarks-2.1.1.jar perf/
> download fx2.2-17 and fx2.2-16
> run the test with fx2.2-17 and fx2.2-16 to see performance and functional difference
java -Djavafx.animation.fullspeed=true -cp "rt/lib/jfxrt.jar;./perf/benchmarks-2.1.1.jar;./perf/FXBenchmark.jar;./perf/Controls.jar"
jrockit.bm.Main controls.bm.TreeViewBenchmark -i 1 -wt 0 -tr 30 -mode keyboard -cells 100 50 -keysPerInjection 50
> to see that regression was introduced by VirtualFlow changes do extract
com.sun.javafx.scene.control.skin.VirtualFlow*.class files from fx2.2-16/rt/lib/jfxrt.jar and
prepend this class path when running with b17.
Note, the core issues of this performance bug is functional issue.