Freetexture und Freeentity reichen wohl nicht... [erledigt]
Übersicht

onkelz89Betreff: Freetexture und Freeentity reichen wohl nicht... [erledigt] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
habe ein Problem... Ich erstelle bestimmt Objekte sehr oft. Außerdem werden die Objekte auch genau so oft gelöscht und bekommen genau so oft eine neue Texture. Soweit geht auch alles. Die Grobe Reihenfolge: - Wert ändert sich - Alle Texturen löschen (FreeTexture) - Alle Objekte löschen (FreeEntity) - Type an sich löschen Delete bla.bla - Neue Texture erstellen - Neuen Type erstellen - Neues Objekte mit neuer Textur überziehen So, nun geht allerdings mein Speicher ewig hoch und immer höher und irgendwann Ruckelparty... Wenn ich nun die Texture nur einmal am Start erstelle und nicht ändere (Was ich aber muss) dann bleibt der Speicher leicht schwankend aber im Normalbereich... Also müsste man die Texturen die auf den einzelnen Objekten sind auch löschen können, weil Zitat aus der Hilfe Zitat: Freeing a texture means you will not be able to use it again; however, entities already textured with it will not lose the texture.
Aber die sollte doch nach dem löschen des Objektes eigentlich mit gelöscht werden... Naja geht wohl so nicht Hoffe Ihr habt ne Idee Danke im Vorraus MfG Onkelz |
||
- Zuletzt bearbeitet von onkelz89 am So, Dez 16, 2007 21:11, insgesamt einmal bearbeitet
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jup kenne das Problem und auch eine Lösung ![]() Du musst dem Objekt, welches mit der Textur belegt ist, die du löschen willst, eine andere textur zuweisen. Eher wird Blitz die textur nicht löschen, da sie ja noch für das Objekt benötigt wird. Am besten du benutzt die kleinstmögliche Textur so für Zwischendurch zum löschen... Code: [AUSKLAPPEN] Zwischen_Tex=CreateTexture(1,1) (1x1 Pixel)
Die ziehst du dann zuerst übers Objekt und löscht die Textur, die du schon löschen wolltest. Die Zwischentextur kannst du ruhig immer im Speicher behalten, die is ja eh nicht groß ![]() Also erst alle Objekte die mit der zu löschenden Textur belegt sind mit einer Anderen belegen und dann die gewünschte Textur löschen. MfG. |
||
onkelz89 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm, geht leider nicht. Ich meine zwar das es langsamer ansteigt jetzt aber das ist auch alles...
Noch vielleicht wichtig: es handelt sich um sprites und die texture hat 20 frames... |
||
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
arbeitest du mit loadsprite oder mit createsprite?
Hast du auch wirklich alle Objekte, die mit der Textur belegt waren, erst mit der Zwischentextur belegt? Bei mir hats bis jetzt immer funktioniert, allerdings hab ich das noch nie mit sprites probiert |
||
Marek |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: - Type an sich löschen Delete bla.bla
Hm, Delete bla.bla? *Nachdenk* Code: [AUSKLAPPEN] Type bla
Field x End Type a.bla=New bla Delete a ;<== So wohl eher... oder irre ich mich? oO MfG Marek |
||
Wer lesen kann ist klar im Vorteil... |
onkelz89 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm, es geht nun ich habs anders gelöst .. war weil ich was doppelt gemoppelt hatte ![]() Ehm ja dein Vorschlag war super und Ja... normalerweise geht es auch nur wenn man (wie ich) so dumm ist und in ner anderen Schleife immer und immer mehr von der gleichen Sorte Types läd dann darf man sich nicht wundern ![]() Danke für die Hilfe |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group