RAM wird zugemüllt
Übersicht

![]() |
EingeproggtBetreff: RAM wird zugemüllt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Servus erstmal.
Mein Spiel läuft nach folgendem Muster: Level wird geladen (ca 4MB Speicheranforderung durch Bilder und Variablen) Spieler spielt (ah, echt ![]() Spieler beendet das Spiel und kehrt ins Hauptmenü zurück (Bilder werden mit FreeImage gelöscht und Types mit Delete gelöscht) Und jetzt bleiben 0,5 bis 1MB Daten im Speicher zurück. Zusätzlich zu den daten, die fürs Spielmenü immer im Speicher liegen. So wächst der Datenmüll jedesmal an, wenn man einen Level wechselt oder einen beendet. Was kann man außer FreeImage, Delete und CloseFile noch machen? |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also Schüsse solltest du schon während des Programmablaufs löschen.
Sind denn 0.5MB so wichtig? |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es bleibt auf jedenfall anzumerken, dass das Löschen von Type-Instanzen RAM Speicher idR nicht für das Betriebssystem wieder freigibt, sondern für neue Instanzen des Types behält. Das könnte dann die passende Erklärung sein, wenn mit steigendem Level auch mehr Schüsse (gleichzeitig) gebraucht werden. | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Antworten.
Die Schüsse werden während des Programmablaufs gelöscht, es ging mir nur um die, die zB beim Drücken von Esc noch zu sehen sind. Dass Types nach Delete noch im Speicher liegen wäre eine Erklärung. Aber wieso brauchen die soviel Speicher? Ich hatte mit höchstens 1kb pro Type-Instanz gerechnet. Naja, kann schon hinkommen. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
0.5mb durch types?
[code] Type Schuss Field id:int Field speed:int field iImage:int field time:int End Type [code] Das wären 16Byte + die Instanz und eventuell Struktur(?) des Types. iImage sollte aber auch nur ein Verweis auf das eigendlich image sein, nicht jedesmal neu laden (aber das weisst du sicherlich). Demnach glaub ich ja nicht das das durch Types entstehen kann, es sei denn, du schiesst pro Level wirklich 512000(byte)/16(byte)=32768 mal... |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, dann kommts halt doch nicht hin...
Meine Aufteilung ist so: Code: [AUSKLAPPEN] Type ki
Field zielx,ziely Field dat ;Datei-Handle Field w Field timer End Type Type oelspur Field x,y Field timer End Type Type schuss Field x,y Field Strecke ;Zurückgelegte Entfernung Field rot ;Rotation, auch w End Type Type player Field img[359] Field w ;Winkel Field x#,y# Field v# ;Geschwindigkeit Field a# ;Beschleunigung Field nitro Field maxv ;Maximle Geschw Field aroll# ;Verzögerung beim Rollen Field abrake# ;Verzögerung beim Bremsen Field handling ;um wieviel der wagen gedreht wird Field dh#,iw ;Bildabmessungen halbe, für vereinfachung Field old_x,old_y,old_w End Type Vom player gibt es 3, davon 2 Computergesteuerte (Also 2 KI). Oelspuren und Raketen gibt es 0-30 (Also weit entfernt von 32.768) Das wars auch schon. Img[359] enthält übrigens lauter Images und nicht den Handle. Ich weiß, was du meinst, aber wenn man den Wagen drehen will, muss es so sein. (oder?) Sollten meine Bezeichnungen / Variablentypen irgendjemanden verwirren: Ich schreibs gerade um, dass es platzsparender wird und man sich besser auskennt. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Beim Player brauchst du eigendlich nur alle 2-4 (oder noch weniger) Positionen darzustellen, also z.b. nur 90-180 Bilder. Oder du verwendest Sprites.
Wenn du Player mit gleichen Bildern hast, kannst du diesen auch die gleichen Bilder geben. Und beim Type löschen nicht vergessen, auch die Bilder zu löschen. Alle 359 oO |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Felat |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hast du loadimage, loadtexture, loadsound etc. in loop mode benutzt?
Wenn ja, dann ist es kein wunder dass dein spiel läuft ins Müll.. |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaub das weiß er, da er schon ein bisschen mehr erfahrung hat bzw. länger im Forum ist als du... | ||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group