armandoalonso / c3IDE

An Integrated Development Environment For Construct 3 Plugins
GNU General Public License v3.0
22 stars 4 forks source link

Editor freezes coming back to the home after a long while #75

Open skymen opened 2 years ago

skymen commented 2 years ago

I'm 90% sure this is caused by my icon caching system, but basically, after a very long while, when coming back to the home page, the editor hangs for a while, and in some cases freeze completely and needs to be killed.

I have no idea what causes this, my current theory is that it might be caused by the garbage collector collecting the variable. That, or the cache is removed from RAM if not accessed in a while, and the editor freezes trying to load it back to RAM but it takes a long time.

Anyway, I'll need to look into this, cause it's pretty bad.

Also, when I say "a long time" I actually mean "more than a day, maybe two". So this will be a very fun time to debug :)

armandoalonso commented 2 years ago

that issue you just filed means there is a memory leak somewhere, something is not being disposed of correctly it is most likely where teh SVG files are being created https://github.com/armandoalonso/c3IDE/blob/master/c3IDE/Utilities/Helpers/ImageHelper.cs#L36 the memory stream is not being disposed here and also here https://github.com/armandoalonso/c3IDE/blob/master/c3IDE/Utilities/Helpers/ImageHelper.cs#L70 need to check if SvgDocument type is garbage collected https://github.com/armandoalonso/c3IDE/blob/master/c3IDE/Utilities/Helpers/ImageHelper.cs#L91 also this stream does not look like its being disposed https://github.com/armandoalonso/c3IDE/blob/master/c3IDE/Utilities/Helpers/ImageHelper.cs#L124 GitHub

skymen commented 2 years ago

Potential fix https://github.com/armandoalonso/c3IDE/pull/76