Backport proposal of the Marlin renderer in OpenJDK8

Mathiske, Bernd mathiske at amazon.com
Thu Aug 8 15:40:51 UTC 2019


+1 from Amazon. Looking forward to having Marlin in the fold.

On 8/8/19, 8:36 AM, "jdk8u-dev on behalf of Martijn Verburg" <jdk8u-dev-bounces at openjdk.java.net on behalf of martijnverburg at gmail.com> wrote:

    +1 to this, we'll (Adopt) happily help with the backport and testing as
    well.  Let us know if/when there's a forest we can contribute to, build and
    test from.
    
    Cheers,
    Martijn
    
    
    On Thu, 8 Aug 2019 at 08:19, Laurent Bourgès <bourges.laurent at gmail.com>
    wrote:
    
    > Hi,
    > I am switching to jdk8u-dev too.
    >
    > Le jeu. 8 août 2019 à 07:00, Gil Tene <gil at azul.com> a écrit :
    >
    > > Cross-posting to jdk8u-dev
    > >
    > > > On Aug 7, 2019, at 7:51 AM, Gil Tene <gil at azul.com> wrote:
    > > >
    > > > As our all of our Zulu 8 builds already integrate Marlin as our default
    > > renderer,
    > > > test it with every build, and support a multitude of both free and
    > > commercial
    > > > customers using it, we (Azul) are wholeheartedly supportive of
    > including
    > > Marlin
    > > > in 8u. We will actively participate in back-porting fixes,  solving
    > > problems that may
    > > > happen in production systems in 8u, and (obviously) upstreaming any
    > > fixes we
    > > > end up doing to Marlin code in Zulu 8.
    > >
    >
    > Thank you Gil and the Azul team for your feedback & help offer, I wonder
    > who in your zulu team could join the discussion and work with me on this
    > topic ?
    >
    > In particular, you already listed and backported all jdk9->11 patches into
    > your jdk8 repository.
    >
    > For me, the only needed change between jdk & jdk8u concerns the
    > RenderingEngine class:
    > - jdk8 uses ServiceLoader and its property file
    > - changing or not the default engine: pisces -> double-precision marlin
    > rendering engine
    >
    > >
    > This class change must stay specific to jdk8u, as a different patch.
    >
    > Finally I wonder if we should backport each individual jdk9, 10, 11, 14
    > patches into jdk8u as a long train or you would accept 1 large patch
    > gathering all patches.
    > Of course, the latter approach seems simpler to me, but it requires a
    > careful review to ascertain the code is the same with the current jdk
    > repository (jdk 14).
    > Once jdk8u & jdk14 have Marlin renderer 0.9.1.2, we will simply backport
    > future changes.
    >
    > PS: I compared the performance on OpenJDK 8 (jdk8u latest) between Pisces &
    > Marlin renderers = 3.5 times faster at 95% percentiles (MapBench):
    >
    > https://github.com/bourgesl/bourgesl.github.io/blob/master/openjdk8/ojdk8u_pisces.log
    >
    > https://github.com/bourgesl/bourgesl.github.io/blob/master/openjdk8/ojdk8u_marlin_0941.log
    >
    > Cheers,
    > Laurent
    >
    >
    > > >> On Aug 7, 2019, at 2:33 AM, Laurent Bourgès <
    > bourges.laurent at gmail.com>
    > > wrote:
    > > >>
    > > >> Dear Mario,
    > > >>
    > > >>> Le mer. 7 août 2019 à 10:40, Mario Torre <neugens at redhat.com> a
    > écrit
    > > :
    > > >>>
    > > >>> Hi Laurent,
    > > >>>
    > > >>> I would be supportive with this if we had help backporting fixes and
    > > >>> solving problems that may happen in production systems in 8u.
    > > >>>
    > > >>
    > > >> As you probably know, I am the single maintainer of the Marlin
    > renderer,
    > > >> all that FOSS work is done on my spare time with very low funding
    > > (gofundme
    > > >> campaign only).
    > > >>
    > > >> I can do the backporting work concerning the Marlin renderer as I do
    > its
    > > >> main development on OpenJDK8 already.
    > > >>
    > > >> Anyway if any bug in the renderer is found, I already do the
    > > >> synchronization to fix all active branches:
    > > >> - my github: jdk8, jdk, jfx (8 branches)
    > > >> - jdk (14), jfx-dev (14)
    > > >> -  jdk11u
    > > >> ...
    > > >> - jetbrains jdk8u_jdk PR on github
    > > >>
    > > >> I could maintain 1 more openjdk8 branch but like you, I would
    > appreciate
    > > >> any help on backporting & testing.
    > > >>
    > > >> Cheers,
    > > >> Laurent
    > > >>
    > > >>
    > > >>> On Wed, Aug 7, 2019 at 10:05 AM Laurent Bourgès
    > > >>> <bourges.laurent at gmail.com> wrote:
    > > >>>>
    > > >>>> Hi,
    > > >>>>
    > > >>>> I want to discuss the opportunity to provide the Marlin renderer in
    > > >>> OpenJDK8 updates.
    > > >>>>
    > > >>>> FYI it is the java2d antialiasing renderer that replaced Pisces in
    > > >>> OpenJDK9 (integrated in 2015) that provide both better quality and
    > > >>> performance.
    > > >>>> I am still maintaining the code on github, openjdk and openjfx.
    > > >>>> FYI the Marlin renderer has a very efficient path clipper since v0.9
    > > >>> integrated in OpenJDK11 (2018.7).
    > > >>>> Very few bugs (<5) were reported since 2015.
    > > >>>>
    > > >>>> Risks: azul zulu 8 and jetbrains jdk8 provide the Marlin renderer as
    > > >>> their default renderer and it runs in production for years.
    > > >>>> I am aware that amazon corretto would like to have it backported
    > too.
    > > >>>> AdoptOpenJDK already mentioned such possible backport on their web
    > > pages.
    > > >>>>
    > > >>>> Finally I propose to
    > > >>>> - make a large patch (same marlin version as latest openjdk 14 ie
    > > >>> 0.9.1.1) to easily backport fixes in the future
    > > >>>> - leave it disabled by default. It will depend on the provider to
    > > enable
    > > >>> it in its binary releases.
    > > >>>>
    > > >>>> Cheers,
    > > >>>> Laurent
    > > >>>
    > > >>>
    > > >>>
    > > >>> --
    > > >>> Mario Torre
    > > >>> Associate Manager, Software Engineering
    > > >>> Red Hat GmbH <https://www.redhat.com>
    > > >>> 9704 A60C B4BE A8B8 0F30  9205 5D7E 4952 3F65 7898
    > > >>>
    > >
    > >
    >
    



More information about the jdk8u-dev mailing list