Skip to content

Marlin-renderer 0.5.4

Compare
Choose a tag to compare
@bourgesl bourgesl released this 12 May 07:08
· 162 commits to use_Unsafe since this release

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 !