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

我想为我的JAVAFX应用程序禁用硬件加速,因为我的系统(mac)没有硬件加速。因此,当没有硬件加速时,执行JAVAFX App时会出现致命错误。该错误与“

Prism Engine管道”有关,并且在Java尝试执行openGL本机库时发生。所以我想禁用棱镜。

我看到有一些控制棱镜行为的vm args,例如:Dprism.forceGPU = true;

是否有上述禁止棱镜或openGL请求的功能?

致命错误(与openGl相关的代码)

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

回答:

看这个论坛:https :

//forums.oracle.com/message/11018975

将此添加到您的Java执行中:

-Dprism.order=j2d

这应该够了吧。

以上是 如何在JavaFX中禁用或绕过硬件图形加速(Prism) 的全部内容, 来源链接: utcz.com/qa/421752.html

回到顶部