On Mon, 11 Jan 2021 09:00:27 GMT, Laurent Bourgès <lbour...@openjdk.org> 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