Java 使用 jMonkey 的项目在高端 pc 上真的很慢

Java project using jMonkey really slow on high-end pc

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

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)

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

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

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