General Discussion frequenters will know that I'm a-hunting memory leaks at the moment after adopting much heavier type and dll usage. The problem is that I'm not really sure how to interpret the data that my memory and process monitors (WinME here so no built-in utils) are generating - for example I wrote a quick FMOD interface* yesterday evening, left it running overnight and came back to find several myself shy of several MB. However the allocated heap size (and total size of heap and modules) for the process had not altered at all.
Stranger still, leaving the computer running only the monitors this afternoon I noticed that it lost half a megabyte while simply idling for a while. This makes it pretty difficult for me to tell if I even have a memory leak in my own programs - the available memory seems to ebb away of its own accord anyway.
So if anyone has any surefire tactics for identifying mem leaks in Blitz programs (other than those in vidram, obviously) then I'd appreciate the info. I'd also be interested in any thoughts on safe type and entity handling - my main project at the moment seems to leave less mem available than it begins with (which I'm trying to concvince myself is simply due to fragmentation!) but even though its process' allocated memory rises as types and entities are created on the fly, once it peaks it stays static. I do my own housekeeping in the program, but how good is Blitz at cleaning up if you miss or dereference something?
And now you're all about to tell me to get XP...
*Don't get excited, it's not a wrapper.
|