The Marlin renderer is an open source java2D anti-aliasing renderer, forked
from the OpenJDK's Pisces renderer, i.e. a pure-Java software renderer.
This small project, with only 2 contributors (Me and Andrea Aimé), is
hosted on my github (GPL v2) since 01/2014 to provide a faster alternative
with very good scalability to both Pisces & Ductus (closed-source C)
renderers. I made an important personal effort to optimize the memory
footprint, rewrite Pisces's algorithms, run regression tests & our MapBench
benchmarks (serialized maps). Many binary releases were published in 2014,
compatible with both OpenJDK & Oracle JDK 7 / 8, but mainly used by the
GeoServer & gvSIG CE projects (web and desktop open source GIS) which
provided complex rendering use cases and user feedbacks.
Thanks to my participation to FOSDEM 2015, I discussed with the OpenJDK
community how to contribute the Marlin renderer back. I joined the
graphics-rasterizer project in march 2015 to contribute Marlin as a new
standalone renderer for OpenJDK9. I worked hard with Jim Graham & Phil Race
(java2d team) and we proposed the JEP 265: Marlin Graphics Renderer in July
2015. It is now integrated and that intensive work made Marlin even faster !
In this session, you will learn how Marlin works (java2d pipeline, AA
algorithm, tuning & benchmark results), how to use it, what performance
optimizations were made and of course, my feedback on contributing to
OpenJDK. Of course, I will also make a demo comparing OpenJDK Pisces vs
Marlin on intensive rendering tasks (based on MapBench).
Finally I would really like to get people helping me to implement new
algorithms (clipping, more precise pixel coverage computation, efficient
gamma correction) or just try Marlin with their applications to gather more
user feedbacks.