与此相关的是,有没有办法强制Java FX使用硬件加速和炸弹,如果它不能?
答案 0 :(得分:14)
刚刚发现:
您可以使用-Dprism.verbose=true
运行,它将打印它使用的图形管道。用于软件的“sw”或“j2d”和用于硬件加速的“d3d”或“es2”。
答案 1 :(得分:2)
你也可以试试这个黑客
@SuppressWarnings("restriction")
static String getCurrentGraphicsPipeline() {
return com.sun.prism.GraphicsPipeline.getPipeline().getClass().getName();
}
如果您回来"com.sun.prism.sw.SWPipeline"
,那么您正在使用软件加速。所有其他值都意味着可能正在使用某种形式的硬件加速。
答案 2 :(得分:1)
如果您使用eclipse作为IDE,那么您需要传递这些VM参数。您可以在运行配置中添加这些VM参数。
将这些论点放在那里:
-Dprism.verbose=true
答案 3 :(得分:0)
可以使用-Dprism.order=es2
VM选项设置图形管道。您可以将es2替换为所需的管道(d3d,sw,j2d)。
答案 4 :(得分:0)
对于软件渲染器,SCENE 3D 功能被禁用。
if(Platform.isSupported(ConditionalFeature.SCENE3D)) {
// hardware accelerated renderer
} else {
// software renderer
}