A few words on memory usage or: working set vs. private working set

Every once in a while, we read statements like “Woah, the task manager says my Greenshot installation takes x MB of RAM when it is idle! Why does Greenshot need so much memory?”

Actually, it does not. Please do not judge any software by what the task manager says. Of course, the task manager is not lying to you; but its presentation of facts is rather misleading.

The value pointed out as “Mem usage” is actually the size of a processes working set. A working set is not reserved for a single process. When analyzing the memory performance of a process using a tool like Process Explorer (or – with Windows Vista or 7 – changing the displayed columns in the task manager; see link below how this can be done) it is obvious that the working set size is split into two values, WS Private and WS Shareable.

Process Explorer screenshot

Example: Process Explorer distinguishing Private and Shareable Working Set

These terms are pretty much self-explanatory: the private part of a working set is how much the process actually needs, it cannot be used by other processes. The shareable part is most often the bigger part of a working set. What is in there is free for use by any other application running, which is most obvious when running multiple .NET applications. Launch Paint.NET next to Greenshot and you will notice WS shared increasing. Launch SharpDevelop and it will increase even more. Loaded resources are shared between applications, which is a good thing.
If you are curious about the shared working set: cybernetnews has posted a nice article on Windows memory usage.

Another thing: as long as RAM is not scarce, used memory is not wasted memory. Actually, unused memory is literally of no use. For this reason Windows may be more generous in spending your RAM than actually demanded. So if the process needs some more at a later point, it is already there and can be accessed quickly (i.e. more performant). If other processes demand it, it can still be reallocated.
Just imagine three persons sitting on a sofa. No matter how big the sofa is, they will probably spread along the whole length instead of stacking up on one side of it, allowing each of them some extra space to sit comfortably and uncramped, leaving room to move. But when needed, they can still move together so that other persons can find a seat, too. Now there are maybe five or six persons sitting of the sofa, which still works out. But reaching out for ones drink on the table is a little bit more cumbersome, every move is a bit less effiecient now.

That said, be sure that we are always having an eye on memory usage, we definitely have no intent to waste memory for whatever reason. We can do our best to free resources as soon as they are no longer needed, but we also have to rely that Windows and .NET do a good job when it comes to memory management.

Posted in Uncategorized | Tagged , , , | Leave a comment

Greenshot in Japanese, Dutch, Spanish or Simplified Chinese

We have just uploaded three four new translations to our downloads section. Thanks to the translators, you can now create and edit your screenshots in Japanese, Dutch, Spanish and Simplified Chinese – simply copy the respective XML file to the Languages subdirectory of Greenshot’s installation directory and choose the desired language in the settings dialog.

有難うございます。, asabu. Hartelijk dank, Jurjen and Robin. Muchas gracias, darkprop. 非常感谢, uralhan. :)
(Hope this is anywhere near correctness ;-)

For those who have not discovered yet: Greenshot 0.8 has improved multilingual support – several nice users have supplied translations (Thanks again). The complete list of available languages you can use this screenshot tool with is now:

  • English (included in the program)
  • German (included in the program)
  • Czech
  • Spanish
  • French
  • Japanese
  • Dutch
  • Russian
  • Simplified Chinese
  • Traditional Chinese
Posted in Translations | Tagged , , , , , | 3 Comments

300K Downloads – thank you :)

We are happy to see that Greenshot has been downloaded 300,000 times so far from sourceforge.net… What’s more: there have been more than 100,000 downloads within the last six months. Wow :)

Here are Greenshot’s all time download stats on sourceforge.net.

This is a good occasion to say thank you to those who donated – your appreciation is very motivating to keep things going :)
And of course, thanks to everyone supporting Greenshot in whatever way. We really appreciate your support.

Posted in Uncategorized | Tagged , | 11 Comments

Small bugfix release today

The current version, Greenshot 0.8.0-0627, fixes some bugs and/or annoyances of the previous version. This includes a few errors that occurred under special circumstances. The most obvious changes in general are that new editor windows now open in the same position where previous editor windows have been closed, highlight and obfuscator elements no longer re-use the last used values (e.g. for line thickness and color) from other elements (e.g. rectangle) and that larger font sizes are allowed in the editor (has been limited to 24px before).

We recommend updating to the current version of Greenshot.

Posted in Releases | Tagged , , | 4 Comments

Greenshot goes multilingual – ready for translation

You may have noticed that since version 0.8, we are offering additional language files on our downloads page. Greenshot’s user interface content is loaded from separate XML files now, which means that you can change existing language files or even add new languages simply by editing or adding an XML file. (There will probably be an easier feature in future versions, allowing the download of additional languages right out of Greenshot.)

