Implement a NEWT-based JOGL framework

Issue #25 resolved
Michael Ludwig
repo owner created an issue

The current JOGL framework uses GLCanvas and AWT and performance is noticeably worse than LWJGL's dedicated window. I should look at NEWT now that the API has been improved to see if I can make it work nicely with Mac and display changes, etc.

Comments (5)

  1. Michael Ludwig reporter

    If NEWT doesn't behave well with Mac (i.e. requiring the -XstartOnFirstThread switch), or display changes being forced through AWT, I'm not sure there's any value to continue with a JOGL implementation.

    It's performance is unfortunately much lower than LWJGL's (at least on Mac with AWT). It does support multiple windows, which is nice. If NEWT is as fast as LWJGL or if it works in Java 7 on Mac, I'll keep the JOGL implementation.

  2. Michael Ludwig reporter

    So I have verified that JOGL AWT on Java7 does not work (not surprising), but JOGL with NEWT on Java7 runs properly. Its performance for doing single buffer clears is about 1200fps, which is pretty decent.

    It no longer seems to be required to use -XstartOnFirstThread. Indeed using that flag causes the window to lock up and show a rainbow spinner.

    Given all of this, I should drop the AWT implementation in favor of just using NEWT.

  3. Michael Ludwig reporter

    The NEWT implementation is almost completed, barring a couple of "minor" issues: 1. Modifier keys do not produce their own events 2. Surface creation causes a JVM crash if something other 16bit depth buffer is used on Mac 3. Surface creation fails with 'invalid selector' when using the integrated card on Mac, the discrete must be used.

    I need to check this behavior on Windows, and investigate these surface failures.

  4. Log in to comment