我目前工作在Java游戏引擎,在堆中分配大对象集合然而,当我在性能与问题,例如大对象的Java内存分配设置
public class GLParticleSystem {
private GLParticle[] particles = new GLParticle[2000];
private int numberOfParticles;
public GLParticleSystem(numberOfParticles) {
this.numberOfParticles = numberOfParticles;
}
public void init() {
for (int i = 0; i < numberOfParticles; i++) {
particles[i] = new GLParticle();
}
}
}
以上由于分配水平的原因,一段代码在启动时会遭受巨大的帧丢失,我想知道是否有我丢失的东西或解决此问题的一些文本。
更新
请我GLParticle类的数据成员。
public class GLParticle {
private GLSpriteSheet image = null;
private float x;
private float y;
private float vX;
private float vY;
private float alpha;
private float alphaStep;
private boolean isDead;
private long startTime;
private long lifeTime;
private final float u = 480f;
private final float v = 504f;
}
感谢加里
GLParticle类有多复杂?你可以发布其数据成员? – dasblinkenlight 2012-02-07 00:06:18
init是在自己的线程中运行的吗? – assylias 2012-02-07 00:15:34
您可以在显示任何图像之前进行初始化* – millimoose 2012-02-07 00:26:25