2009-02-27 13 views
4

J'ai réalisé plusieurs projets et les ai regroupés dans des fichiers jar, mais j'ai remarqué que mes fichiers jar tournent beaucoup plus lentement que dans mon IDE. J'utilise Eclipse pour compiler et exécuter mes programmes. Dans Eclipse, tout fonctionne. Lorsque je place mon projet sous forme de Jar exécutable et que je l'exécute en double-cliquant, tout fonctionne toujours. Mais quand j'ai l'animation, le programme extrêmement lentement. Au lieu de 30 images par seconde dans Eclipse, j'obtiens maintenant environ 2 images par seconde. L'animation est très laggy.Les fichiers exécutables JAR s'exécutent très lentement

Chose intéressante, lorsque je lance le même Jar à partir de l'invite de commande (java -jar MyCode.jar), le décalage disparaît et mon programme fonctionne normalement.

Je n'ai actuellement aucune idée de ce qui cause ce problème. Mon ordinateur exécute Windows Vista. J'utilise la dernière version de JRE et JDK. Mon programme contient une animation, rien d'extraordinaire.

Thanx

Solution: Il y avait plusieurs versions différentes de Java sur mon ordinateur et une version incorrecte a été utilisée.

+0

Clairement, Microsoft a bloqué votre JVM! Je sens (un autre) anti-trust ... – erickson

+0

J'ai généralement un switch de débogage qui me permet de vider l'intégralité de System.getProperties() (trié!) Au démarrage. Aide beaucoup avec ces problèmes. –

Répondre

4

La version de java.exe fournie avec Windows est très obsolète. En changeant l'association de l'extension .jar à la JVM plus récente, vous devriez voir beaucoup d'améliorations.

3

Vous avez probablement associé le double-clic à une version JVM "incorrecte".

Ce que je ferais est d'utiliser processxp de SysInternals pour voir quel est l'interpréteur que votre application utilise. Il est probablement important de le changer pour utiliser la même chose que la ligne de commande et l'éclipse.

Vérifiez que voir si les deux utilise la même machine virtuelle Java (il y a une ligne de commande noms de colonne dans ProcessXP, comparer cette valeur)

J'espère que cela aide.

4

Vous pouvez également déterminer si un logiciel antivirus en cours d'exécution affecte les performances. Certains logiciels traitent les fichiers .jar comme les archives .zip qu'ils sont et les analyse en conséquence. Leur intégration shell peut expliquer la différence entre le double-clic et la ligne de commande.

Questions connexes