Entity Memory steigt ins Unendliche

Posted By: preacherX

Entity Memory steigt ins Unendliche - 12/10/17 19:45

Haben Sie eine Idee, was dieses Verhalten auslösen könnte:
https://www.youtube.com/watch?v=bDLbxAAUnF4&feature=youtu.be

Im Statistik-Panel steigt der Entity-Memory-Wert ins Unendliche.
Eigentlich liegt der Wert bei mir bei 200, aber manchmal, nachdem ich level_load(); benutzt habe, passiert dieses seltsame Verhalten - auch die FPS brechen dann ein.

Es passiert allerdings erst, nachdem level_load benutzt wurde.

Nach level_load sollten doch alle Entities bis auf die View-Entities entfernt werden, oder?

Und eigentlich sollte dieser Wert doch nur ansteigen, wenn neue Objekte mit ent_create geladen werden?

Ich fand auch heraus, dass dieser Wert nach dem Auftreten des Fehlers nicht mehr auf 0 gesetzt wird, selbst wenn ich level_load erneut aufrufe... Eigentlich müsste der Wert doch dann zurückgesetzt werden?
Posted By: jcl

Re: Entity Memory steigt ins Unendliche - 12/11/17 07:42

Ich kann auf dem Video nicht genau erkennen, was passiert. Wenn der Entity Memory Wert unerklärlich ansteigt, finden Sie per Elimination heraus, welche Funktion das macht.

Es kann sein, dass das gar nichts mit den Entities zu tun hat. Wenn zB eine Funktion einen Array überschreibt oder einen falschen Pointer bekommt, kann sie an beliebigen Stellen ins Memory schreiben und seltsame Effekte auslösen. Vielleicht zählt eine Funktion irgendeinen Skill hoch, aber von einer Entity, die gar nicht mehr existiert.
Posted By: FBL

Re: Entity Memory steigt ins Unendliche - 12/11/17 19:55

Unerklärliche Probleme mit level_load() hatte ich mehrmals, das Problem war immer und jedes Mal, dass der Aufruf aus einer Entity Funktion oder Entity Event Funktion heraus erfolgte.
Vielleicht lohnt es sich, den Code in dieser Hinsicht abzuklopfen.

Die Lösung war, entweder eine Trigger Variable nutzen und diese in einer globalen Funktion zyklisch pollen, oder sicherstellen, dass die aufrufende Funktion vor dem level_load() keinem Entity mehr zugeordnet ist (aktiv my=null setzen).
Die auftretenden Probleme waren völlig unterschiedlich. Mal hat sich das Player Movement anders verhalten, mal waren die Bounding Boxes im Eimer, dann gab es einfach einen Crash... was auch immer dabei kaputt geht - es geht auf sehr subtile Weise kaputt.
Posted By: preacherX

Re: Entity Memory steigt ins Unendliche - 12/11/17 22:05

Danke für die Infos, jcl und Firoball!

Komischerweise geht es heute wieder, also liegt das Problem wohl daran, dass irgendwie etwas ins Memory hineingeschrieben wird wo es nicht hingehört... Puh, das werden wohl ein paar lange Nächte bis ich da den Fehler finde.

Ich HASSE diese Fehler, die nur sporadisch auftreten !!! mad crazy tired
© 2024 lite-C Forums