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