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 something we might consider for JDK 10, once the JDK 10 project is open and we start scoping it.

-- Kevin


Laurent Bourgès wrote:
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: merge sort + optimized array copies and cleanup).

I tested in on both linux & windows 64bits (server JVM) and it is at least
as fast as OpenPisces or faster (javafx shape rasterization is single
threaded up to now but marlin scales very well). Of course, it is always
faster than native pisces on my machines.

For the DemoFX sierpinski test:
- native pisces = 130fps
- open pisces = 150fps
- marlin-fx = 325fps
This test renders a very complex path so marlin-fx rocks in hard rendering
cases.
See https://github.com/chriswhocodes/DemoFX

Another DemoFX test (stars):
- open pisces:
stars = 170 fps
- marlin-fx:
stars = 259 fps
This test case is very simple: see
https://www.youtube.com/watch?v=N1rihYA8c2M

Setup: laptop zbook-15 (i7 4800 + nvidia Quadro K610M) on ubuntu 16.4 +
Oracle JDK 1.8.0_b102 (javafx) - VSYNC: OFF

Of course, there is lot of potential improvements in the JavaFX pipeline...
(multi-threading, inner/outer strokes...)

Finally I made a first step, and more benchmarks or test cases are needed
(I could port my MapBench tool) to get some realistic data.

Then how to go next, as there is no way to plug in such marlinFX in JavaFX
...

Could you have a look at the code (on my github) ?
I can make a webrev between openjfx and open jdk 9 if you prefer.

Cheers,
Laurent

Reply via email to