Looks good. I don't have a PC handy right now to test myself but I'm curious if the
tests has similar poor performance issues with D3D and whether adding the
same would help there too ..

-phil.

On 10/6/14 10:29 AM, Sergey Bylokhov wrote:
Hello.
Please review the fix for jdk 9.

The new blit was implemented: OGLGeneralTransformedBlit, it adds a huge boost in case of uncached/unmanaged images:

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

Notes:
- The fix will help only if a non-ARGB_PRE images with alpha or getdata() were used. I'll fix such usage in swing in separate CR. - i have discarded the change from the previous version of the fix: http://cr.openjdk.java.net/~serb/8029253/webrev.00. It adds 30% improvements in swingmark-native, but decrease performance on win/lin. So I have decided to fix it separately. - Initially I used incorrect source offsets in the fix, which were not found by the tests, so I add a new one. Commented types in the test still fails as before the fix, I will check them later.(probably related to JDK-6593406) - OGLAnyCompositeBlit for OpenGLTexture was removed, because it tries to copy destination(texture), and such blit(texture -> IntArgbPre) is absent.


Summary osx-retina Intel HD Graphics 4000 :
http://cr.openjdk.java.net/~serb/8029253/perf.04/osx-retina-intel/results.txt
  base:
    Number of tests:  24
    Overall average:  92015.36146212014
    Best spread:      0.0% variance
    Worst spread:     0.0% variance
    (Basis for results comparison)

  fix:
    Number of tests:  24
    Overall average:  616682.7498394073
    Best spread:      0.0% variance
    Worst spread:     0.0% variance
    Comparison to basis:
*      Best result:      4899860.24% of basis*
      Worst result:     100.48% of basis
      Number of wins:   22
      Number of ties:   2
      Number of losses: 0

Summary osx-retina Nvidia GeForce GT 650M 1024 MB :
http://cr.openjdk.java.net/~serb/8029253/perf.04/osx-retina-nvidia/results.txt
  base:
    Number of tests:  24
    Overall average:  147138.4952051871
    Best spread:      0.0% variance
    Worst spread:     0.0% variance
    (Basis for results comparison)

  fix:
    Number of tests:  24
    Overall average:  634465.9854992364
    Best spread:      0.0% variance
    Worst spread:     0.0% variance
    Comparison to basis:
      Best result:      42311.89% of basis
      Worst result:     77.93% of basis
      Number of wins:   16
      Number of ties:   7
      Number of losses: 1
--
Best regards, Sergey.

Reply via email to