Skip to content

Releases: bourgesl/marlin-renderer

Marlin-renderer 0.9.3

04 Sep 21:08
Compare
Choose a tag to compare

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+

01 Jun 12:03
Compare
Choose a tag to compare

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

09 May 20:36
Compare
Choose a tag to compare

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+

08 Feb 21:33
Compare
Choose a tag to compare

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

01 Feb 22:36
Compare
Choose a tag to compare

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

25 Jan 22:25
Compare
Choose a tag to compare
Pre-release

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

18 Jan 22:31
Compare
Choose a tag to compare
Pre-release

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

18 Jan 12:39
Compare
Choose a tag to compare
Pre-release

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

06 Jan 22:00
Compare
Choose a tag to compare
Marlin-renderer 0.9.0 Pre-release
Pre-release

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+

29 Nov 23:16
Compare
Choose a tag to compare

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 !