On Mon, 11 Jan 2021 09:00:27 GMT, Laurent Bourgès <[email protected]> wrote:
>> This is my fix proposal to this bug:
>> - added new method strokeTo(... Region clip ...) in the abstract
>> RenderingEngine class
>> - fixed all RenderingEngine implementations in java.desktop module
>> - MarlinRenderingEngine now uses the clip region to roughly & quickly clip
>> the given shape in strokeTo(clip)
>> - LoopPipe.getStrokeSpans() uses the new strokeTo(clip) method to get good
>> performance with huge dashed shapes.
>>
>> I wrote a new test class to validate the bug fix.
>
> Laurent Bourgès has updated the pull request incrementally with two
> additional commits since the last revision:
>
> - fixed copyright year
> - removed invalid jtreg test
src/java.desktop/share/classes/sun/java2d/pipe/SpanShapeRenderer.java line 45:
> 43: */
> 44: public abstract class SpanShapeRenderer implements ShapeDrawPipe {
> 45:
I suppose this is just clean up when you happened to notice it wasn't used/
test/jdk/sun/java2d/marlin/StrokedLinePerf.java line 37:
> 35: * @bug 7018932
> 36: * @summary fix LoopPipe.getStrokedSpans() performance (clipping enabled
> by Marlin renderer)
> 37: * @run main/othervm/timeout=10
> -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine StrokedLinePerf
I hope 10 seconds is enough for a stable test .. not connecting to the
windowing system so maybe.
src/java.desktop/share/classes/sun/java2d/marlin/TransformingPathConsumer2D.java
line 902:
> 900:
> 901: // clip rectangle (ymin, ymax, xmin, xmax) including padding:
> 902: final double[] clipRectPad = new double[4];
are all the changes to double needed for this ? Or just preparation for
removing the float pipeline ?
-------------
PR: https://git.openjdk.java.net/jdk/pull/2013