[OpenJDK 2D-Dev] Open Source rasterizer
Jim.A.Graham at Sun.COM
Thu Oct 4 00:29:31 UTC 2007
As Roman mentioned earlier, I've culled together some code from another
Java project into a replacement for the encumbered Ductus renderer in
the production JDK.
This rasterizer is built from all of our own code so we can release it
as part of the Open JDK project.
Unfortunately, it isn't as fast as the existing Ductus binary plugs so
some work will be needed to improve its speed, but it covers the entire
API that we used to rely on Ductus for so we've removed the binary plugs
from the Open Source version. Here are some known issues with the new
rasterizer that need to be addressed:
- Performance, performance, performance
- It uses fixed point without much overflow detection/handling
- It does not honor the STROKE_CONTROL hints so thin lines are vague
In terms of performance, someone who is good with a code analyzer could
have a field day, but here are some ideas that would be reasonably easy
to investigate to see if they make a noticeable improvement in the
- reusing the Renderer and associated objects vs. recreating them
- A better storage format for the PiscesCache for generating tiles
- Tighter integration between the pixelization code and the cache
- use floats in the line widening which should go faster on desktops
I'm attaching a zip file of the sources for a sneak peek. These sources
should appear in the public repository in a few days (just barely
beating the temporary freeze for the Mercurial transition).
I'd recommend anyone interested in playing with this code to join the
"Graphics-Rasterizer-Dev" list on openjdk:
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 32915 bytes
Desc: not available
More information about the 2d-dev