JDK-6604903 : D3D: improve performance by reducing state changes
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 6u5
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-09-14
  • Updated: 2011-03-30
  • Resolved: 2007-09-24
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.
6u10 b04Fixed
Related Reports
Relates :  
Relates :  
Currently the pipeline does a lot of context changes because
UpdateState(STATE_CHANGE) is used for both flushing the
vertex cache and disabling the current state, so in many 
places where we only want to flush the vertex cache we
also disable the state just to have it re-enabled
for the next operation.

This leads to cases where for example for each blit we
set the source texture first to null and then back
to the source texture.

There is no need to do this for many cases like rect clip,
destination surface or transform changes.

SUGGESTED FIX http://sa.sfbay.sun.com/projects/java2d_data/6u5/6604903.0

EVALUATION The improvement is about 15% for 1x1 prims (on a fastdebug build): graphics.imaging.tests.drawimagetxform: noopt: 936.4601674 (var=2.53%) (100.0%) opt: 1079.052247 (var=0.65%) (115.23%)

EVALUATION as per description