Releases: bourgesl/marlin-renderer
Marlin-renderer 0.9.3
This is the Marlin-renderer 0.9.3 release providing only bug fixes:
- fixed clipping when the affine transform uses negative scaling factors (asymetric)
- fixed clipping at clip borders with complex affine transforms (large or small scale)
Release v0.9.3 (build 2018/08/04):
- marlin-0.9.3-Unsafe.jar (RenderingEngine only)
- marlin-0.9.3-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder. It includes D3D / OGL buffer tuning (1M) to speed up blending on volatile images
Compatible with Oracle JDK 1.6, 1.7, 1.8 and with the Marlin-graphics library.
Please give us your your feedback, as usual !
You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc
Enjoy the Marlin renderer,
Laurent
Marlin-renderer 0.9.2 for JDK9+
Java.desktop System module patch for JDK9 or JDK10 providing Marlin Renderer 0.9.2
It provides same features as Marlin-renderer 0.9.2 providing bug fixes and few enhancements:
- fixed bug in Dasher.init(): phase normalization may use dirty parts in dash array
- fixed PathSimplifier: always emit last point
- refined large tile support: only enabled on linux xrender or headless mode (128x64 instead of 32x32)
- new profile setting (-Dsun.java2d.renderer.profile=speed|quality)
- D3D/OGL buffer tuning (1M) to speed up blending on volatile images
Usage:
java --patch-module java.desktop=<path>/marlin-0.9.2-Unsafe-OpenJDK9.jar ...
Please give us your your feedback, as usual !
You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc
Enjoy the Marlin renderer,
Laurent
Marlin-renderer 0.9.2
This is the Marlin-renderer 0.9.2 release providing bug fixes and few enhancements:
- fixed bug in Dasher.init(): phase normalization may use dirty parts in dash array
- fixed PathSimplifier: always emit last point
- refined large tile support: only enabled on linux xrender or headless mode (128x64 instead of 32x32)
- new profile setting (-Dsun.java2d.renderer.profile=speed|quality)
- (optional) D3D/OGL buffer tuning (1M) to speed up blending on volatile images
Release v0.9.2 (build 2018/05/09):
- marlin-0.9.2-Unsafe.jar (RenderingEngine only)
- marlin-0.9.2-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder. It includes D3D / OGL buffer tuning (1M) to speed up blending on volatile images
Compatible with Oracle JDK 1.6, 1.7, 1.8 and with the Marlin-graphics library.
Please give us your your feedback, as usual !
You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc
Enjoy the Marlin renderer,
Laurent
Marlin-renderer 0.9.1 for JDK9+
Java.desktop System module patch for JDK9 or JDK10 providing Marlin Renderer 0.9.1
It provides same features as Marlin-renderer 0.9.1: ultimate path clipper (stroker / filler / dasher) + use Double variant by default (RenderingEngine class upgraded to JDK10 version)
Usage:
java --patch-module java.desktop=<path>/marlin-0.9.1-Unsafe-OpenJDK9.jar ...
Enjoy Marlin !
Marlin-renderer 0.9.1
This is the Marlin-renderer 0.9.1 release including the new ultimate path clipper implemented in both single and double precision variant: it computes curve intersections at clip edges then only renders visible parts and skips hidden parts (dash state is preserve with high accuracy).
It is very impressive for large dashed shapes as previously Dasher emitted lots of small dashes rejected by Stroker (up to 100x or 1000x for huge shapes) : no lag or hanging situations !
I made lots of automated tests (lines, quads, cubics) with all possible combinations of caps, joins, dashes that allowed me to fix some pre-existing bugs in Pisces cubic roots solver (accuracy issue for flat cubics):
see results
Note: stroked quads / cubics width appeared slightly different as clipped curves allow better estimation of curve offsets: it is a quality improvement, not artefacts.
Release v0.9.1 (build 2018/02/01):
- marlin-0.9.1-Unsafe.jar (RenderingEngine only)
- marlin-0.9.1-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder
Compatible with Oracle JDK 1.6, 1.7, 1.8 and with the Marlin-graphics library.
Please give us your your feedback, as usual !
You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc
Enjoy the Marlin renderer,
Laurent
Marlin 0.9.1 EA build 3
Marlin 0.9.1 EA build 3 provides the first Complete implementation of Dasher clipping with accurate curve subdivisions at clip edges: ONLY the Double-precision variant improved.: use DMarlinRenderingEngine !
Changes:
- Integration tests: OK
- Fixed dash state (on/off, phase) to have consistent rendering with/without clipping: it subdivides curves to estimate accurately their length and only adjust the dasher state (phase) only when needed
- Minor cleanups
Please give your feedback, it is very important !
Enjoy, Marlin
Marlin 0.9.1 EA build 2
Marlin 0.9.1 EA build 2 provides the first implementation of clipping in Dasher & curve clipping enhancement (intersection computations): ONLY the Double-precision variant improved.: use DMarlinRenderingEngine !
Changes:
- Fixed clip area padding for curve intersections (precision issue again) that led to bad performance for huge shapes
Note: Dash clipping does not preserve dash phase (for now), so dashes may have some offsets (TBD later)
Please give your feedback, it is very important !
Enjoy, Marlin
PS: Some Perfs results with huge clipped shapes (dash = 1px):
-
RECT_SIZE: 3.072E7
Before:
paint: duration= 2183.929231 ms.
With new curve subdivider:
paint: duration= 2.082739 ms. -
CIRCLE RADIUS: 1.8432E7
Before:
paint: duration= 5295.282114 ms.
With new curve subdivider:
paint: duration= 2.404911 ms.
Marlin 0.9.1 EA build 1
Marlin 0.9.1 EA provides the first implementation of clipping in Dasher & curve clipping enhancement (intersection computations).
Note: Dash clipping does not preserve dash phase (for now), so dashes may have some offsets (TBD later)
Please give your feedback, it is very important !
Enjoy, Marlin
Marlin-renderer 0.9.0
First Marlin 0.9 release:
- Higher sub-pixel accuracy (256x8) + larger tiles (128x64) for higher performance (~10%)
- Higher accuracy for dashes (float precision issue & refined curve length computation)
- 4K display tuning
- New Path simplifier (disabled by default) to reduce complexity (radial distance tolerance)
- Use (embedded) JaFaMa 2.2 for faster Math cbrt / acos / asin functions (cubic curves)
Marlin-renderer 0.8.2 for JDK9+
Java.desktop System module patch for JDK9 or JDK10 providing Marlin Renderer 0.8.2
It provides same features as Marlin-renderer 0.8.2: efficient path clipping + use Double variant by default (RenderingEngine class upgraded to JDK10 version)
Usage:
java --patch-module java.desktop=<path>/marlin-0.8.2-Unsafe-OpenJDK9.jar ...
Enjoy Marlin !