[OpenJDK 2D-Dev] [10] RFR JDK-8191814: Marlin rasterizer spends time computing geometry for stroked segments that do not intersect the clip
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Thu Dec 7 19:43:24 UTC 2017
I am not an expert here, I just look to the changes and run the closed
tests for jdk_desktop group. No new issues were found, so it looks fine
to me.
On 05/12/2017 06:30, Laurent Bourgès wrote:
> Hi again,
>
> Here is a new webrev fixing the ClipShapeTest:
> http://cr.openjdk.java.net/~lbourges/marlin/marlin-082-8191814.1/
>
> Changes:
> - @run twice to test both Marlin variants (float / double)
> - use Logger to get & check marlin system properties
> ("sun.java2d.renderer.clip.runtime.enable") to ensure the test is run
> against a Marlin renderer having the clipping features
>
> I tested the fixed test on JDK9 and it fails:
> runner finished test: sun/java2d/marlin/ClipShapeTest.java
> Failed. Execution failed: `main' threw exception:
> java.lang.RuntimeException: Marlin clipping not enabled at runtime !
>
> On JDK10 + patch, it passes:
> sun/java2d/marlin/ClipShapeTest.java
> Passed. Execution successful
>
>
> PS: Could anyone review the patch ? before RDP1 deadline ?
>
> Regards,
> Laurent
>
>
> 2017-12-04 23:35 GMT+01:00 Laurent Bourgès <bourges.laurent at gmail.com
> <mailto:bourges.laurent at gmail.com>>:
>
> Hi Sergey,
>
> Thanks for your comment.
>
> This new test only validates the new clipping algorithms ie it
> compares the rendering outputs with / without clipping enabled.
>
> As such algorithms are only available in Marlin 0.8.2 and the test
> uses new system properties to enable/disable clipping, I confirm it
> passes before (jdk9 or jdk10 before patch).
>
> To ensure it detects any regression, I manually inserted some bugs
> in the clipping code, and the test failed.
>
> Note: I should add another test @run to check the float variant too
> (and not only the double variant, the default in jdk10).
>
> Finally I could write a new performance test that would prove
> clipping is more efficient than before.
> Such test would fail before patch (timeout ?), but it is difficult
> to make it robust as it depends on the hw.
> Jim wrote a basic test in the jfx bug showing 300ms without but 2ms
> now => gain is high.
> A possible success condition would be: clipping gain > 10 or 50.
>
> Regards,
> Laurent
>
>
> Le 4 déc. 2017 11:11 PM, "Sergey Bylokhov"
> <Sergey.Bylokhov at oracle.com <mailto:Sergey.Bylokhov at oracle.com>> a
> écrit :
>
> Hi, Laurent.
>
> On 29/11/2017 14:30, Laurent Bourgès wrote:
>
> - added new ClipShapeTest (jtreg) that checks all possible
> combinations of (cap / join) for random polyline (Stroker)
> and polygons (Filler) comparing image outputs rendered with
> clipping enabled vs disabled
>
>
> I have only one note that the test is passed before the fix, so
> if we will regress at some point later we will not catch this.
>
>
> --
> Best regards, Sergey.
>
>
>
>
>
> --
> --
> Laurent Bourgès
--
Best regards, Sergey.
More information about the 2d-dev
mailing list