Marlin-renderer 0.5.4
Release v0.5.4:
- marlin-0.5.4.jar (RenderingEngine only)
- marlin-0.5.4-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 5 to 10% faster
This release is using sun.misc.Unsafe
to use off-heap storage for edge data: it was intensively tested and is considered stable: ~ 5 to 10% faster on JDK 1.8 (no gain on jdk7).
This release is then recommended for JDK 1.8 only; for JDK 1.7, please use Marlin 0.4.4
However, using Unsafe can lead to JVM crashes if badly used; that's why this warning is displayed at startup:
INFO: ====================================================================
INFO: Using sun.misc.Unsafe: No warranty (may crash your JVM) !
INFO: USE IT AT YOUR OWN RISKS.
INFO: ====================================================================
Changes (idem v0.4.4):
- for large crossing / edge pointer arrays (>=75), use to an optimized merge sort for newly added edges (>=10) + final merge pass using auxiliary storage
- refactoring to move statistics into RendererStats class (to avoid allocating them when doStats or doMonitors are disabled)
- improved complex affine transformer allocations (tx, delta and inverse delta p2dconsumer)
- improved createStrokedShape() by using a custom path2d (preallocated large path2D to avoid useless array resizes + efficient cloning)
See How to use
See Tuning options
Your feedback is very important !
Please tell us if your appreciate marlin and if it fits well your workload, use cases...
Just post your comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc
Enjoy !