Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8118357

fx2.2-h17-b01: VirtualFlow changes caused 45% regression in Controls.TreeView-Keyboard

    Details

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              kwwong Kinsley Wong
              Reporter:
              epavlova Ekaterina Pavlova
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported: