NTUI frist ca.500Kb Speicher pro Start ! - Druckversion +- AmiBlitz³ (https://www.amiblitz.de/community) +-- Forum: AmiBlitz³ (https://www.amiblitz.de/community/forum-3.html) +--- Forum: NTUI (https://www.amiblitz.de/community/forum-17.html) +--- Thema: NTUI frist ca.500Kb Speicher pro Start ! (/thread-113.html) |
NTUI frist ca.500Kb Speicher pro Start ! - tomsmart1 - 21.11.2014 Ich denke ich bin auf einen schweren Fehler gestoßen, jedes NTUI Programm belegt mindestens ca. 500KByte Speicher das es nach beenden nicht mehr frei gibt. Als Beispiel seien hier Blackbirds NTUIExamples genannt, bei AIDE sind es jedesmal sogar ca. 5MByte die verloren gehen Re: NTUI frist ca.500Kb Speicher pro Start ! - Der Wanderer - 22.11.2014 Ich schau mal nach Leaks. Beim ersten Start ist das normal, da einige Fonts und andere Systemresourcen geladen werden die das OS weiter im Speicher hlt für das nächste mal. Beim zweiten Start sollte das aber nicht mehr passieren. Re: NTUI frist ca.500Kb Speicher pro Start ! - tomsmart1 - 22.11.2014 Fang bei der ab3support.library an die frisst ca 1kByte wenn man nur öffnen pft_create{4096,0} pft_free{} und direkt wieder schließt. Wo bei die Speicher menge proportional mit der Größe von pft_create{} wächst! Zu NTUI selbst da hast du teilweise auch vergessen beim Freigeben (deinit) den Speicher der Struktur selbst freizugeben. Dann tuiGlobal\xmlCallMAP wird nicht freigegeben mit pft_free{}, Deletepool für engine\notifyPool fehlt und wenn ich es richtig gesehen habe fehlt ein FreeVec_ für *listView\ListP beim Deinit, sowie die Verkleinerung des belegten Speichers wenn ein Item entfernt wird. Re: NTUI frist ca.500Kb Speicher pro Start ! - Blackbird - 22.11.2014 sehr gut rechergiert Thomas ! Aber mal anders gefragt, wenn du schon weist woran es hapert, warum behebst du es nicht gleich ? Das könnte Thilo entlasten und uns alle vorwärts bringen Re: NTUI frist ca.500Kb Speicher pro Start ! - tomsmart1 - 22.11.2014 Blackbird schrieb:Aber mal anders gefragt, wenn du schon weist woran es hapert, warum behebst du es nicht gleich ? Na ich bin mir halt nicht sicher ob ich da bei NTUI richtig liege, ob vergessen oder Absicht da es noch wo anders gebraucht wird. Habe ich den (richtigen) Überblick bzw die Vision davon :?: Re: NTUI frist ca.500Kb Speicher pro Start ! - Blackbird - 22.11.2014 Ok, kann ich verstehen, ging mir damals mit den Änderungen von error message ask auch so Man weis nie ob das auch gewollt ist, und wenn nicht, woanders was beeinflussen kann... Re: NTUI frist ca.500Kb Speicher pro Start ! - Der Wanderer - 23.11.2014 Ein Deinit() gibt die Struct nicht frei. Sonst wäre es ein Delete() (C++) oder Destroy() (allgemeiner OOP Terminus). Genauso wie ein Init() keinen Speicher allokiert, sondern die vorhandene Struct initialisiert. Sonst wäre es ein New() bzw. Create(). Deinit : de-initialisiert eine Struct Init : initialisiert eine Struct Free : gibt den Speicher einer Struct frei Alloc : allociert den Speicher für eine Struct New/Create: Alloc + Init Delete/Destroy: Deinit + Free Habe mich aber selbst nicht konsequent dran gehalten. Evtl. sollte ich das ändern. Fehlt mir nur die Zeit... Aber danke für die Analyse. Was tatäschlich ein Fehler ist werde ich beheben. Re: NTUI frist ca.500Kb Speicher pro Start ! - Blackbird - 21.12.2014 gibts denn hier einen Vortschritt zu vermelden ? |