Here is my talk proposal (25 minutes) on my personal contribution to open source software:


Title: Marlin renderer, a successful fork and join the OpenJDK 9 project

Abstract:

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.

Recording me on audio and/or video: acceptable under a CC-BY-2.0 license (DEFAULT)

Bio: Laurent Bourgès lives in Grenoble, France, and works as a software engineer for a public astronomical research laboratory but contributes to several open source java projects (eclipselink, openjdk, gvsig CE and astronomical software libraries). He is developing java desktop and web applications for 15 years (since 1.1.7) on unix machines (sun, linux) but is strongly interested by performance and concurrency issues (profiling, benchmarking, algorithms).

He started contributions to OpenJDK 8 in 2013 (core-libs patches) and joined the graphics-rasterizer project in march 2015 to contribute the Marlin renderer back to OpenJDK9.

Project URL: https://github.com/bourgesl/

Microblog URL: @laurent_bourges

--
Laurent Bourgès