# Performance



## MarcusS (2. Jun 2005)

Hi, 
habe etwas Probleme mit der Performance von J3D. 
Kann vielleicht mal jmd meinen Konstruktor und den Aufbau meines Szenengraphen durchschauen ob ich irgendetwas falsch mache? Danke

Konstuktor:

```
public Sonnensystem() {
    GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
    Canvas3D canvas3D = new Canvas3D(config);
    setLayout(new BorderLayout());		
    add("Center", canvas3D);
    simpleUni = new SimpleUniverse(canvas3D);
        
    sceneGraph = erzeugeSzenenGraph(simpleUni);
    sceneGraph.setCapability(Primitive.ALLOW_CHILDREN_READ);
    sceneGraph.setCapability(Primitive.ALLOW_CHILDREN_WRITE);
		
    simpleUni.setJ3DThreadPriority(Thread.MAX_PRIORITY);
    simpleUni.addBranchGraph(sceneGraph);       
}
```


```
public BranchGroup erzeugeSzenenGraph(SimpleUniverse simpleUni) {
        //Umgebungslicht setzen
            AmbientLight umgebungslicht = new AmbientLight(true,new Color3f(0.5f,0.5f,0.5f));
            umgebungslicht.setInfluencingBounds(bs);
			
        //Drehen des Universums mit der Mouse
            ViewTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
            ViewTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
            MouseRotate mouseRotate = new MouseRotate();
            mouseRotate.setTransformGroup(ViewTG);
            mouseRotate.setSchedulingBounds(bs);
		
        //---------------------------------------------------------------------------------
        //                         ERSTELLEN DER PLANETEN
        //                                .........hier werden alle Planeten mit vielen Monden hinzugefügt     
        //---------------------------------------------------------------------------------
           	
        //setzt den Szenengraph zusammen   
            ViewTG.addChild(mouseRotate);
            ViewTG.addChild(erzeugeSonne());
            ViewTG.addChild(umgebungslicht);
     
            bg.addChild(ViewTG);
            
            bg.compile();
        
    return bg;
}
```


----------



## Oxygenic (2. Jun 2005)

So weit ist nichts zu sehen. Was mir auffällt (neben dem völlig unsinnigen setJ3DThreadPriority(Thread.MAX_PRIORITY)): wo kommt ViewTG her?


----------



## MarcusS (2. Jun 2005)

hm komisch, 
also das mit dem setJ3DThreadPriority(Thread.MAX_PRIORITY) habe ich auch schon bemerkt. Die Zeile habe ich gelöscht.

Die ViewTG habe ich außerhaöb angelegt. Du siehst hier auch nur die relevanten Teile der beiden Methoden, den Rest habe ich der Übseichtlichkeit weggelassen. 

Meine Texturen sind auch nur 10-20kb groß...also daran sollte es auch nicht liegen... naja trotzdem Danke... ich suche mal weiter


----------



## MPWalGastweilZuFaulZuLogi (14. Jun 2005)

Wie schnell ist denn dein Rechner?


----------



## MarcusS (15. Jun 2005)

Ist ein P4 Mobile Prozessor, 512MB RAM, aber leider nur eine Grafikkarte mit 32 MB Shared Memory!


----------



## MPW (15. Jun 2005)

Die Grafikkarte könnte durchaus ein Engpass sein....Wenn ich teilweise sehe das auf meinem Rechner mit x700PCIeX(128MB) komplexere Rotationen hacken....(auch P4-M, 1,73Ghz) und 512 MB-Ram


----------

