Marlin is the FAST Java2D antialising rasterizer derived from OpenJDK Pisces (shape)
Java Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Marlin-renderer

Marlin is an open source (GPL2 + CP) Java2D RenderingEngine optimized for performance (improved memory usage (~ no GC) and footprint, better multi-threading) and better visual quality based on openjdk's pisces implementation. It handles shape rendering (Graphics2D draw(Shape) / fill(Shape) with stroke & dash attributes only but it does it very well !

Release history

Latest release: https://github.com/bourgesl/marlin-renderer/releases/latest

JDK Default renderer Available Marlin release
Oracle JDK 6 - 8 Ductus Marlin-renderer 0.9.2
Open JDK 6 - 8 Pisces Marlin-renderer 0.9.2
Azul Zulu 8.20+ Marlin 0.7.4 Marlin-renderer 0.9.2
Jetbrains JDK 8 Marlin 0.7.4 / 0.9.2 Marlin 0.9.2 integrated in may 2018
Oracle / Open JDK 9 Marlin 0.7.4 Marlin-renderer 0.9.2 for JDK9+
Oracle / Open JDK 10 Marlin 0.8.2 Marlin-renderer 0.9.2 for JDK9+
Oracle / Open JDK 11 Marlin 0.9.1 Marlin-renderer 0.9.2 for JDK9+

For JavaFX, see the Marlin-FX project

News

Build status

Continuous Integration by Travis CI (build + unit & integration tests):

  • Branch unsafe-dev (jdk6-8):

build status

* Branch use_Unsafe (jdk6-8):

build status

* Branch jdk (jdk9+):

build status

License

As marlin is a fork from OpenJDK 8 pisces, its license is the OpenJDK's license = GPL2 + ClassPath exception:

GNU General Public License, version 2, with the Classpath Exception

The GNU General Public License (GPL)

Version 2, June 1991

See License.md

Performance

See the Benchmarks

Documentation

Documentation on how to use and tune the Marlin renderer is available in the wiki

Help is needed to improve the wiki & documentation !

Getting in touch

Users and developers interested in the Marlin-renderer are kindly invited to join the marlin-renderer Google Group.

Contributing

Contributions are welcomed, get in touch with us on the marlin-renderer Google Group and share your improvements via pull requests. Since we contribute this renderer into OpenJDK, we accept contributions from people that have signed the Oracle Contribution Agreeement (very easy to do)

Support our work

To support our efforts on improving either Java2D or JavaFX rendering thanks to the Marlin & MarlinFX projects, please contribute to the gofundme campaign 'Marlin renderer 0.9 dev & FX port': https://www.gofundme.com/marlin-09

Please help if you appreciate the Marlin project:

  • share your benchmark & test results (quality ?)
  • improve test cases, quality & unit tests, submit bug reports
  • documentation should be improved & updated

Related projects

  • Mapbench provides testing & benchmarking tools based on real world map painted by the GeoServer
  • Marlin-FX provides the Marlin renderer port into JavaFX Prism (shape rasterizer)

Acknowledgments:

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

Yourkit logo