[OpenJDK Rasterizer] RFR: Marlin renderer #2

Laurent Bourgès bourges.laurent at gmail.com
Mon Jun 1 19:25:37 UTC 2015


Hi Jim,

Will you have some time soon to review this second marlin patch ?

Regards,
Laurent

Le 14 mai 2015 00:36, "Jim Graham" <james.graham at oracle.com> a écrit :
>
> 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
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/graphics-rasterizer-dev/attachments/20150601/95032ed7/attachment.html>


More information about the graphics-rasterizer-dev mailing list