Marlin-renderer 0.9.4 EA
This is the Marlin-renderer 0.9.4 EA release providing the new Dual Pivot Quick Sort (18.11) as its internal sorter replacing the Marlin's optimized MergeSort (x-position + edge indices).
On very dense scenes, it boosts sorting scanline spans: 100K segments takes 5,736s compared to 14,433s in 0.9.3 (with AA), 0,848s vs 1,125s (no AA), ie 2.5x to 32% faster in such extreme scenes; however, it means Marlin 0.9.4 will not have corner cases when zooming in / out huge sketches.
Special Thanks to Vladimir Yaroslavskiy that provided me up-to-date DPQS 18.11 with several variants, improving almost-sorted datasets. We are collaborating to provide a complete Sort framework (15 algorithms, many various datasets, jmh benchmarks) publicly on github: see https://github.com/bourgesl/nearly-optimal-mergesort-code
Release v0.9.4 (build 2018/12/16):
- marlin-0.9.4-Unsafe.jar (RenderingEngine only)
- marlin-0.9.4-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder. It includes D3D / OGL buffer tuning (1M) to speed up blending on volatile images
Compatible with Oracle JDK 1.6, 1.7, 1.8 and the Marlin-graphics library.
Please give us your your feedback, as usual !
You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc
Enjoy the Marlin renderer,
Let's save our planet: be smart and energy efficient,
Laurent