JDK-8123970 : 8.0-h96-b68: 68% regression in SpiralText in hw pipeline caused by enabling DirectX 9Ex
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 8
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-01-03
  • Updated: 2015-06-17
  • Resolved: 2013-05-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
There is 68% regression in SpiralText in hw pipeline appeared in promoted build 8.0-h96-b68.
Here are the results on Win7-High-Range machine:
 8.0-h90-b67: 38.34 fps
 8.0-h96-b68: 12.32 fps, -68% (-26.02 fps) 


The regression is caused by fixed 
RT-23704 "Use DirectX 9Ex mechanism to avoid calling cv.save()"

Running the test with disabled D3D9Ex (-Dprism.disableD3D9Ex=true) results in no performance regression.

Steps to run SpiralText:
> cd JFX_WS/tests/performance/SpiralText/
> ant
> java -cp "JFX_HOME/rt/lib/jfxrt.jar;./dist/SpiralText.jar;../FXBenchmark/dist/FXBenchmark.jar;../../../import/benchmarks-2.1.1/benchmarks-2.1.1.jar" 
       spiraltext.Main 



Comments
verified in 8.0-b90
19-07-2013

Fixed by disabling D3D9Ex (RT-30352).
13-05-2013

I reconfirmed the performance numbers seen above with the latest build as of 24-Apr-2013: No D3D9Ex With D3D9Ex Diff % Spiral Text (NVIDIA) 30.32 16.6 -45.25% Spiral Text (Intel HD) 31.08 9.47 -69.53% GUIMark2 Canvas (NVIDIA) 68.02 61.87 -9.04% GUIMark2 Canvas (Intel HD) 42.5 53.44 25.74% Based on this finding, and also on the fact that there is a serious visual regression (see RT-27121), I am going to disable D3D9Ex.
24-04-2013

We have two choices to resolve this: 1) Revert the code and use the standard D3D9 2) Investigate and fix the performance problems We need further analysis to determine which we should do.
04-01-2013

As part of evaluating this, I ran a canvas test to see what benefit, if any, we are getting from the code. I see the following performance when running Bitmap_Canvas with 3000 monsters in full-speed mode: With Intel HD: With D3D9Ex : 54.35 fps Without D3D9Ex : 44.33 fps So we are getting a 25% gain from D3D9Ex. However, on NVIDIA, the numbers are: With D3D9Ex : 65.00 fps Without D3D9Ex : 68.64 fps showing that we actually get a slight perf drop using D3D9Ex on NVIDIA
04-01-2013

I can confirm this regression. On my Win 7 laptop running Intel HD, I see the following: With D3D9Ex : 10 fps Without D3D9Ex: 31 fps Ouch.
04-01-2013