Hey guys, I have a program with a crazy memory leak (leaking ~20mb/s).
I've found the problem, but I can't seem to find a working alternative.
Basically, I have some code which runs on every third tick:
scenebmp.render(bmp, false); //render the current scene to a bitmap image
sceneSurface = new Surface(bmp); //create a new surface from updated bitmap image
window.BlitToScreen(sceneSurface); //send the new surface to the 'window' class to be blitted to the screen
'sceneSurface = new Surface(bmp);' is the line which is causing the leak. I have tried putting
at the end of the code block, but it doesn't seem to have any effect.
What would be the best way to fix this?
Is there a way to update the Surface from a bitmap without creating a new Surface?
Thanks for any assistance.
EDIT: [url="http://pastebin.com/3We9UdVz"]http://pastebin.com/3We9UdVz[/url] is the file which contains the problem
EDIT2: Solved by taking a different approach to rendering.