我目前工作在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