daemon777
Lt. Commander
- Registriert
- Dez. 2003
- Beiträge
- 1.371
Hallo Leute,
ich hab mal wieder ein Problem auch wenn es dieses Mal ausnahmsweise mal etwas interessanter ist ^^
Eigentlich geht es bei der Frage eher um das Prinzip als um eine genaue Programmiersprache weshalb ich für den Thread kein Präfix gewählt habe. Programmieren tue ich aber mit C++.
Und jetzt zum Problem: ich teste im Moment ein bisschen mit 3D-Graphik und da ist es hilfreich sich die Polygone in einer Baumstruktur zu speichern. Jetzt habe ich aber das Problem, dass ein Baum nunmal eine rekursive Datenstruktur ist und wenn diese zu groß wird so sprengt sie den Stack.
Mein Beispiel sollte zum Beispiel mit 30.000 Polygonen rechnen (was ja in einem Graphikprogramm nicht wirklich viel ist) und scheitert daran hoffnungslos. Das Problem liegt wohl wirklich daran, dass ich beim erstellen eines Knotens direkt die Children miterstelle und somit über 1 Millionen Knoten gleichzeitig auf dem Stack landen.
Wie könnte ich das Ganze denn jetzt beheben? Das Heraufsetzen der Stackgröße wäre natürlich eine Idee wobei die Größe gigantisch sein müsste. Das Heruntersetzen der Rekursionstiefe wäre eine Andere. Aber hier müsste ich eben die Tiefe sehr stark begrenzen.
Habt ihr vielleicht noch andere Ideen? Sollte ich vielleicht sogar hingehen und den Baum irgendwie ganz anders aufbauen? Im Moment bin ich ehrlich gesagt etwas ratlos.
ich hab mal wieder ein Problem auch wenn es dieses Mal ausnahmsweise mal etwas interessanter ist ^^
Eigentlich geht es bei der Frage eher um das Prinzip als um eine genaue Programmiersprache weshalb ich für den Thread kein Präfix gewählt habe. Programmieren tue ich aber mit C++.
Und jetzt zum Problem: ich teste im Moment ein bisschen mit 3D-Graphik und da ist es hilfreich sich die Polygone in einer Baumstruktur zu speichern. Jetzt habe ich aber das Problem, dass ein Baum nunmal eine rekursive Datenstruktur ist und wenn diese zu groß wird so sprengt sie den Stack.
Mein Beispiel sollte zum Beispiel mit 30.000 Polygonen rechnen (was ja in einem Graphikprogramm nicht wirklich viel ist) und scheitert daran hoffnungslos. Das Problem liegt wohl wirklich daran, dass ich beim erstellen eines Knotens direkt die Children miterstelle und somit über 1 Millionen Knoten gleichzeitig auf dem Stack landen.
Wie könnte ich das Ganze denn jetzt beheben? Das Heraufsetzen der Stackgröße wäre natürlich eine Idee wobei die Größe gigantisch sein müsste. Das Heruntersetzen der Rekursionstiefe wäre eine Andere. Aber hier müsste ich eben die Tiefe sehr stark begrenzen.
Habt ihr vielleicht noch andere Ideen? Sollte ich vielleicht sogar hingehen und den Baum irgendwie ganz anders aufbauen? Im Moment bin ich ehrlich gesagt etwas ratlos.