首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaFX中禁用或绕过硬件图形加速(Prism)

如何在JavaFX中禁用或绕过硬件图形加速(Prism)
EN

Stack Overflow用户
提问于 2013-09-12 03:23:02
回答 2查看 23.4K关注 0票数 22

操作系统: OSX山狮.

系统:虚拟盒4.2.6.

Java: 1.7.0.40-ea-b34

我想禁用我的JAVAFX应用程序的硬件加速,因为我的系统上没有HW加速(mac)。因此,当没有HW加速时,我在执行JAVAFX应用程序时会出现致命错误。该错误与"Prism引擎管道“有关,当java试图执行openGL本机库时,就会发生这种错误。所以我想禁用棱镜。

我看到有一些vm控制着棱镜的行为。Dprism.forceGPU=true;

是否有类似的东西来禁用棱镜或openGL请求?

致命错误(openGl相关代码)

代码语言:javascript
复制
Stack: [0x000000016c8f9000,0x000000016c9f9000], sp=0x000000016c9f7f40, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libobjc.A.dylib+0x639f] objc_msgSend_fixup+0x5f
C [AppKit+0x28134c] -[NSOpenGLContext initWithFormat:shareContext:]+0xac
C [libprism-es2.dylib+0x4e9f] createContext+0x1b3
C [libprism-es2.dylib+0x4729] Java_com_sun_prism_es2_gl_mac_MacGLFactory_nInitialize+0xa2
j com.sun.prism.es2.gl.mac.MacGLFactory.nInitialize([I)J+0
j com.sun.prism.es2.gl.mac.MacGLFactory.initialize(Ljava/lang/Class;Lcom/sun/prism/es2/gl/GLPixelFormat$Attributes;)Z+73
j com.sun.prism.es2.ES2Pipeline.<clinit>()V+54 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-12 12:39:57

看看这个论坛:https://forums.oracle.com/message/11018975

将此添加到java执行中:

代码语言:javascript
复制
-Dprism.order=j2d

这应该能起作用。

票数 14
EN

Stack Overflow用户

发布于 2013-09-12 19:39:39

j2d图形管道在JavaFX 8中是不推荐的,所以最好使用软件管道:-Dprism.order=sw。要验证您是否真的在使用它,可以打开日志记录:-Dprism.verbose=true

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18754803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档