surface_save_part Problem

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • surface_save_part Problem

    Ich habe folgendes Problem :
    ich speichere Bilder per surface_save_part ab um Speicherplatz zu sparen.
    Für mein Puzzle Spiel habe ich jeweils 1 Hauptbild welches ich mit surfaces und blend_mode zuschneide und dann einzeln per surface_save_part für das gerade benötigte lvl als kleine Puzzle Stücke speichere, dies spart Speicherplatz da, das Puzzle nur wenn es benötigt wird zugeschnitten wird und dann mit dem nächsten Bild die einzelnen Bildchen wieder überschrieben werden.
    Funktioniert auch alles super bis ich nicht bemerkte das ich ein Memory leak habe.
    Nach längerer suche konnte ich eindeutig

    GML-Quellcode

    1. surface_save_part
    als den Verursacher ausmachen.
    Jedes mal wenn ein Puzzle neu zugeschnitten wird und Bilder neu abgespeichert werden(die alten werden überschrieben) dann wird immer mehr Arbeitsspeicher eingenommen.
    Meine Frage was macht surface_safe_part genau? Ich hab es mit sprite_delte versucht aber das betrifft ja nur den Gerätespeicher wie mache ich den Arbeitsspeicher frei? (surface_free ist es nicht die surface selbst wird ordentlich aufgebaut und auch wieder geschlossen ohne leaks.)

    Wenn jemand so ein ähnliches Problem hatte wäre ich für jeden Tipp dankbar =)
  • Es wäre am besten, wenn du zum Beginn für jedes Teil ein Sprite mittels sprite_create_from_surface erstellst. Am Ende dann jedes wieder mit sprite_delete löschen. Das auf der Festplatte abzuspeichern halte ich für keine so gute Idee.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe