Monday, June 20, 2011 3:28 PM
Understanding Painter's memory settings
A common question we’re asked is to explain how to make the most of your system memory when using Painter. Well, to answer that question properly, you need a little background:
When you create a canvas in Painter, all the information about how you created it has be stored somewhere (ex. the color of each pixel, the layers, the undo operations). There are two choices on where we can store that data: on your hard disk drive (HDD) or in random access memory (RAM). It is many, many times faster to read and write information in to RAM than it is to your HDD. So, we place a priority on using as much RAM as possible in as effective a manner as possible. In order to accomplish this, Painter uses an entity called a “tile”. Each tile holds about 60,000 pixels and you will use many hundreds of tiles for a typical document. As an example, a canvas of 1600x900 requires 1,440,000 pixels, or about 25 tiles... without factoring in any costs associated with storing undo information or layers.
If you’re curious about how Painter is using tiles, you can try this little-known trick: Press SHIFT+i to display the following dialog:
The important numbers to note are the number of tiles allocated (red) and the number of free tiles (yellow).
Painter allows you to configure how much RAM it uses to store tiles. This is where the Performance Preferences Memory Usage slider comes in to the equation. The value that you set here determines the total amount of memory available to create tiles in RAM before Painter needs to use your HDD.
By default, Painter is configured to use up to 80% of your total system memory. I’d like to emphasize that point: the memory slider allows Painter to use a percentage of the entire amount of memory installed in your computer. If you have 4 GB of RAM, a setting of 80% allows Painter to use up to 3.2 GB. Allowing Painter to have access to this much memory can offer a great boost in performance but it does come at a cost; using that much memory in Painter means that memory is not available to other applications. So, if you’re a heavy multi-tasker and like using other applications in conjunction with Painter you’ll probably want to dial down your memory slider a little bit. I think it’s usually a good idea to leave at least 1 GB of memory available to your other applications.
There are a couple of other points that I think are worth noting:
- Once Painter has allocated RAM for tiles, it reserves that RAM for future use. Even if you close the document that required those tiles, Painter doesn’t immediately return the memory to the system. This offers significant performance improvements since we don’t have to incur the cost of re-allocating more tiles the next time you modify a document.
- In addition to the memory used by tiles, Painter uses a little more memory to load things like the user interface and some of your content (like paper textures, for example). So, sometimes you’ll notice that Painter uses a higher actual percent of your computer’s memory than the value you’ve specified for the slider.
If you’re curious about how these tile allocations work, try out this example:
- Launch Painter & press SHIFT+i. You should see numbers similar to these: Painter is using 160 MB of RAM; 79 total tiles; 12 free.
- Create a 1600x900 document, Edit>Fill...> Fill With: Current Color and press SHIFT+i. You should see numbers similar to these: 188 MB of RAM, 121 total tiles; 0 free. In this case Painter used all of the previously allocated tiles and allocated 30 more.
- Close the document and press SHIFT+i. You should see numbers similar to these: 188 MB of RAM, 121 total tiles; 56 free. In this case, Painter has returned 56 tiles to the ‘pool’.
- Create a second 1600x900 document and press SHIFT+i. You should see numbers similar to these: 188 MB of RAM, 121 total tiles; 52 free. In this case, Painter has re-used 4 of the tiles and not allocated any additional RAM as it already has enough.
I think I’ll end this discussion on memory here, but I hope you’ve learned a little about how Painter uses your system memory. I’d be curious to know if you have any questions related to this.
Filed under: tricks, tips, performance, memory