Problem with Macbook Pro on OS X 10.4.8

I was using an older version of jME and I was getting some errors when I loaded up a game I've been working on under Mac OS X 10.4.8 on my new Core 2 Duo Macbook Pro. It has a X1600 mobile w/256MB of RAM and the  game is fairly simple.



Originallly I was getting the following error with an August CVS build


org.lwjgl.opengl.OpenGLException: Invalid enum (1280)
        at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
        at org.lwjgl.opengl.Display.swapBuffers(Display.java:567)
        at org.lwjgl.opengl.Display.update(Display.java:583)
        at com.jme.renderer.lwjgl.LWJGLRenderer.displayBackBuffer(Unknown Source)
        at com.jme.app.BaseGame.start(Unknown Source)



With the most recent nightly the game runs, but it runs at maybe 2 fps. It almost seems like it is using a software rendered or something. Also, some models I've loaded in don't appear correctly. Anyone else using jME with a Macbook Pro successfully or has anyone experienced similar problems?

As I'm running Mac OS X, there aren't any driver updates available from ATI. (They all come through Apple and are forced upon you). I've found a game that runs using lwjgl fine, so I'm guessing it may be a jME problem? Or a 'my code' problem. Any ideas? What kind of info would be helpful for this troubleshooting?

How do the jmetest.* tests run on your machine?  If some run slow and others run fast, we might be able to narrow down the problem.

All the jmetests run at the least 100+ fps.



When I run my app it runs at 3fps.



Here's the jME console log if that helps. Maybe it'll give you some ideas for wha tI can mess with / change?


Nov 17, 2006 2:33:24 AM com.jme.app.BaseGame start
INFO: Application started.
Nov 17, 2006 2:33:24 AM com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
Nov 17, 2006 2:33:24 AM com.jme.system.PropertiesIO load
INFO: Read properties
Nov 17, 2006 2:33:24 AM com.jme.app.BaseSimpleGame initSystem
INFO: jME version 0.11 beta
Nov 17, 2006 2:33:24 AM com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
Nov 17, 2006 2:33:24 AM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
2006-11-17 02:33:24.687 java[859] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x15303, name = 'java.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2006-11-17 02:33:24.687 java[859] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)
Nov 17, 2006 2:33:24 AM com.jme.app.BaseSimpleGame initSystem
INFO: Running on: null
Driver version: null
Nov 17, 2006 2:33:25 AM com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W:  640H: 480
Nov 17, 2006 2:33:25 AM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Nov 17, 2006 2:33:25 AM com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (FPS label) attached to this node (FPS node)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (JMEDesktop) attached to this node (ScoreDisplayRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (ScoreDisplayRootNode) attached to this node (rootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (PressParticleNode0) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (HoldParticleNode0) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (PressParticleNode1) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (HoldParticleNode1) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (PressParticleNode2) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (HoldParticleNode2) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (PressParticleNode3) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (HoldParticleNode3) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (PressParticleNode4) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (HoldParticleNode4) attached to this node (PressEffectRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (pressParticles0) attached to this node (PressParticleNode0)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (holdParticles0) attached to this node (HoldParticleNode0)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (pressParticles1) attached to this node (PressParticleNode1)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (holdParticles1) attached to this node (HoldParticleNode1)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (pressParticles2) attached to this node (PressParticleNode2)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (holdParticles2) attached to this node (HoldParticleNode2)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (pressParticles3) attached to this node (PressParticleNode3)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (holdParticles3) attached to this node (HoldParticleNode3)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (pressParticles4) attached to this node (PressParticleNode4)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (holdParticles4) attached to this node (HoldParticleNode4)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (PressEffectRootNode) attached to this node (rootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (ActiveQuad 0) attached to this node (Track 0 indicator (active))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (InactiveQuad 0) attached to this node (Track 0 indicator (inactive))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (ActiveQuad 1) attached to this node (Track 1 indicator (active))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (InactiveQuad 1) attached to this node (Track 1 indicator (inactive))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (ActiveQuad 2) attached to this node (Track 2 indicator (active))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (InactiveQuad 2) attached to this node (Track 2 indicator (inactive))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (ActiveQuad 3) attached to this node (Track 3 indicator (active))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (InactiveQuad 3) attached to this node (Track 3 indicator (inactive))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node <init>
INFO: Node created.
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (ActiveQuad 4) attached to this node (Track 4 indicator (active))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (InactiveQuad 4) attached to this node (Track 4 indicator (inactive))
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 0 indicator (inactive)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 0 indicator (active)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 1 indicator (inactive)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 1 indicator (active)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 2 indicator (inactive)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 2 indicator (active)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 3 indicator (inactive)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 3 indicator (active)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 4 indicator (inactive)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:25 AM com.jme.scene.Node attachChild
INFO: Child (Track 4 indicator (active)) attached to this node (FingeringBoardRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundRootNode) attached to this node (FretboardRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (FingeringBoardRootNode) attached to this node (FretboardRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
...
...
...
INFO: Child (BackgroundQuad) attached to this node (BackgroundRootNode)
ld (BackgroundQuad) attached to this node (BackgroundRootNode)
Nov 17, 2006 2:33:26 AM com.jme.scene.Node attachChild
INFO: Child (FretboardRootNode) attached to this node (rootNode)
Nov 17, 2006 2:33:35 AM com.jme.app.BaseSimpleGame cleanup
INFO: Cleaning up resources.
Nov 17, 2006 2:33:35 AM com.jme.app.BaseGame start

I'm afraid I don't see anything useful in that…  I would probably move towards using a profiler next, or removing parts of the code until it is fast, then readd until you find a major bottleneck.

I know nothing about nothing (which I've proved three fold on this forum already!) but I noticed the following in the output.



Nov 17, 2006 2:33:24 AM com.jme.app.BaseSimpleGame initSystem
INFO: Running on: null
Driver version: null


Is it not able to load the OpenGL drivers properly?

Aha! Looks like the problem was that I was using a texture that didn't have dimensions that were a power of 2…  when I changed the texture to 512x512 I was back to getting 1100fps. :slight_smile: