And related to that, is there a way to force Java FX to use hardware acceleration and bomb if it is unable to?
Just found out:
You can run with -Dprism.verbose=true
which will print what graphics pipeline it uses. "sw" or "j2d" for software and "d3d" or "es2" for hardware accelerated.
You can also try this hack
@SuppressWarnings("restriction")
static String getCurrentGraphicsPipeline() {
return com.sun.prism.GraphicsPipeline.getPipeline().getClass().getName();
}
If you get back "com.sun.prism.sw.SWPipeline"
then you're using software acceleration. All other values will mean that probably some form of hardware acceleration is being used.
If you are using eclipse as IDE, then you need to pass these VM arguments. You can add these VM arguments in the run Configurations.
Put these arguments there:
-Dprism.verbose=true
For software renderers, the SCENE 3D feature is disabled.
if(Platform.isSupported(ConditionalFeature.SCENE3D)) {
// hardware accelerated renderer
} else {
// software renderer
}
It is possible to set your graphics pipeline using the -Dprism.order=es2
VM-option. You can replace es2 for the desired pipeline (d3d, sw, j2d).
© 2022 - 2024 — McMap. All rights reserved.