Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Jim Graham
Another thought on multi-threaded scan-line rasterization would be to pre-scan the node tree and pre-rasterize all shapes into masks before we run through and render them to the destination. Again, that would be outside the scope of 9, but it would be a change only to the rendering process (and

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Laurent Bourgès
Jim, 2016-11-10 0:47 GMT+01:00 Jim Graham : > Hi Laurent, > > Great job on creating a very obvious minimal impact! That should help > streamline it through the approval process. > Thanks. > > Is MarlinProperties.isEnabled still used? (Searching patch file - no, I >

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Laurent Bourgès
Jim, 2016-11-10 0:39 GMT+01:00 Jim Graham : > Going forward perhaps we should refer to the version of Marlin in Java2D > as Marlin2D? > > Then Marlin is your original plug-in version that is still being worked on. > Marlin2D is what you integrated into OpenJDK/Java2D. >

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Laurent Bourgès
Jim, > > I would think an effort to parallelize a single shape rasterization would > be much simpler in scope. Still outside the current JDK 9 timeline, but > definitely something that could help in future releases. I believe that > once we put the edges into the internal structures we could

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Jim Graham
Hi Laurent, Great job on creating a very obvious minimal impact! That should help streamline it through the approval process. Is MarlinProperties.isEnabled still used? (Searching patch file - no, I don't think so) Kevin and I had a long back and forth over the packaging of the Reentrant

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Jim Graham
Going forward perhaps we should refer to the version of Marlin in Java2D as Marlin2D? Then Marlin is your original plug-in version that is still being worked on. Marlin2D is what you integrated into OpenJDK/Java2D. MarlinFX is what you are planning for FX. That's just for conversational

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Jim Graham
On 10/21/16 9:51 AM, Laurent Bourgès wrote: Jim, do you think possible to unify Marlin and MarlinFX for openjdk9 ? The main difference relies in different Shape/PathConsumer classes and Fx uses the AlphaConsumer + different initialization. Did you have a look at the diffs ? One of the big

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Jim Graham
On 10/20/16 5:34 AM, Kevin Rushforth wrote: For now the OpenPiscesRasterizer class uses a static Renderer (single instance) so it is single-threaded. In MarlinFX I could prepare the multi-threading support by using 1 RendererContext per thread (ThreadLocal) as I did in Marlin for java2d.

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-08 Thread Laurent Bourgès
Hi, I think we should wait for OpenJFX9 Jigsaw build patch that is coming and rebase / test again the proposed patch Marlin for JavaFX. Maybe jdk.internal.Cleaner or Unsafe.allocateDirect methods will be then available to the javafx.graphics module or that may be acceptable to export such jdk

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-07 Thread Laurent Bourgès
Jim, Here is the new patch: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-s02-ofx9.3/ Changes: - cleanup wrt OpenJDK9 (Unsafe is OK but I switch to the standard Cleaner) - modified PrismSettings as recommended and renamed all Marlin properties to use the prefix 'prism.marlin' -

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-04 Thread Laurent Bourgès
Hi Kevin & Jim, this plan looks good for me. > Thanks for the summary. We should proceed as you outlined. Can you file a > new RFE (Enhancement) to integrate Marlin into JavaFX as an optional > rasterizer (disabled by default) so we have a clean JBS issue to use for > the JDK 9 feature

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-04 Thread Jim Graham
FX enhancement: https://bugs.openjdk.java.net/browse/JDK-8169270 ...jim On 11/4/2016 8:21 AM, Kevin Rushforth wrote: Hi Jim, Thanks for the summary. We should proceed as you outlined. Can you file a new RFE (Enhancement) to integrate Marlin into JavaFX as an optional

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-04 Thread Jim Graham
On 11/4/2016 11:33 AM, Laurent Bourgès wrote: For SWContext, I figured out that only openpisces.* classes were used directly via imports (hardcoded) so I left it unchanged. So you propose to generalize use of marlin or native pisces ? I didn't notice that, I was just searching on the use of

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-04 Thread Laurent Bourgès
Jim, I agree your proposals on ShapeUtil and prism settings. Will do it in next webrev after cleanup and OpenJDK9 synchro, certainly happening during this week end. > I also noticed that the SWContext also chooses a rasterizer for its use using a copy of the decision logic in ShapeUtils. We

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-04 Thread Kevin Rushforth
Hi Jim, Thanks for the summary. We should proceed as you outlined. Can you file a new RFE (Enhancement) to integrate Marlin into JavaFX as an optional rasterizer (disabled by default) so we have a clean JBS issue to use for the JDK 9 feature extension request, rather than using JDK-8092373?

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-03 Thread Jim Graham
There are basically 2 isolated changes to the existing code base and then a set of added source files. The first change is to use Marlin if the appropriate property is specified, and those changes are very localized and easy to verify that they won't hurt anything. The second change is to

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-03 Thread Jim Graham
We currently control the configuration logging with prism.verbose, and we already have a place in PrismSettings where we dump out the configuration including which rasterizer we're using (native or java-based) if verbose is set. We should probably consolidate this along with the TODO to move

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-03 Thread Kevin Rushforth
Hi Laurent, Great progress. I agree with Sergey about avoiding unconditional logging, and about wanting a different name for the property (work with Jim on the property name). To answer a couple other questions: Does it look acceptable as a low risk RFE ? I would need to see the final

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-02 Thread Sergey Bylokhov
Probably the logging should be enabled only if we pass the upper case "True" to "-Dsun.javafx.marlin=True". I do not know is it correct to write to the system output unconditionally, can this affect application? And instead of "sun." can we use something different like "jdk." I guess the same

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-11-02 Thread Laurent Bourgès
Jim, Here is an updated patch for MarlinFX: http://cr.openjdk.java.net/~lbourges/marlinFX/marlinFX-s02-ofx9/ I made big improvements: MarlinFX is now "feature-complete": - Added MarlinAlphaConsumer & MarlinRenderer interfaces to define new methods on AlphaConsumer and common methods between AA &

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-21 Thread Laurent Bourgès
Hi, Some new from the Marlin sides: - Marlin (java2d) for openjdk9: I backported changes from openpisces Dasher and Stroker classes + optimized the tile filling for almost empty / full tiles = 10% gain on huge shapes. I plan to provide new webrevs soon - Marlin FX: I implemented a new RendererNoAA

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-20 Thread Kevin Rushforth
: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of Michael Paus Sent: Mittwoch, 19. Oktober 2016 15:07 To: openjfx-dev@openjdk.java.net Subject: Re: Fwd: Re: Marlin-Renderer and JavaFX I'd appreciate such a solution too. Michael Am 19.10.16 um 14:34 schrieb Kevin

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-20 Thread Laurent Bourgès
et] On Behalf Of Michael Paus >> Sent: Mittwoch, 19. Oktober 2016 15:07 >> To: openjfx-dev@openjdk.java.net >> Subject: Re: Fwd: Re: Marlin-Renderer and JavaFX >> >> I'd appreciate such a solution too. >> >> Michael >> >> Am 19.10.16 um 14:3

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-20 Thread Michael Paus
...@openjdk.java.net] On Behalf Of Michael Paus Sent: Mittwoch, 19. Oktober 2016 15:07 To: openjfx-dev@openjdk.java.net Subject: Re: Fwd: Re: Marlin-Renderer and JavaFX I'd appreciate such a solution too. Michael Am 19.10.16 um 14:34 schrieb Kevin Rushforth: Jim Graham suggested the same thing to me

RE: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-19 Thread Markus KARG
] On Behalf Of Michael Paus Sent: Mittwoch, 19. Oktober 2016 15:07 To: openjfx-dev@openjdk.java.net Subject: Re: Fwd: Re: Marlin-Renderer and JavaFX I'd appreciate such a solution too. Michael Am 19.10.16 um 14:34 schrieb Kevin Rushforth: > Jim Graham suggested the same thing to me privately, so

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-19 Thread Michael Paus
I'd appreciate such a solution too. Michael Am 19.10.16 um 14:34 schrieb Kevin Rushforth: Jim Graham suggested the same thing to me privately, so he and Laurent are currently looking into that possibility. -- Kevin Davide Malpassini wrote: I think that Marlin-Renderer can be included not

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-19 Thread Kevin Rushforth
Jim Graham suggested the same thing to me privately, so he and Laurent are currently looking into that possibility. -- Kevin Davide Malpassini wrote: I think that Marlin-Renderer can be included not as a default renderer to limit the impact to the jdk9 release , but leave to the user /

