United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6604903 D3D: improve performance by reducing state changes
6604903 : D3D: improve performance by reducing state changes

Details
Type:
Bug
Submit Date:
2007-09-14
Status:
Closed
Updated Date:
2011-03-30
Project Name:
JDK
Resolved Date:
2007-09-24
Component:
client-libs
OS:
windows_xp
Sub-Component:
2d
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u5
Fixed Versions:
6u10

Related Reports
Relates:
Relates:

Sub Tasks

Description
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.

                                    

Comments
SUGGESTED FIX

http://sa.sfbay.sun.com/projects/java2d_data/6u5/6604903.0
                                     
2007-09-19
EVALUATION

as per description
                                     
2007-09-14
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%)
                                     
2007-09-14



Hardware and Software, Engineered to Work Together