Imam klasu izvedenu od TOject koja pored procedura sadrzi dvodimenzionalne matrice pointera i objekata (koji sadrze druge objekte). Zanima me kako da dobijem ili izracunam koliko memorije moj glavni objekat zauzima sa svim podobjektima i matricama. Ovo mi treba da bi ogranicio kolicinu memorije koju koristi sam objekt (jel jedan objekt moze da zauzme do 5gb memorije ako se ne koristi kako treba a ja planiram da koristim nekoliko 2xmatrica od po 255x255 ovih objekata
)
Probao sam sa InstanceSize al on vraca samo zauzetu memoriju za objekt bez podobjekata (svi objekti su pretstavljeni pointerom kao i matrice).
Probao i da uzmem AllocMemSize pre i posle procedure ali to nije dobro jel moze da se ubaci nesto izmedju (u slucaju nekog multitreada) pa da pokupim i njegovu velicinu pa ce mi unistiti celu kalkulaciju i dati pogresan rezultat.
Probao i da napravim svoju proceduru koja racuna velicine svih elemenata ponaosob. Cak sam koristio i CPU view i cackao po memoriji da vidim gde su koji delovi objekta i uvek dobijem manju vrednost nego sto pokaze AllocMemSize. Da stvar bude gora pri koriscenju 256x256 objekata izgubim i po 1mb memorije
. Sto je veca matrica gubitci su sve veci. Mozda zbog fragmentacije u memoriji il ko zna cega !
Probao i ovo i ono i smorio se na smrt pa se setio da nisam jedini i da se i drugi bave ovom rabotom pa reko da ih pitam da pripomognu.
Ako je sta jasno odgovarajte
ako nije objasnjavacu josh samo pomagajte.
Imali neko iskustva s ovim? Neka komponenta forum, predlog?
Delphi 7, Windows XP (Pnđer XP )
Hvala!
Probao sam sa InstanceSize al on vraca samo zauzetu memoriju za objekt bez podobjekata (svi objekti su pretstavljeni pointerom kao i matrice).
Probao i da uzmem AllocMemSize pre i posle procedure ali to nije dobro jel moze da se ubaci nesto izmedju (u slucaju nekog multitreada) pa da pokupim i njegovu velicinu pa ce mi unistiti celu kalkulaciju i dati pogresan rezultat.
Probao i da napravim svoju proceduru koja racuna velicine svih elemenata ponaosob. Cak sam koristio i CPU view i cackao po memoriji da vidim gde su koji delovi objekta i uvek dobijem manju vrednost nego sto pokaze AllocMemSize. Da stvar bude gora pri koriscenju 256x256 objekata izgubim i po 1mb memorije
Probao i ovo i ono i smorio se na smrt pa se setio da nisam jedini i da se i drugi bave ovom rabotom pa reko da ih pitam da pripomognu.
Ako je sta jasno odgovarajte
Imali neko iskustva s ovim? Neka komponenta forum, predlog?
Delphi 7, Windows XP (Pnđer XP )
Hvala!
Potpis
Nepismen