EVALUATION
With a simple shader program and some new internal pipeline pathways the
performance of the following primitives can improve by a factor of around
10x depending on the hardware:
fillRect() AA and transformed
fill(Rectangle2D) non-AA, AA, and transformed
drawRect() AA and transformed
draw(Rectangle2D) non-AA, AA, and transformed
drawLine() AA and transformed
draw(Line2D) non-AA, AA, and transformed
Running tests on a 512MB nVidia 8600GT M:
With these changes the attached test case improves by a factor of about
9x to 20x for the 3 cases where AA or transforms are involved.
A very dramatic improvement can be seen in the Scenario demo DynamicDemo
which improves by the following amounts:
orig6u10 newshader
AA stroke/fill 6984ms 656ms (10.6x)
AA stroke 4468ms 531ms ( 8.4x)
AA fill 2922ms 437ms ( 6.7x)
non-AA stroke/fill 1656ms 656ms ( 2.5x)
non-AA stroke 797ms 531ms ( 1.5x)
non-AA fill 1141ms 422ms ( 2.7x)
|