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

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Apr 21 22:17:06 UTC 2014


On 22.04.2014 0:16, Jim Graham wrote:
> 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? 
Yes, sure. All programs were closed, antivirus disabled, power 
management was disabled too.
> 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.
Most of the time the fixed version much faster, even then the worst 
spread: 66.19% variance:

graphics.imaging.src.options.touchsrc=true,graphics.opts.sizes=20:
OGL-base-nvidia-windows: 107.6372116 (var=88.61%) (100.0%)
***|
***|
***|
OGL-fix-nvidia-windows: 1455.235315 (var=66.19%) (1351.98%)
***|***********************************************
***|********************************
***|*********************************

>
> 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?
This is a blit from the huge(1000x1000) native surface to the buffered 
image.
>
>             ...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.
>>


-- 
Best regards, Sergey.




More information about the 2d-dev mailing list