A few corrections/completions: > I tried to do this. I used the netbeans compiler netbeans *profiler*.
> I tried to implement something like this. What I did was: I reduce the > length of the buckets array to have only one bucket per pixel row. I removed > the array that kept track of how many lines were in each bucket. In next() > I iterated through the bucket for the current pixel row. For each line, I > iterated through all the scanlines in the current pixel row that it crossed. > For each > of those, I added a crossing (I still kept these sorted using insertion sort, > although this might have hurt me - simply quicksorting all the crossings just > before > returning from next() might have been better). The format of the crossings > was like so: > the SUBPIXEL_Y_POSITIONS most insignificant bits were reserved for the > y coordinate within the current pixel row of the crossing. The next most > insignificant bit was for the orientation. The remaining bits were for the > actual crossing > value. I neglected to mention how these crossings were used in _end_rendering(). I just unpack them and keep a float[] sums array of length SUBPIXEL_Y_POSITIONS. This replaces the sum variable. From here. So, if a crossing is on scanline i of the current pixel row, then sum[i] is used. Everything else is the same. Regards, Denis. ----- "Denis Lila" <dl...@redhat.com> wrote: > Hi Jim. > > I have a new webrev: > http://icedtea.classpath.org/~dlila/webrevs/perfWebrev/webrev/ >