[3D]Speicherschonend programmieren
Übersicht

![]() |
BenibaerenstarkBetreff: [3D]Speicherschonend programmieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen,
->wie gestalte ich das Laden von Objekten, um möglichst wenig Speicher zu füllen? ->Konkret: Es sollen 1000 Bäume in einem Level verteilt werden, ein Baum braucht, sagen wir mal 2Mb Speicher. ->Wenn ich jetzt 1000 mal einen Baum lade und den Positioniere, ist die Grafikkarte doch völlig überfüllt, oder? ->Was passiert, wenn ich copy-mesh mache? -wie macht ihr das? während der Laufzeit laden? vielen Dank |
||
Jake |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Soweit ich weiß, erzeugt dir CopyMesh eine Referenzkopie, braucht also viel weniger Speicher als eigenständig geladen. | ||
bittrap-software. Jetzt neu und mit noch mehr Kalorien: CandyFactory 2 ! |
Another progger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also,ich fange auch gerade mit 3D an also hab ich noch net viel Ehrfahrung ![]() |
||
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
copymesh ist genau das was viel speicher verbraucht.
bei copyentity(mesh) wird ein zweites objekt erstellt, welches die gleichen gitterpunkte verwendet wie das erste, aber an einem anderen punkt im 3Duniversum darstellt. bei copymesh werden alle gitterpunkte 1:1 kopiert. der vorteil: die punkte können verändert werden, und diese veränderung wirkt sich nur auf 1 objekt aus. nachteil: hoher speicherverbrauch. btw.: 1000 bäume darzustellen mit je 2MB daten wird ohnehin zuviel cpu-leistung fressen. aber probiers ruhig aus mfg stfighter |
||
Denken hilft! |
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm, ich werde wohl wirklich am besten selbst ausprobieren - vielen dank allen ![]() |
||
Jake |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
stdfighter hat natürlich völlig recht. Ich hab CopyMesh/Entity durcheinandergewürfelt beim Antworten. | ||
bittrap-software. Jetzt neu und mit noch mehr Kalorien: CandyFactory 2 ! |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit 3D-Programmierung habe ich kaum Erfahrung, aber...
das kann ich mir nicht vorstellen, daß jeder Baum 2MB brauchen würde, weil normaler weise ja jeder Baum die selbe 1-2 Textur benutzt, diese wird nicht vervielfältigt. Nur die Polygone mit ihren Daten werden vervielfältigt und die kosten nur paar Kilobyte. Wenn ihr die Textur auch vervielfältigen würdet, wäre es ein riesiger Fehler. Jeder Baum müßte auf die gleiche Textur zugreifen. Nur die Texturen kosten viel Speicher und damit kann man sparsam umgehen. |
||
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
es ist schon richtig das die meshes normalerweise nicht allzuviel speicher verschwenden.
aber auch die erzeugung der entitys kostet mit copymesh dann geringfügig mehr zeit. copyentity ist einfach die elegantere lösung ![]() mfg stfighter |
||
Denken hilft! |
![]() |
Benibaerenstark |
![]() Antworten mit Zitat ![]() |
---|---|---|
oké, danke für eure antworten. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group