At the time of this writing, Greenshot has already been translated to Czech, French, Russian and Traditional Chinese (thanks to vodim, EminoMeneko, Aleksey and Timothy Lin), a Dutch version is in progress already. English and German are included in Greenshot by default.

We are excited about seeing the Greenshot interface in different languages and hope that there are more to come.
If you create a translation for Greenshot, we would of course be very happy if you shared it with us and other Greenshot users.

Before starting a new translation, please make sure that none has been provided for this language yet in our translations tracker as well as in our SVN repository, to avoid the translation work being done twice.

In order to create a new translation, use an existing language file from your Greenshot installation (they are located in the Languages subdirectory of Greenshot’s installation directory – please make sure that you are having the latest available version installed) and duplicate it using the respective language code in the filename. Make sure the filename is still something like language_##_##.xml. Open the file using a text editor and translate the entries.
When you are done, please upload the translation to our translations tracker, we will offer it for download as soon as possible.

Please note that we prefer translations from registered sourceforge.net users. For a simple reason: it allows for other users to contact the translator about enhancements or improvements. Feel free to discuss things with a translation’s creator in the tracker, because – in most of the cases – the Greenshot development team will not be able to discuss about specific languages with you.

Thanks a lot in advance to anyone who wants to do a translation.

Posted in Translations | Tagged , , , | 2 Comments

Greenshot 0.8 beta is out

We have released a new version of Greenshot. With this release, version 0.8 is no longer flagged “unstable” :)
Download
Thanks to everyone who helped us creating the best Greenshot version ever by testing and providing feedback.

So what’s new in Greenshot 0.8 beta?

Some of the most obvious (and most requested) features can be found in the image editor: for example, there’s a new tool for cropping the screenshot down to the desired size.
Very handy: attaching the screenshot to a email right out of Greenshot.
We also added new utilities for highlighting things on a screenshot, you can also obfuscate things by blurring or pixelizing them.
These are just some of the new features of Greenshot 0.8 – please have a look at the release notes at the end of this post for further information.

At least as much has changed under the hood – we have refactored quite a lot of the code and optimized things so that the new version performs much better and is more stable. Of course, we have also fixed many bugs, e.g. the odd “GDI+ exception” some of the users encountered often, problems when copying screenshots to the clipboard, etc…

We hope you like the new version as much as we do :)

P.S.: Greenshot is flattrable (do you say so?) now – if you are using Flattr, you might want to flattr here :) If you are not, have a look at their concept of contributing to “the internet”… Or consider to support the development of this screenshot software in another way. Thank you :)

Bugs resolved:
* save-as dialog honors default storage location again
* fixed loop when holding down prnt key [ 1744618 ] – thanks to flszen.users.sourceforge.net for supplying a patch
* fixed displayed grippers after duplicating a line element
* fixed a lot of GDI+ exceptions when capturing by optimizing memory usage

* typo [ 2856747 ]
* fixed clipboard functionality, should be more stable (not throwing exception with “Requested Clipboard operation did not succeed.”) Bugs [ 2517965, 2817349, 2936190 ] and many more* fixed clipboard to work with OpenOffice [ 1842706 ]

* fixed initial startup problems when creating the startup shortcut
* fixed exceptions when save path not available, incorrect or no permission when writing (will use SaveAs)
* fixed camera sound is sometimes distorted
* fixed region selection doesn’t take the right size
* fixed bug when capturing a maximized window: wrong size was taken and therefore additional pixels were captured
* fixed capture bug which prevents a lot of people to use Greenshot (in 0.7.9 this was a “GDI+” exception).
Problem was due to allocating the bitmap in the memory of the graphic card which is not always big enough.

Features added:
* Optimized memory usage
* Added crop tool
* Added clipboard capture
* Added plugin support
* Added Bitmaps as object
* Added filters for wiping sensitive information as was suggested in e.g. [ 2931946 ]
* Added open from file
* Added the captured window title (even when capturing a region) as option for the filename pattern
* Added shadows which where supplied as patch in 2638542 and 2983930
* Added Email as Output (a MAPI supporting Email client should be available)
* Added double-click on icon to open last save location in Windows Explorer (or replacements)
* Changed configuration loading to better support portable Greenshot usage.
* Changed language from compiled resources to flexible xml files, user can add their own languages
* Added “Select all” option for image editor
* Added “Drag to”, you can now drag images or image files to the Greenshot image editor.

Posted in Releases | Tagged , , | 13 Comments