Come disabilitare o bypassare l'accelerazione grafica hardware (Prism) in JavaFX


Sistema operativo: OSX Mountain Lion.

Sistema: SCATOLA virtuale 4.2.6.

Java: 1.7.0.40-ea-b34

Voglio disabilitare l'accelerazione hardware per la mia app JAVAFX perché non c'è accelerazione HW sul mio sistema (mac). Quindi, quando non c'è accelerazione HW, ricevo un errore fatale sull'esecuzione della mia app JAVAFX. L'errore relativo a "Prism Engine pipeline" e si verifica quando java tenta di eseguire lib native OpenGL. Quindi voglio disabilitare il prisma.

Vedo che ci sono alcuni argomenti vm che controllano il comportamento del prisma come.. Prism.forceGPU=true;

C'è qualcosa di simile sopra per disabilitare la richiesta di prism o OpenGL?

L'errore fatale (codici correlati 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 
Author: Lalith J., 2013-09-12

2 answers

Guarda questo forum: https://forums.oracle.com/message/11018975

Aggiungi questo alla tua esecuzione java:

-Dprism.order=j2d

Questo dovrebbe fare il trucco.

 11
Author: zenbeni, 2013-09-12 12:39:57

La pipeline grafica j2d è deprecata in JavaFX 8, quindi è meglio usare la pipeline software: -Dprism.order=sw. Per verificare che lo si stia effettivamente utilizzando è possibile attivare la registrazione: -Dprism.verbose=true

 24
Author: Petr, 2013-09-12 19:39:39