2014-10-08 99 views
1

下面是在我的Debian Wheezy工作站上Oracle的JavaFX「Hello World」示例截圖的兩個鏈接。JavaFX 8:渲染在Linux上搞砸了

第一種是建立與JDK6u67用1.7目標,並與相應的JRE運行:
Java 7 screenshot

第二個是建立與JDK8u20用1.8目標,並與相應的JRE運行:
Java 8 screenshot

正如您所看到的,運行Java 8時渲染非常錯誤。還要注意,第二個屏幕截圖中的應用程序圖標由X服務器圖標替換。
也許值得注意的是,當用Java 8運行時,「良好」即Java 7構建也是可怕的。

兩種構建都能在Windows上正常工作。
任何想法可能是錯誤的?

我的系統的一些信息: $ X -version
X.Org X服務器1.12.4
發佈日期:2012年8月27日
X協議版本11,修訂0
生成操作系統: Linux的3.11-2-AMD64 x86_64的Debian的
當前操作系統:Linux babasee 3.2.0-4-AMD64#1 SMP的Debian 3.2.60-1 + deb7u3 x86_64的
內核的命令行:BOOT_IMAGE =/vmlinuz的-3.2.0- 4-amd64 root =/dev/mapper/babasee -ro ro quiet
Build Date:2013-12-31 07:37:58 PM
的xorg-服務器2:1.12.4-6 + deb7u2(朱利安Cristau)
當前pixman的版本:0.26.0

回答

-1

我resloved安裝NVIDIA-GLX包

+0

謹慎解釋如何? – Codecat 2014-12-09 09:52:30

0

你可以解決這個問題禁止OpenGL渲染,如How to disable or bypass Hardware Graphics Acceleration(Prism) in JavaFX所述。

-Dprism.order=j2d添加到您的命令行中,或將System.setProperty("prism.order", "j2d");添加到程序的開頭。

更新:首選屬性值現在爲-Dprism.order=sw

+0

把'System.setProperty(「prism.order」,「j2d」);'在你的程序的開頭不會在javafx8中工作,只有-Dprism.order = sw會工作。讀取系統屬性是在main()調用之前運行的靜態初始化中完成的。有關詳細信息,請參閱javafx-src中的com.sun.prism.impl.PrismSettings.java – picoworm 2016-01-10 09:38:24