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

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