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 > don't think so) > Will fi

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. > MarlinFX is what you are p

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 par

Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Laurent Bourgès
Felix & Tobias, Could you please start another thread to discuss the parallelization (multi-threading) in JavaFX Graphics ? I am a bit lost as there is 13 messages since 12 hours on several topics (marlin, MT ...) so I would like closing this topic soon by answering MarlinFX questions and partici

Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Felix Bembrick
If Oracle are interested in it (and permit me to be part of the JavaFX community on a level playing field), I would be more than happy to! (Such as not having to wait for every post to be moderated for example). > On 10 Nov. 2016, at 21:56, Tobias Bley wrote: > > What about performance benchma

Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Felix Bembrick
Started? I have a fully working prototype! And it's not just "parallelised" but it greatly improves the efficiency and utilisation of both the CPU (and cores) and the GPU(s). > On 10 Nov. 2016, at 18:35, Tobias Bley wrote: > > Do you have started any parallelization? > > > >> Am 10.11.2016

Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Laurent Bourgès
Hi, First results with DemoFX (run.sh -e sierpinski) to compare a simple path scene with HW pipeline (es2): - native pisces: 138 fps - open pisces: 150 fps - marlin fx: 300 fps But it is too simple to evaluate Marlin improvements: the more complex the shape is, the more performance you get Laure

Re: Marlin-Renderer and JavaFX

2016-11-10 Thread Tobias Bley
What about performance benchmark? Did you already tried to benchmark your prototype with DemoFX from Chris Newsland? https://github.com/chriswhocodes/DemoFX > Am 10.11.2016 um 08:40 schrieb Felix Bembrick : > > Started? I have a fully working pro

Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Tobias Bley
Do you have started any parallelization? > Am 10.11.2016 um 01:02 schrieb Felix Bembrick : > > If you want to know how to parallelise the JavaFX pipeline (or how it's > already been done with amazing results) then talk to me. > > If, of course, this email gets moderated... > >> On 10 Nov. 20

Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Felix Bembrick
> On 10 Nov. 2016, at 10:27, Jim Graham wrote: > > 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 >>> Render

Re: Marlin-Renderer and JavaFX

2016-11-09 Thread Felix Bembrick
If you want to know how to parallelise the JavaFX pipeline (or how it's already been done with amazing results) then talk to me. If, of course, this email gets moderated... > On 10 Nov. 2016, at 10:57, Felix Bembrick wrote: > > > >> On 10 Nov. 2016, at 10:27, Jim Graham wrote: >> >> On 10/

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 fil

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 purpose

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 hur

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. Howeve

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 API

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' - SWContext

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 extension

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 ra

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 "d

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 shou

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? Yo

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 mo

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 t

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 di

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 q

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

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:34 s

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

RE: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-19 Thread Markus KARG
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, s

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 as

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 / develo

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-19 Thread Davide Malpassini
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 / developer the possibility to use and test on real applications the benefit of this Renderer . This is only an user opinion , but i think that the benefits are bi

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-17 Thread Sven Reimers
Seeing that there is JEP about AOT showing a 9 in the release number just published, Marlin-Renderer should not be so big... -Sven Am 17.10.2016 16:42 schrieb "Kevin Rushforth" : > Hi Laurent, > > Sure, we will share any benchmark results we have, although we likely > won't have too much time to

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-17 Thread Kevin Rushforth
Hi Laurent, Sure, we will share any benchmark results we have, although we likely won't have too much time to spend on it in the near term, since we are busily fixing bugs for JDK 9. As for getting this into JDK 9, it is way too late for something of this scope. We are already past feature fre

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 OpenJDK

RE: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-15 Thread Markus KARG
h any JavaFX 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

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 othe

Re: Fwd: Re: Marlin-Renderer and JavaFX

2016-10-15 Thread Kevin Rushforth
Hi Laruent, This sounds promising. I looks forward to taking it for a test drive. Besides asking other people to help you evaluate it and test it (which you just did), the next step would be for you to file a JEP for javafx/graphics as you did earlier for client-libs/java2d. It seems like som

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: m