Executable Jars running very slowly

为君一笑 提交于 2020-01-02 05:33:17

问题


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.


回答1:


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.




回答2:


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.




回答3:


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.



来源:https://stackoverflow.com/questions/597098/executable-jars-running-very-slowly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!