As discussed in this question, it's possible to detect whether Java FX is using hardware acceleration by passing
-Dprism.verbose=true as a system property. When I do this on my Java FX app on Windows 2008 Server R2, it is apparently falling back to the software rendering:
Prism pipeline init order: d3d j2d Using t2k for text rasterization Using dirty region optimizations Prism pipeline name = com.sun.prism.d3d.D3DPipeline Loading D3D native library ... succeeded. Direct3D initialization failed Wrong operating system version (X) Got class = class com.sun.prism.d3d.D3DPipeline GraphicsPipeline.createPipeline: error initializing pipeline com.sun.prism.d3d.D3DPipeline *** Fallback to Prism SW pipeline Prism pipeline name = com.sun.prism.j2d.J2DPipeline (X) Got class = class com.sun.prism.j2d.J2DPipeline Initialized prism pipeline: com.sun.prism.j2d.J2DPipeline
My question is, is it possible to force hardware acceleration, say by fooling JFX into thinking I have a different operating system? I'm hoping it might Just Work if I could bypass the OS check somehow.
It is fairly easy : -Dprism.forceGPU=true