创建很多实例是我的程序放慢的原因吗? (JAVA GRAPHICS)

时间:2018-01-24 22:01:59

标签: java graphics

我刚开始使用java图形,最近我注意到我正在研究的项目一直在减速(滞后,降低帧速率)。我认为原因在于,不是制作一个对象的实例然后重复绘制它,而是每个帧都在制作新的实例并绘制它们。在开始重新编写所有代码之前,我想确保这就是原因。

谢谢

2 个答案:

答案 0 :(得分:1)

如果不对代码进行标记,这很难分辨,但您应该只在需要时创建或更新实例并重复绘制它们。

答案 1 :(得分:0)

我建议您分析您的代码。使用性能分析统计来确定您的理论是否正确。

即使我们看到源代码,我们仍然会猜测你的"滞后"的原因。你应该花时间根据某人的猜测来调整或重写你的代码。

FWIW,对象创建的开销并不像有些人想象的那么大。但是GC会影响实时行为,因为即使是最好的(低暂停)Java GCs也会停止所有应用程序线程以执行基本任务。

这导致我们可以能够减少"滞后"只需调整JVM的GC设置即可。 (假设你还没有尝试过.....)我会在进行大量代码重写之前尝试GC调整。