[OpenJDK Rasterizer] RFR: Marlin renderer #2

Laurent Bourgès bourges.laurent at gmail.com
Wed Apr 29 20:27:10 UTC 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/graphics-rasterizer-dev/attachments/20150429/809cae46/attachment.html>


More information about the graphics-rasterizer-dev mailing list