Game runs too quickly on a 64-bit machine?

I’ve run my project through about 10-12 configurations of varying specifications and operating systems (500 MHz to 3.8 GHz, XP, 98, Linux, OSX), and they all ran perfectly. Then I tried it on a school computer which had an Opteron 64 processor and Nvidia Quadro Fx video processor, and it ran rather strangely. 2 problems:

  1. It failed to initialize Open GL, which strikes me as odd.

  2. It ran abnormally quickly using Java 2D, as if, say, you were using an emulator and turned on hyper mode. It’s like the game was playing twice as fast.

Any ideas?

This isn’t the only 64-bit machine that I’ve tried it on. It worked fine on consumer level computers bearing Athlon 64 or Core 2 Duo processors.

Do you have a proper timing-mechanism, or are you running it flat out with update(dT)

If you have a proper ticker, the values of System.nanoTime() may be unreliable on multi-core CPUs…

  1. Are you using VSync? If so, its not reliable…

  2. Are you using time based movement? Or tick based?

  3. Some CPU’s tend to “jump” forward in time when ticking and it seems random. The only solution is to use a lower resolution timer (so back to System.currentTimeMillis() or similar)…

Those 3 are the only ones I could think of…But we really do need more detail.

DP

  1. Yes, vsync is enabled.

  2. Time-based movement.

  3. I’m fairly certain that I’m using millis, not the newer nano timer.

I have my suspicion that VSync isn’t locking properly on the quadro, try adding some throttling code, I would suggest having a look at org.lwjgl.Sys.sync# methods, theres 3 of them that do the same thing differently…

If that also fails, then you’ve got one of those CPUs that jumps ahead of time for no reason :slight_smile:

DP