[OpenJDK Rasterizer] RFR: Marlin renderer #2
Jim Graham
james.graham at oracle.com
Wed May 13 22:36:39 UTC 2015
Hi Laurent,
Not this week unfortunately, I'm under a deadline for my own work.
Phil was the one tracking the SQE effort...
...jim
On 5/13/2015 9:59 AM, Laurent Bourgès wrote:
> Jim,
>
> Do you have time soon to review the second marlin patch ?
>
> Any other remaining comment on the first one ?
>
> Did you have news from the SQE team?
>
> FYI I will try using the DDA approach in the Renderer...
> Improving Stroker seems to me too much tricky and risky for the moment
> (to avoid intermediate segments for joins & caps)
>
> Laurent
>
> Le 29 avr. 2015 22:27, "Laurent Bourgès" <bourges.laurent at gmail.com
> <mailto:bourges.laurent at gmail.com>> a écrit :
>
> Jim,
>
> Here is a new webrev for the second step on the marlin renderer:
> http://cr.openjdk.java.net/~lbourges/marlin/marlin-s2.0/
>
> Changes:
> - ArrayCache: cleanup in the growth algorithm + fixed TODO
> - Float/Int ArrayCache: added putDirtyArray() methods
> - RendererContext: added dirtyInt/Float array cache and related methods
> - RendererStats: added statistics on cached array sizes
> - CollinearSimplifier: optimized condition evaluation order
> - FloatMath: removed once condition using bit masking to add +/- 1
>
> - Curve: fixed numeric constants + BreakPtrIterator deals with
> primitive integer (no more Interator<Integer>)
> - Dasher: fixed numeric constants + firstSegmentsBuffer uses the
> dirty float cache
> - Helpers: fixed numeric constants + removed widenArray methods (use
> directly RendererContext instead)
> - MarlinCache: added stats for rowAAChunk + fixed doc
> - MarlinRenderingEngine: fixed numeric constants + newDashes uses
> the dirty float cache + RendererContext uses now Weak reference by
> default (instead of Soft)
> - Renderer:
> - keep used range for edgeBuckets / edgeBucketCounts in
> endRendering() used then in dispose() to avoid FloatMath.ceil() calls
> - crossings / aux_crossings & edgePtrs / aux_edgePtrs use dirty
> int array caches
> - Stroker: fixed numeric constants + use explicit emitLineToRev() /
> emitQuadToRev() / emitCurveToRev() as short cuts + use local
> variables for readability and minor performance gain
> - Stroker.PolyStack: curveTypes / curves use the dirty byte / float
> array caches + optimized popAll() loop
>
> Cheers,
> Laurent
>
More information about the graphics-rasterizer-dev
mailing list