Is it possible to enable hardware acceleration wit

2019-05-01 01:33发布

问题:

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.

回答1:

It is fairly easy : -Dprism.forceGPU=true



回答2:

you can also define the order that javaFx tries to use like: -Dprism.order=es2,j2d. You need it if you want OpenGl rendering on Windows



回答3:

looks like you have not installed DirectX.

Direct3D initialization failed..