D
Dragor
Gast
Hallo!
Ich hab eine Frage zu folgendem Programm, welches viele, gleich aussehender würfel erstellt, nur mit jeweils einer anderen Position.
Bis ca 10.000 Würfel können noch darzustellen werden, jedoch sollen bis zu ca 42.000 möglich sein, bei zu vielen bekomme ich die Meldung "java.lang.OutOfMemoryError: Java heap space"
Komisch ist, wenn ich Box durch ColorCube ersetzte schafft das Prog es einfach alles zu berechnung, scheinbar verbraucht Box viel mehr memory...
Gibt es ne Möglichkeit den Code zu verbessern?
Wie gesagt, alles Würfel sind gleich, also gleiche größe, rotation, textur etc, nur die position ist jeweils eine andere
Vielen dank für eure hilfe
Ich hab eine Frage zu folgendem Programm, welches viele, gleich aussehender würfel erstellt, nur mit jeweils einer anderen Position.
Bis ca 10.000 Würfel können noch darzustellen werden, jedoch sollen bis zu ca 42.000 möglich sein, bei zu vielen bekomme ich die Meldung "java.lang.OutOfMemoryError: Java heap space"
Code:
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup(); //die zurückzugebende Branch
Appearance app = new Appearance();
// code für textur anfang
PolygonAttributes polyAttrib = new PolygonAttributes();
TextureLoader lader = new TextureLoader("test.png", this);
Texture2D texturerde = (Texture2D)lader.getTexture();
polyAttrib.setPolygonMode(PolygonAttributes.POLYGON_FILL);
app.setPolygonAttributes(polyAttrib);
app.setTexture(texturerde);
//code für textur ende
Transform3D transform = new Transform3D();
Vector3f vector = new Vector3f();
int z = 0;
for (Circle ci : b.levels) {
for (Square s : ci.sq) {
//in Square s sind die informatinen für die Position
Box box = new Box(size/2, size/2, size/2,Box.GENERATE_TEXTURE_COORDS,app);
TransformGroup tg = new TransformGroup();
vector.set((float) ((s.x-b.getRadius())*size), (float)(s.y-b.getRadius())*size,(float)(z-b.getRadius())*size); //berechnung für die position des Würfels
transform.setTranslation(vector);
tg.setTransform(transform);
tg.addChild(box);
objRoot.addChild(tg);
}
z++;
}
objRoot.compile();
return objRoot;
}
Komisch ist, wenn ich Box durch ColorCube ersetzte schafft das Prog es einfach alles zu berechnung, scheinbar verbraucht Box viel mehr memory...
Gibt es ne Möglichkeit den Code zu verbessern?
Wie gesagt, alles Würfel sind gleich, also gleiche größe, rotation, textur etc, nur die position ist jeweils eine andere
Vielen dank für eure hilfe