[OpenJDK 2D-Dev] [9] Review Request: 8041129 [OGL] surface->sw blit is extremely slow

Jim Graham james.graham at oracle.com
Mon Apr 21 20:16:57 UTC 2014


Hi Sergey,

That's a really large "worst spread" on the first and 3rd set of 
benchmark results.  Was the machine quiet during the benchmark run? 
Since the variance is larger than the performance gain in some cases it 
might be worth getting another set of runs with a lower variance.

Also, the 8% result for the D3D benchmark seems really slow - I'm 
guessing this is comparing D3D to OGL which doesn't reflect on this 
particular fix, but it shows that something we do in D3D is horribly 
slow compared to the OGL equivalent - which operation is that?

			...jim

On 4/21/14 7:17 AM, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for jdk 9.
> This issue initially was found in FX[1], and there is description of
> this problem.
> In the fix the flip operation is done using memcpy after the whole image
> was moved from gpu to cpu.
>
> [1] https://javafx-jira.kenai.com/browse/RT-30035
> Bug: https://bugs.openjdk.java.net/browse/JDK-8041129
> Webrev can be found at: http://cr.openjdk.java.net/~serb/8041129/webrev.01
>
> Benchmarks:
> ==========================================================
> Windows 7 x64, lenovo T410, nvidia NVS 3100M
> http://cr.openjdk.java.net/~serb/8041129/J2DBench/results
> base ogl vs base d3d vs fixed ogl
> Summary:
>    OGL-base-nvidia-windows:
>      Number of tests:  10
>      Overall average:  2239.9261323744704
>      Best spread:      1.72% variance
>      Worst spread:     88.61% variance
>      (Basis for results comparison)
>
>    OGL-fix-nvidia-windows:
>      Number of tests:  10
>      Overall average:  166667.93024226945
>      Best spread:      1.23% variance
>      Worst spread:     66.19% variance
>      Comparison to basis:
>        Best result:      13719.74% of basis
>        Worst result:     97.17% of basis
>        Number of wins:   8
>        Number of ties:   1
>        Number of losses: 1
>
>    D3D-base-nvidia-windows:
>      Number of tests:  10
>      Overall average:  29755.21747098
>      Best spread:      0.34% variance
>      Worst spread:     61.12% variance
>      Comparison to basis:
>        Best result:      12068.41% of basis
>        Worst result:     8.05% of basis
>        Number of wins:   6
>        Number of ties:   0
>        Number of losses: 4
>
> ==========================================================
> OSX 10.8.5, macbook pro retina, nvidia GeForce GT 650M 1024 MB
> http://cr.openjdk.java.net/~serb/8041129/J2DBench-osx/results-nvidia-osx.txt
>
> Summary:
>    OGL-base-nvidia-osx:
>      Number of tests:  10
>      Overall average:  710.7070782394075
>      Best spread:      0.73% variance
>      Worst spread:     5.72% variance
>      (Basis for results comparison)
>
>    OGL-fix-nvidia-osx:
>      Number of tests:  10
>      Overall average:  11032.674771293528
>      Best spread:      0.62% variance
>      Worst spread:     8.14% variance
>      Comparison to basis:
>        Best result:      4659.95% of basis
>        Worst result:     169.66% of basis
>        Number of wins:   10
>        Number of ties:   0
>        Number of losses: 0
>
> ==========================================================
> OSX 10.8.5, macbook pro retina, Intel HD Graphics 4000
> http://cr.openjdk.java.net/~serb/8041129/J2DBench-osx/results-intel-osx.txt
> Summary:
>    OGL-base-intel-osx:
>      Number of tests:  10
>      Overall average:  3993.5366388495613
>      Best spread:      0.65% variance
>      Worst spread:     20.91% variance
>      (Basis for results comparison)
>
>    OGL-fix-intel-osx:
>      Number of tests:  10
>      Overall average:  10197.361705976433
>      Best spread:      0.72% variance
>      Worst spread:     38.4% variance
>      Comparison to basis:
>        Best result:      491.0% of basis
>        Worst result:     108.61% of basis
>        Number of wins:   10
>        Number of ties:   0
>        Number of losses: 0
>
> Thanks to Anton for the initial version of the fix.
>



More information about the 2d-dev mailing list