Greenshot uses x MB of my RAM, why is that?
Before talking about memory usage, let's make sure we are talking the same language: there are some points to notice, and a lot of things that are easily misunderstood.
- Which Greenshot version are you using? If it is not the latest stable release, please upgrade. Older versions had some memory issues, which we have fixed with version 1.0.
- Which tool are you using to measure the memory usage of a program? If it is task manager, you should be aware that the displayed usage is probably higher than the actual value. If memory is available, Windows usually reserves more for running processes than actually needed. You might want to read our blog post about working set vs. private working set for more information.
- In which workflow situation did you encounter the memory usage that you think is too high? Of course, the actual memory usage varies depending on many factors, but when you start Greenshot, the memory usage should be somewhat consistent. When you start to work with it, of course it will go up, the bigger your screenshot, the more memory is needed to process it. After finishing your work and closing image editor windows, the memory usage should go down again. But this does not necessarily happen right away! Even though we mark certain objects as disposable (i.e. no longer needed), the .NET framework and/or Windows may decide to keep them in memory a bit longer for performance reasons.
- If you want Greenshot to try to free your RAM from these objects earlier, there is an option in Greenshot's expert settings tab called "Minimize memory footprint". Be aware that checking it might result in loss of performance; that is why we advice not to use it and leave garbage collection (that's what nerds call cleaning up unneeded stuff from memory) to the .NET framework.
- Speaking of .NET: it is well known that applications developed on top of the .NET framework often need some extra memory, this is a trade-off one has to consider. As always, there are pros and contras.
By now, you probably have an idea that we have had our share of investigation regarding memory usage, we also have optmized a lot. And you can be sure that we are constantly having an eye on it, looking out for possible room for further improvement, keeping the RAM in mind while changing and adding the code. So, general feature requests like "reduce memory footprint" are not likely to change our way of working, since we care about this anyway :)
However, if you have strong indication that Greenshot does not free memory permanently, you should tell us more details about the circumstances. If you encounter a situation which lets memory usage grow more and more after repeatedly doing the same thing, maybe you have actually found a memory leak we are not yet aware of. In these cases, please let us know, including information about your system and an exact description how to reproduce the behavior. We'll have a look at it.</li> </ol>