繁体   English   中英

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

[英]Is there a way to detect if Java FX is using hardware acceleration?

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

刚刚发现:

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

你也可以试试这个hack

@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 选项设置图形管道。 您可以将 es2 替换为所需的管道(d3d、sw、j2d)。

对于软件渲染器,SCENE 3D 功能被禁用。

if(Platform.isSupported(ConditionalFeature.SCENE3D)) {
    // hardware accelerated renderer
} else {
    // software renderer
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM