有没有办法检测JavaFX是否使用硬件加速?

有没有办法检测JavaFX是否使用硬件加速?,java,javafx-2,hardware-acceleration,Java,Javafx 2,Hardware Acceleration,与此相关的是,如果Java FX无法使用硬件加速和轰炸,是否有办法强制它使用硬件加速和轰炸?刚刚发现: 您可以运行-Dprism.verbose=true,它将打印它使用的图形管道。“sw”或“j2d”表示软件,而“d3d”或“es2”表示硬件加速。您也可以尝试这种方法 @SuppressWarnings("restriction") static String getCurrentGraphicsPipeline() { return com.sun.prism.GraphicsPip

与此相关的是,如果Java FX无法使用硬件加速和轰炸,是否有办法强制它使用硬件加速和轰炸?

刚刚发现:


您可以运行
-Dprism.verbose=true
,它将打印它使用的图形管道。“sw”或“j2d”表示软件,而“d3d”或“es2”表示硬件加速。

您也可以尝试这种方法

@SuppressWarnings("restriction")
static String getCurrentGraphicsPipeline() {
    return com.sun.prism.GraphicsPipeline.getPipeline().getClass().getName();
}

如果返回
“com.sun.prism.sw.SWPipeline”
,则使用的是软件加速。所有其他值都意味着可能正在使用某种形式的硬件加速。

如果使用eclipse作为IDE,则需要传递这些VM参数。您可以在运行配置中添加这些VM参数

把这些论点放在这里:
-Dprism.verbose=true


可以使用
-Dprism.order=es2
VM选项设置图形管道。您可以为所需管道(d3d、sw、j2d)替换es2。

对于软件渲染器,场景3D功能被禁用

if(Platform.isSupported(ConditionalFeature.SCENE3D)){
//硬件加速渲染器
}否则{
//软件渲染器
}