我有一个运行RHEL 6.5的Linux机箱,我有一个以下示例JavaFX应用程序的JAR https://docs.oracle.com/javase/8/javafx/sample-apps/MoleculeSampleApp.zip
我可以编译并运行它,没有错误,一切都正确显示(与https://docs.oracle.com/javase/8/javafx/graphics-tutorial/img/show-molecule.gif相同)。但是,当我尝试将我的显示导出到localhost:0.0时,我的每个Material,Shape3D和Mesh对象都出现以下错误:
警告:系统无法支持ConditionalFeature.SCENE3D
JavaFX应用程序打开,但窗口中没有3D对象。
我尝试导出到另一台RHEL 6.5 linux机箱,但同样的问题也出现了。
我安装了1.8.0_45 JDK和X11 Intel驱动程序版本2.2.12。
是否有一些X或JavaFX配置允许我正确地将应用程序导出到另一台机器?
编辑:
所以我使用以下两种方法运行JAR文件:
java -jar -Dprism.order=sw MoleculeSampleApp.jar
java -jar -Dprism.order=j2d MoleculeSampleApp.jar
不导出到localhost或其他显示器,并在我的本地计算机上遇到同样的问题。
这让我相信导出显示器会导致JavaFX停止使用硬件加速。
答案 0 :(得分:1)
当我使用-Dprism.verbose = true选项运行程序时,我在输出中注意到以下内容:
Failed Graphics Hardware Qualifier check.
System GPU doesn't meet the es2 pipe requirement
Prism pipeline name = com.sun.prism.sw.SWPipeline
使用以下选项运行JavaFX jar文件似乎可以解决问题:
java -jar -Dprism.forceGPU=true MoleculeSampleApp.jar
然而,性能很差,可能需要在较旧的集成卡上通过网络导出3D渲染。