[OpenJDK Rasterizer] Marlin renderer contribution for review

Jim Graham james.graham at oracle.com
Wed Mar 25 20:17:14 UTC 2015


Hi Laurent,

Briefly I checked out the line lengths only in Renderer.java and they 
seem good now.

But you changed a number of other things that I'm now going to have to 
review.  Can you summarize not just the "what changed", but also the 
"where it changed" so I don't have to look over all parts of all files 
trying to find the changes?  Also, if we can hold off on further 
development work until we get a stake in the ground it would avoid this 
"having to review a huge changeset over again from scratch" due to 
ancillary fixes.

Also, the very first file I brought up still had /** */ single line 
faux-doc comments (AAShapePipe, on private fields no less).  That was 
the second thing you said that you fixed below...?

			...jim

On 3/24/15 11:43 AM, Laurent Bourgès wrote:
> Jim,
> Did you have a look to the latest webrev?
>
> Or you expect me to send a new one without FastMath ?
>
> Dalibor, I tested quickly and StrictMath is not fast enough.
>
> I will find another solution to efficiently ceil (float)...
>
> Cheers,
> Laurent
>
> Le 23 mars 2015 17:18, "Laurent Bourgès" <bourges.laurent at gmail.com
> <mailto:bourges.laurent at gmail.com>> a écrit :
>
>     Jim,
>
>     Here is the new webrev:
>     http://cr.openjdk.java.net/~lbourges/marlin/marlin.4/
>
>     Changes:
>     - Fixed line lengths to 80 chars
>     - Fixed / removed single-line "/** short comment */"
>     - Fixed Unsafe access
>     - Use PhantomReference / ReferenceQueue and the new OffHeapDisposer
>     thread to free off-heap memory to avoid finalizationin Renderer
>     - added the ArrayCachesHolder class in RendererContext to gather all
>     ArrayCache instances: use it wrapped using a WeakReference to reduce
>     the memory footprint of large array caches
>     - Use AccessController.doPrivileged(new GetPropertyAction(key)) to
>     properly get System properties in a secure environment in
>     MarlinRenderingEngine
>
>     I hope this patch is now good enough to be pushed into the graphics
>     rasterizer project.
>
>     PS: I tested again using weak references for RendererContext (TL
>     storage) using -Dsun.java2d.renderer.useRef=weak and it is working
>     well: maybe I should use this mode by default instead of
>     SoftReferences (better memory footprint): to be benchmarked and
>     discussed...
>
>     First results (JDK8) with WeakReference seems as good as using
>     SoftReference (very minimal GC overhead):
>     Tests    27    9    9    9
>     Threads    4    1    2    4
>     Pct95    132.155    130.149    130.757    135.558
>
>     Regards,
>     Laurent
>


More information about the graphics-rasterizer-dev mailing list