Performance Decrease after moving to Oracle Java on Mac

I have recently changed my application to use Oracle Java 1.8 on Mac from Apples Java 1.6. I have noticed a considerable performance decrease from the Apple Java.

Has anyone else had this experience, or am I missing something.

I have a Java swing application that has a JME Canvas in a JPanel.

On a side note I am now also not able to capture the Application Quit Cmd+Q any longer after this update.

Anyone else having similar issues?

Well no, but what means considerable?
Something like 60 to 40 fps or some bogus stuff like 6million to 5 million?
Aka how many milliseconds are lost per frame, fps is irrelevant.

There was a big controversy around the time Oracle Java was released for Apple because OpenGL applications had difficulty rendering directly to window elements, i.e. canvas. Eventually it was fixed in one of the later versions of LWJGL but I am not sure what kind of compromise was made to make it happen.

Here’s the 17 page forum thread for your convenience…

The basic idea is, don’t use canvas.

@Empire_Phoenix I am not seeing FPS drops as much as the Swing interface is now lagging when the JME View is running. On middle of the road machines this becomes almost unusable and the swing interface does not respond in a timely manner like it should.

@Momoko_Fan What would be the best implementation for a JME View in a Swing window currently then?

I originally modeled my application using the jme swing advanced information

Thank you for the information.

Using swing with an OpenGL application just because you have a visual editor for it is not a great idea in the first place, especially as you have to work with two independent update loops that way.

1 Like

My Application is a full swing application that I wanted to add a 3D environment to. I implemented this back in 2011 using JME and it has been functioning very well on both Windows and Mac platforms. Until recently when I started using the Oracle Java on Mac.

I have seen different suggestions about using AWTPanel. So far I have been unsuccessful in implementing awtPanel in my application. Is this now the suggested method to accomplish using JME with Swing?

We implemented a 3D mapeditor in JME with Swing (not a good idea! Will migrate to Nifty.)

We have our jME3 context in a simple JPanel and have no performance Issues on Windows (Oracle JDK) and Linux (OpenJDK and Oracle JDK).

Do you maybe have a problem with the two threads?
We once executed some swing operations in the JME3 thread which caused some headache here.
Our UI froze partially.