Marlin is the FAST Java2D antialiasing rasterizer derived from OpenJDK Pisces (shape)
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 !
Latest release: https://github.com/bourgesl/marlin-renderer/releases/latest
JDK | Default renderer | Available Marlin release |
---|---|---|
Open JDK 6 - 7 | Pisces | Marlin-renderer 0.9.4.3 |
Oracle JDK 6 - 7 | Ductus | Marlin-renderer 0.9.4.3 |
Open JDK 8 | Pisces | Marlin-renderer 0.9.4.5 for JDK8 |
Oracle JDK 8 | Ductus | Marlin-renderer 0.9.4.5 for JDK8 |
Azul Zulu 8.20+ | Marlin 0.7.4 / 0.9.1.1 | Marlin 0.9.1.1 integrated in 2018.12, Marlin-renderer 0.9.4.5 for JDK8 |
Jetbrains JDK 8 | Marlin 0.7.4 / 0.9.3 | Marlin 0.9.3 integrated in 2018.09, Marlin-renderer 0.9.4.5 for JDK8 |
Open JDK 9 | Marlin 0.7.4 | Marlin-renderer 0.9.4.2 for JDK9+ |
Open JDK 10 | Marlin 0.8.2 | Marlin-renderer 0.9.4.2 for JDK9+ |
Open JDK 11 | Marlin 0.9.1 | Marlin-renderer 0.9.4.7 for JDK11+ |
Open JDK 11.0.2 | Marlin 0.9.1.1 | Marlin-renderer 0.9.4.7 for JDK11+ |
Open JDK 14 | Marlin 0.9.1.3 | Marlin-renderer 0.9.4.7 for JDK11+ |
Open JDK 17 | Marlin 0.9.1.4 | Marlin-renderer 0.9.4.7 for JDK11+ |
Open JDK 21 | Marlin 0.9.4.6 | Marlin-renderer 0.9.4.7 for JDK11+ |
For JavaFX, see the Marlin-FX project
Continuous Integration base on Github Actions (build + unit & integration tests):
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
See the Benchmarks
Documentation on how to use and tune the Marlin renderer is available in the wiki
Help is needed to improve the wiki & documentation !
Users and developers interested in the Marlin-renderer are kindly invited to join the marlin-renderer Google Group.
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)
To support my efforts on improving either Java2D or JavaFX rendering thanks to the Marlin & MarlinFX projects, you can become my patron: https://www.patreon.com/user?u=9339017
Please help if you appreciate the Marlin project:
The Marlin renderer project benefits from the following tools:
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.