views:

254

answers:

3

I've done several projects and packaged them into jar files, but I've noticed that my jar files run much more slowly than in my IDE.

I use Eclipse to compile and run my programs. In Eclipse, I have everything working. When I package my project as a runnable Jar and execute it by double-clicking, everything still works. But when I have animation, the program runs extremely slowly. Instead of 30 frames per second in Eclipse, I now get about 2 frames per second. The animation is very laggy.

Interesting thing is, when I run the same Jar from the command prompt (java -jar MyCode.jar), the lag disappears and my program works as normal.

I currently have no idea what's causing this problem. My computer is running Windows Vista. I'm using the latest version of JRE and JDK. My program contains an animation, nothing fancy.

Thanx

Solution: There were several different versions of Java on my computer and an incorrect version was used.

+3  A: 

Probably you have associated the double click with some "bad" JVM version.

What I would do is to use processxp from SysInternals to see what's the interpreter your app is using. Probably is only matter to change it to use the same as the command line and the eclipse.

Check that and see if both uses the same JVM ( there's a column names command line in ProcessXP, compare that value )

I hope this helps.

OscarRyz
+4  A: 

The version of java.exe that comes with Windows is very out of date. By changing the association of the .jar extension to the more recent JVM you should see much improvement.

Chris Nava
+4  A: 

You may also consider whether any running antivirus software is affecting performance. Some software treats .jar files as the .zip archives that they are and scans accordingly. Their shell integration might explain the difference between double-clicking and command line as well.

Michael Brewer-Davis