Monday, June 1, 2015

Memory Leak!

We've struck Gold!! Er... not quite actually. Black Gold? Not even, but we've sure dug a hole :p.

When creating an advanced program in c# there are always wonky problems to be expected from the auto memory management. In this case, it looks like Unity is using an older version of Mono to compile the code which still uses Boehm's Garbage Collector. There's a great article on this over here at Gamasutra which includes a lot of basic information and background on what memory leaks are :).

The line in particular we're having trouble with is a the Init (Initiation) function for our Attribute Editor, particularly when being used/referenced in the Dialogue Editor. You open the Dialogue Editor from the main story tool, and this uses the same memory referenced style as the Attribute Editor. Similarly, the code for this was working fine, and has not changed. This comes after a series of changes in the main UI one would think have nothing to do with our problem. I'm kind of at a loss. While I decide on how I want to approach setting up some discovery tools for memory leaks, me and Bob have decided this is an excellent time to reach out in our area and find another coder willing to step into the project.

Meanwhile, Bob is nearly done with a revised version of the desk, has already completed quite an amazing pocket watch we can include as an in-game clock...

I'm terrible about keeping social schedules, despite my work ethic, but I'm going to try and view this as a job, and make sure to get out a regular blog on here now that we've reached our Alpha release and put a little polish on it. Especially while we're searching for a coder and stuck behind this memory leak. For now, I've got to leave for work in a little over an hour (can't wait for *this* to the work I leave for !), and I'm going to do a little more research and experimentation before I get ready.

Unfortunately, because of the nature of this memory leak, it can take a while ( and often a restart ) to stabilize my machine after testing until the memory leak is fixed. So it has been taking quite a bit of time to achieve progress on it :(

No comments:

Post a Comment