RE: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-16 Thread Laurent Bourgès
Mark, > Laurent, the problem is that OpenJDK 9's feature set is already fixed, so I think it is not possible to *officially* adopt huge features like Marlin FX at such a "late" point. Besides that I think that Marlin FX is of so high value to OpenJDK that I would like to nominate you as an

RE: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-16 Thread Markus KARG
FX 8 or 9 application? -Markus -Original Message- From: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of Laurent Bourgès Sent: Samstag, 15. Oktober 2016 19:32 To: Kevin Rushforth Cc: Jim Graham; openjfx-dev@openjdk.java.net Subject: Re: Fwd: Re: Marlin-Renderer and JavaFX

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-15 Thread Laurent Bourgès
Hi Kevin, > This sounds promising. I looks forward to taking it for a test drive. Thanks for your feedback. Could you share benchmark tools ? Or at least your results. I also tested marlinFX with large texts and it rocks. See https://bugs.openjdk.java.net/browse/JDK-8090461 > Besides asking

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-15 Thread Laurent Bourgès
Hi, I am pleased to announce the new MarlinFX project I released 2 days ago (GPL v2): https://github.com/bourgesl/marlin-fx MarlinFX is the JavaFX port of the Marlin renderer (scanline rasterizer integrated in OpenJDK9) aimed to be faster than Open/Native Pisces (notably for very complex paths: