Marlin renderer patches for jdk8u integration

David Alvarez alvdavi at amazon.com
Fri Nov 8 01:32:14 UTC 2019


Hi,

We’ve run the TCK with Marlin enabled, certification passes. So far so good.

Then, in some of our additional testing we noticed small differences in
the rendering of some components.

The simplest example we’ve been able to find is the java.awt.Choice in
Windows 10. When using a JDK with the patches applied, this component
will be rendered with one extra height pixel.

I've uploaded some images for comparison. Here[1] is how the component
is displayed using 8u232, and here[2], how it looks when using a version
of 8u232 that contains your patches. The difference is noticeable when
we put the components side by side[3], more so if we zoom in[4].

This can also cause a one-pixel overlap when these components are
rendered on a vertical box layout[5].

The behavior persisted even when changing the rendering engine back to
Pisces, so it seems it is caused by changes outside Marlin, most likely
on AAShapePipeline.

The new behavior is consistent with JDK11, but it still worries me a
little. Any idea why this is happening? If you want, I can provide you
with a sample program and compared images.

For reference, I've also updated the code used during the images[6]

--
David Alvarez

[1] http://cr.openjdk.java.net/~alvdavi/emails/marlin/vanilla.png
[2] http://cr.openjdk.java.net/~alvdavi/emails/marlin/marlin.png
[3] http://cr.openjdk.java.net/~alvdavi/emails/marlin/comparison.png
[4] http://cr.openjdk.java.net/~alvdavi/emails/marlin/detail.png
[5] http://cr.openjdk.java.net/~alvdavi/emails/marlin/multiple.png
[6] http://cr.openjdk.java.net/~alvdavi/emails/marlin/MarlinTest.java



On 2019-11-05 02:40, Laurent Bourgès wrote:
> Hi Paul
> 
> Le lun. 4 nov. 2019 à 20:30, Hohensee, Paul <hohensee at amazon.com
> <mailto:hohensee at amazon.com>> a écrit :
> 
>     Also, we (Amazon) would like the Marlin renderer enabled by default,
>     just as it is for Zulu. It's been well-tested starting in 9, plus I
>     doubt it'll get much, if any, use in u242 if we e.g. disable it for
>     u242 and then enable it for u252.
> 
>     Please put the patches on cr.openjdk.java.net
>     <http://cr.openjdk.java.net> so we can go through a normal review
>     process.
> 
> 
> I uploaded all patch files (m01 to m21):
> http://cr.openjdk.java.net/~lbourges/marlin-jdk8/marlin-jdk8.0/
> 
> Laurent



More information about the jdk8u-dev mailing list