Phil, In the following bug, you propose to remove the ServiceLoader in the RenderingEngine class: https://bugs.openjdk.java.net/browse/JDK-8038875
For now the jdk has only ductus and pisces engines but I am working on marlin which is an improved pisces: https://github.com/bourgesl/marlin-renderer To use marlin I rely on this service loader... but maybe others too. Please keep at least the factory pattern to let users choose which rendering engine to use at startup. PS: I still hope merging my changes from marlin into jdk9 pisces in future to improve both performance & visual quality. Regards, Laurent