[OpenJDK Rasterizer] Marlin renderer contribution for review

Laurent Bourgès bourges.laurent at gmail.com
Mon Mar 23 16:18:51 UTC 2015


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


More information about the graphics-rasterizer-dev mailing list