在高端pc上使用jMonkey的Java项目速度非常慢

在高端pc上使用jMonkey的Java项目速度非常慢,java,lag,jmonkeyengine,Java,Lag,Jmonkeyengine,我有一个java项目正在运行。在我的普通笔记本电脑(不是最好的笔记本电脑)上,我的项目运行良好。但在我的高端游戏pc(GeForce GTX 970,Intel i5-6600K@3.50 GHz,16 GB RAM)上,程序滞后。就像每2秒钟,我的引擎就会冻结几毫秒,造成巨大的滞后。 我正在使用这个java(最近更新了它,看看它是否能修复) 根据你的描述,很难回答这个问题。您可能希望尝试JME论坛,在那里可以进行比这里更多的讨论和故障排除方法 我能想到的唯一能解释你所看到的是你正在产生大量垃圾

我有一个java项目正在运行。在我的普通笔记本电脑(不是最好的笔记本电脑)上,我的项目运行良好。但在我的高端游戏pc(GeForce GTX 970,Intel i5-6600K@3.50 GHz,16 GB RAM)上,程序滞后。就像每2秒钟,我的引擎就会冻结几毫秒,造成巨大的滞后。 我正在使用这个java(最近更新了它,看看它是否能修复)


根据你的描述,很难回答这个问题。您可能希望尝试JME论坛,在那里可以进行比这里更多的讨论和故障排除方法

我能想到的唯一能解释你所看到的是你正在产生大量垃圾。在内存较多的PC上,它可能会积累大量垃圾,然后长时间暂停以收集所有垃圾。在规格较低的PC上,它被迫更频繁地运行GC,这意味着GC暂停太小而无法注意到


引擎经过仔细编写,在一般情况下不会产生太多垃圾,因此您应该查看每个帧生成的内容。尝试附加一个分析器(JDK提供了一些不错的分析器,比如jConsole),看看是否有一个大型GC链接到暂停。

@nitinpabhu但知道我的PC比我的笔记本电脑好20倍真是太奇怪了?两者都运行相同的java、相同的操作系统和相同的IDE。我认为您需要了解哪些线程/进程正在消耗PC中的内存和CPU。磁盘类型?如上所述:eclipse.ini和JVM堆大小。例如,我看到在eclipse中使用SVN可以降低速度。因此,当您使用不同的SCM连接时…@GhostCat我的eclipse和java都在我的SSD磁盘上。@duffymo我的IntelliJ也遇到了同样的问题。我限制了引擎的FPS,这样我就可以减少GC,还检查了我的代码以减少GC。现在真是魅力四射!是的,你不是第一个遇到这种反直觉结果的人:)
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)