GLCanvas has a lower memory footprint than GLJPanel but both relies on Swing/AWT and AWT under OS X has changed a lot, the JogAmp community isn't responsible for those changes and we cannot guarantee to provide "neutral" canvases when interacting with APIs not under our control. AWT under OS X uses CALayer (layer objects). I advise you to use NewtCanvasAWT instead of GLCanvas. Maybe there are some other solutions to improve your performance.