[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