It would help if you published a JOGL/Java3D + OpenJFX example under a free software license. Then we all may analyse and work on performance enhancements for this usecase.
The workaround test basically works. Now the bad news.
There are four methods which consumes most of the CPU:
1. jogamp.opengl.gl4.GL4bcImpl.dispatch_glReadPixels1 (native)
2. javafx.scene.canvas.GraphicsContext.getBuffer()
3. jogamp.opengl.x11.glx.GLX.dispatch_glXMakeContextCurrent0 (native)
4. jogamp.opengl.gl4.GL4bcImpl.dispatch_glFinish1 (native)
I did not expect JOGL to consume so much :S
Maybe the problem is at Java3D level. When I'm in offscreen mode, there is no more automatic scene rendering. I have to call renderOffScreenBuffer() each time to render.
Is there a way to force the scene to be rendered automatically?
JP