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

[OGL] Metrics for a method choice copying of texture should be improved

    Details

    • Resolved In Build:
      b44
    • CPU:
      generic
    • OS:
      os_x

      Backports

        Description

        See http://mail.openjdk.java.net/pipermail/2d-dev/2014-October/004873.html
         Looks like blit via texture almost always faster in case of intel hd on osx + retina.
        The difference is 30% in swingmark-native.

          Issue Links

            Activity

            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/client/jdk/rev/754d2145a54a
            User: serb
            Date: 2014-11-28 11:07:08 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/client/jdk/rev/754d2145a54a User: serb Date: 2014-11-28 11:07:08 +0000
            Hide
            serb Sergey Bylokhov added a comment -
            This fix initially was sent as a fix for JDK-8029253 [1], but was postponed because another issue became a bottleneck [2]

            Description:
            We have two codepaths to draw a raster to the opengl surface:
              - via glDrawPixels
              - via intermediate texture.
            We empirically checked, what way is better, based on benchmarks. Became
            obvious that on intel devices the glDrawPixels is slower than intermediate texture.

            Bug: https://bugs.openjdk.java.net/browse/JDK-8059944
            Webrev can be found at: http://cr.openjdk.java.net/~serb/8059944/webrev.00

            [1] http://mail.openjdk.java.net/pipermail/2d-dev/2014-June/004642.html
            [2] http://mail.openjdk.java.net/pipermail/2d-dev/2014-October/004870.html

            SwingMark on OSX 10.9.5, macbook pro retina, Intel HD Graphics 4000:
            Base: http://cr.openjdk.java.net/~serb/8059944/perf/swingmark/base
            Will run test 5 times in the same VM
            Setting L&F to: com.apple.laf.AquaLookAndFeel
            ......
            Score: 54629

            Fix: http://cr.openjdk.java.net/~serb/8059944/perf/swingmark/fix
            Will run test 5 times in the same VM
            Setting L&F to: com.apple.laf.AquaLookAndFeel
            ......
            Score: 35296

            J2DBench: Note that results are better on a newer devices and the fix is usually lose when 1x1 image is used
            =======================================================================
            Windows 7 x64, lenovo T410, Intel 3200
            http://cr.openjdk.java.net/~serb/8059944/perf/win_intel_hg3200/results_ogl.txt
                Comparison to basis:
                  Best result: 177.62% of basis
                  Worst result: 53.73% of basis
                  Number of wins: 618
                  Number of ties: 238
                  Number of losses: 296
            =======================================================================
            OSX 10.9.5, macbook pro retina, Intel HD Graphics 4000
            http://cr.openjdk.java.net/~serb/8059944/perf/osx_intel_hd4000/results.txt
                Comparison to basis:
                  Best result: 22151.35% of basis
                  Worst result: 50.28% of basis
                  Number of wins: 880
                  Number of ties: 168
                  Number of losses: 104
            =======================================================================
            OSX 10.9.5, macbook pro retina, Intel Iris (HD 5100)
            http://cr.openjdk.java.net/~serb/8059944/perf/osx_intel_hd5100/results.txt
                Comparison to basis:
                  Best result: 25422.21% of basis
                  Worst result: 37.94% of basis
                  Number of wins: 863
                  Number of ties: 193
                  Number of losses: 96
            Show
            serb Sergey Bylokhov added a comment - This fix initially was sent as a fix for JDK-8029253 [1], but was postponed because another issue became a bottleneck [2] Description: We have two codepaths to draw a raster to the opengl surface:   - via glDrawPixels   - via intermediate texture. We empirically checked, what way is better, based on benchmarks. Became obvious that on intel devices the glDrawPixels is slower than intermediate texture. Bug: https://bugs.openjdk.java.net/browse/JDK-8059944 Webrev can be found at: http://cr.openjdk.java.net/~serb/8059944/webrev.00 [1] http://mail.openjdk.java.net/pipermail/2d-dev/2014-June/004642.html [2] http://mail.openjdk.java.net/pipermail/2d-dev/2014-October/004870.html SwingMark on OSX 10.9.5, macbook pro retina, Intel HD Graphics 4000: Base: http://cr.openjdk.java.net/~serb/8059944/perf/swingmark/base Will run test 5 times in the same VM Setting L&F to: com.apple.laf.AquaLookAndFeel ...... Score: 54629 Fix: http://cr.openjdk.java.net/~serb/8059944/perf/swingmark/fix Will run test 5 times in the same VM Setting L&F to: com.apple.laf.AquaLookAndFeel ...... Score: 35296 J2DBench: Note that results are better on a newer devices and the fix is usually lose when 1x1 image is used ======================================================================= Windows 7 x64, lenovo T410, Intel 3200 http://cr.openjdk.java.net/~serb/8059944/perf/win_intel_hg3200/results_ogl.txt     Comparison to basis:       Best result: 177.62% of basis       Worst result: 53.73% of basis       Number of wins: 618       Number of ties: 238       Number of losses: 296 ======================================================================= OSX 10.9.5, macbook pro retina, Intel HD Graphics 4000 http://cr.openjdk.java.net/~serb/8059944/perf/osx_intel_hd4000/results.txt     Comparison to basis:       Best result: 22151.35% of basis       Worst result: 50.28% of basis       Number of wins: 880       Number of ties: 168       Number of losses: 104 ======================================================================= OSX 10.9.5, macbook pro retina, Intel Iris (HD 5100) http://cr.openjdk.java.net/~serb/8059944/perf/osx_intel_hd5100/results.txt     Comparison to basis:       Best result: 25422.21% of basis       Worst result: 37.94% of basis       Number of wins: 863       Number of ties: 193       Number of losses: 96
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/754d2145a54a
            User: lana
            Date: 2014-12-23 22:27:55 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/754d2145a54a User: lana Date: 2014-12-23 22:27:55 +0000

              People

              • Assignee:
                serb Sergey Bylokhov
                Reporter:
                serb Sergey Bylokhov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: