[OpenJDK 2D-Dev] Pisces AA renderer performance improvement.
Denis Lila
dlila at redhat.com
Wed Jul 20 13:00:18 UTC 2011
Hi Roman.
> - What speaks against doing that? E.g. outputting pixelrow by
> pixelrow?
> I was implementing a pure Java AA scanline converter for GNU Classpath
> some years ago and this is exactly what I did. I found that useful
> because drawing horizontal lines is often very cheap (i.e. filling
> adjacent bits/bytes in framebuffers).
I think it would require changing around some interfaces, but other
than that, not much. In fact, it is a TODO in the webrev I sent
and, time permitting, I'll try to implement it.
> - What about writing 32 pixelrows into an intermediate buffer and then
> outputting those in 32x32 blocks when done? Or is this what you are
> currently doing?
No, but I actually implemented that about half a year ago,
and it slowed things down. Then again, there are a lot of
optimizations in this version that I didn't have back then,
so maybe it's worth trying this idea again.
Regards,
Denis.
----- Original Message -----
> Hi Denis,
>
>
> > The version in the webrev is the fastest yet, and it uses
> > a class similar to the ScanlineIterator for the sorting
> > (but now it iterates through pixel rows, not scanlines).
> > Unfortunately this means that there still are two levels
> > of intermediate storage (edges and crossings, analogous
> > to edges and RLE elements in the old version), but the
> > only way I can think of how to get rid of one of them
> > and still take use an average linear time sort is if we
> > start outputting alphas pixelrow by pixelrow, rather than
> > in 32x32 tiles.
>
>
> Cheers, Roman
More information about the 2d-dev
mailing list