[OpenJDK 2D-Dev] [9] Review Request: 8029253 [macosx] Performance problems with Retina display on Mac OS X

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Oct 6 17:29:28 UTC 2014


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20141006/3432ce26/attachment.html>


More information about the 2d-dev mailing list