Releases: bourgesl/marlin-renderer
Marlin-renderer 0.5.5
Release v0.5.5:
- marlin-0.5.5.jar (RenderingEngine only)
- marlin-0.5.5-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.5
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.5):
- Fixed bug: ArrayIndexOutOfBoundsException in MergeSort.legacyMergeSortCustomNoCopy(MergeSort.java:48) due to inconsistent array sizes between edgePtr and aux_edgePtrs (use same growing factor and initial capacity): it occurs with very huge polyline (> 1024 points) !
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 & Happy holidays !
Marlin-renderer 0.4.5
Release v0.4.5:
- marlin-0.4.5.jar (RenderingEngine only)
- marlin-0.4.5-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 5 to 10% faster
Changes:
- Fixed bug: ArrayIndexOutOfBoundsException in MergeSort.legacyMergeSortCustomNoCopy(MergeSort.java:48) due to inconsistent array sizes between edgePtr and aux_edgePtrs (use same growing factor and initial capacity): it occurs with very huge polyline (> 1024 points) !
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 & Happy holidays !
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 !
Marlin-renderer 0.4.4
Release v0.4.4:
- marlin-0.4.4.jar (RenderingEngine only)
- marlin-0.4.4-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 5 to 10% faster
Changes:
- 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 !
Marlin-renderer 0.5 Alpha
Release v0.5A:
- marlin-0.5A.jar (RenderingEngine only)
- marlin-0.5A-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 10% faster
Changes:
- based on Marlin-renderer 0.4.1
- use sun.misc.Unsafe to use off-heap memory for edge data: ~ 5% faster
As using Unsafe may crash your JVM (possible segfault), this warning is displayed at startup:
INFO: Using sun.misc.Unsafe: No warranty (may crash your JVM) !
INFO: USE IT AT YOUR OWN RISKS = do not use in production (ALPHA Release).
Altough it was tested a lot without any crash, this release is still not recommended in a production environment.
Your feedback is very important !
Please tell us if your appreciate marlin and if it fits well your workload, use cases...
Enjoy !
Marlin-renderer 0.4.1
Release v0.4.1:
- marlin-0.4.1.jar (RenderingEngine only)
- marlin-0.4.1-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 10% faster
Changes:
- better buckets arrays handling for image height > pixelSize property: major improvement on large image height
- many internal settings made customizable from system properties
- better logs at startup showing all marlin properties
INFO: ======================================================================
INFO: Marlin software rasterizer = ENABLED
INFO: Version = [marlin-0.4.1]
INFO: sun.java2d.renderer = org.marlin.pisces.PiscesRenderingEngine
INFO: sun.java2d.renderer.useThreadLocal = false
INFO: sun.java2d.renderer.useRef = soft
INFO: sun.java2d.renderer.pixelsize = 2048
INFO: sun.java2d.renderer.subPixel_log2_X = 3
INFO: sun.java2d.renderer.subPixel_log2_Y = 3
INFO: sun.java2d.renderer.tileSize_log2 = 5
INFO: sun.java2d.renderer.useFastMath = true
INFO: sun.java2d.renderer.doStats = false
INFO: sun.java2d.renderer.doMonitors = false
INFO: sun.java2d.renderer.doChecks = false
INFO: sun.java2d.renderer.useJul = false
INFO: sun.java2d.renderer.logCreateContext = false
INFO: sun.java2d.renderer.logUnsafeMalloc = false
INFO: ======================================================================
INFO: AAShapePipe: overriding JDK implementation: marlin-renderer TILE patch enabled.
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...
Enjoy !
Marlin-renderer 0.4
Release v0.4:
- marlin-0.4.jar (RenderingEngine only)
- marlin-0.4-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 10% faster
Changes:
- better edge buckets handling (zero instead of NULL-filled) when initial bucket arrays are not big enough (see pixelsize parameter set to 2048 by default) i.e. improves a lot performance for images larger than pixelsize (height) ~ 40%
- added log message when the optional patch marlin-X.Y-sun-java2d.jar is in use [INFO: AAShapePipe: overriding JDK implementation: marlin-renderer TILE patch enabled]
- improved bounds handling & fixed accuracy arround image borders
See How to use
See Tuning options
Feedback is welcome ...
Enjoy !
Marlin-renderer 0.3
First release v0.3:
- marlin-0.3.jar (RenderingEngine only)
- marlin-0.3-sun-java2d.jar (patched sun.java2d.AAShapePipe): ~ 10% faster
Please use only marlin-0.3.jar in production by :
- adding the jar to your bootclasspath (append)
- setting the system property 'sun.java2d.renderer'
java -Xbootclasspath/a:[path]/marlin-0.3.jar -Dsun.java2d.renderer=org.marlin.pisces.PiscesRenderingEngine ...
See Tuning options