Further to this thread, I've tested each image operation against the
baseline case, and posted the results at http://fkung.wordpress.com/

The results: classpath unquestionably falls behind on the baseline test
(no double-buffer, anti-aliasing off, no special options), but
definitely holds its own in image-processing options.  Anti-aliasing,
for example, takes up to 100x longer on Sun, but requires almost no
extra time on Classpath.  Transparency and custom stroking also stand
out.

Our main weaknesses, apart from the slow baseline in the first place,
come mostly in image-processing: rotating and shearing GIF/PNG files.
All operations on fill(Rectangle2D) also seem very expensive compared to
the rest.

Some other things to keep in mind:
- our handling of transparent PNG's is buggy, ie, we still render the
entire image opaque
- composite/transparent draws are buggy: we fill the shape instead of
drawing it
- Classpath's non-anti-aliased shapes look better than Sun's

Cheers,
Francis


On Fri, 2006-06-23 at 17:49 -0400, Francis Kung wrote:
> On Wed, 2006-06-21 at 14:59 +0200, Sven de Marothy wrote:
> > Did you take into account the fact that Sun's impl defaults to
> > antialiasing turned off (on Linux) wheras Classpath defaults to having
> > antialiasing on? I imagine that can have an effect, too.
> 
> With the latest patch just committed, many such options can now be
> explicitly set and tested.  Anti-alias results are very interesting - as
> Roman said, the benchmark difference on Classpath is minimal (~15%),
> whereas Sun has a huge difference (in the area of 8x longer to
> anti-alias, tested on ellipses).
> 
> In fact, with anti-alias turned on, Classpath is significantly faster,
> up to 50%!  I'll do a more detailed comparison next week, but it seems
> we make some nice gains for some of the options, and fall behind
> horribly with others.  Gives us a starting point for looking at
> optimization.
> 
> Francis
> 
> 
> 


Reply via email to