I am pleased to announce the new MarlinFX project I released 2 days ago
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
Another DemoFX test (stars):
- open pisces:
stars = 170 fps
stars = 259 fps
This test case is very simple: see
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.