kontrola paměti

Pokud si nevíte s něčím rady ohledně tvorby v Game Makeru - pište sem!
Odpovědět
fffffffffffffffffff
Příspěvky: 1
Registrován: březen 4, 2018, 1:08 pm

kontrola paměti

Příspěvek od fffffffffffffffffff » březen 4, 2018, 1:31 pm

Zdravím všechny chytráky,

už delší dobu pracuji s GM8 (ano, vím, stará verze) a narazil jsem na závažný problém s leakováním paměti.
Věřím, že už se s tím též někdo setkal.

Pro test jsem vytvořil nový projekt, 1 sprite, 2 objekty, 1 místnost.
Do místnosti jsem vložil 1. objekt, jež má jedinou funkci, že vytvoří objekt 2, kdekoliv v místnosti kliknu myší.
Objekt 2 má sprite 32x32 a při zmáčknutí mezerníku se zničí přes instance_destroy();

Spustím hru, paměť: 14 632 K
Aniž bych cokoliv provedl, sem tam se to zdvihne o pár desítek…
Začnu zběsile klikat a vytvářet obrazce z instancí objektu 2, paměť: 18 552 K
Stisknu mezerník, paměť: 18 552 K
Čekám, paměť: 18 552 K
Opět začnu klikat, paměť vzroste atd.

Chtěl bych se tedy zeptat jestli nedělám něco od základu špatně. Z debuggeru je očividné, že se po smazání ve hře žádné instance nenachází, přesto GM neuvolní paměť.
Můj dotaz tedy zní: Co musím udělat, abych onu paměť získal zpět?

Díky,

fffffffffffffffffff

chain
Příspěvky: 98
Registrován: leden 2, 2013, 3:41 pm
Facebook: http://facebook.com/

Re: kontrola paměti

Příspěvek od chain » březen 8, 2018, 8:20 pm

takto z popisu sa neda objektivne pomoct a poradit, Hod sem kody alebo rovno gm subor. Su dve rozne veci to co vidis a to co sa deje na pozadi. Ci sa po stlaceni nezacne ciklit nejaky vypocet a podobne...

Uživatelský avatar
Šuny
Příspěvky: 99
Registrován: srpen 8, 2011, 8:45 pm
Facebook: http://facebook.com/suninho

Re: kontrola paměti

Příspěvek od Šuny » březen 9, 2018, 12:48 pm

Myslím si, že je to jen v tom malém meřítku, při více objektech a větší zátěži, pokud objekty smažeš, pamět se uvolní, nikoliv asi všechna, ale uvolní...

Uživatelský avatar
ipq
Příspěvky: 921
Registrován: srpen 15, 2011, 7:31 pm
Bydliště: Petržalka

Re: kontrola paměti

Příspěvek od ipq » březen 9, 2018, 6:37 pm

Staré verzie občas trpeli únikom pamäti, aj keď si dal vytvoriť sprite a potom zmazať nezmazal sa celý, niečo s toho tam ostalo napr. aj chyba, že objekt nemá sprite, neustále pripočítava hodnotu počtu snímkov aj keď žiadne nemá lebo chýba tam sprite, ktorý by to "zabrzdil" aby tam nebežala zbytočne animácia alebo čo boli 3D modely, čo boli statické(dynamické boli jedna veľká bolesť), pri zmazaní sa z RAMky neočistili. Bola aj jedna DLL knižnica, ktorá to vedela vyčistiť pamäť s hry ale bola nespoľahlivá.

Asi najväčšia vec, čo v GM dlhodobo chýbala bol Garbage Collector, ktorý tuším nemajú ani nové verzie, lebo ten "neporiadok" bola jedna pohroma.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host