[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    [OpenJDK 2D-Dev] X11 uniform scaled wide lines and dashed lines; STROKE_CONTROL in Pisces
From:       dlila () redhat ! com (Denis Lila)
Date:       2010-11-18 20:53:46
Message-ID: 343717849.694101290113626403.JavaMail.root () zmail04 ! collab ! prod ! int ! phx2 ! redhat ! com
[Download RAW message or body]

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" <dlila at redhat.com> wrote:

> Hi Jim.
> 
> I have a new webrev:
> http://icedtea.classpath.org/~dlila/webrevs/perfWebrev/webrev/
> 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic