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" <[email protected]
<mailto:[email protected]>> 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

Reply via email to