Photoshop Tall and Thin, Big and Flat: New Cache Tile Optimization Options in CS5
Because digital camera resolution continues to increase over time, the image files most of us work with get bigger too. Thankfully, computer processing power and memory also keep going up so we can work on those bigger images. To better manage all the memory needed to push around huge numbers of pixels, Adobe has added new tuning options to Photoshop CS5 that may need a bit of explaining.
Photoshop has long given the user a degree of control over how memory is allocated and used. Originally found on the "Memory & Image Cache" Preferences tab and later moved to the new "Performance" Preferences tab as of Photoshop CS3, we've had control over two basic memory tuning parameters. The most straightforward setting is the maximum percentage of available memory used by the program. If your computer was dedicated to nothing but Photoshop you could afford to set this relatively high, but if you typically ran other applications at the same time, you could lower the value so that Photoshop wouldn't completely monopolize your machine. Photoshop also has long given users control over the number of cache levels employed to improve responsiveness of the display. With caching enabled, Photoshop maintains the specified number of lower resolution versions of your open images and updates them while you edit. If you aren't actually zoomed into a 100% view of an image, using one of these cached versions as a basis for rendering what you saw on your screen allowed Photoshop to keep display redraw up-to-date more easily. Photoshop can also used these cache versions as the basis for displaying image histograms. Current versions of Photoshop default to four cache levels. If you set this to one, caching is disabled and Photoshop will only maintain the actual pixels for opened images with no additional low resolution versions.
Photoshop CS3 also gave us control over the number of History States to maintain in the History panel. Since each one consumed memory, it was a tradeoff as to whether you wanted the ability to undo more edit steps or preserve more memory for processing the active image state. More control over how memory is used is good so this was a welcome addition.
In Photoshop CS2, Adobe introduced the "Bigger Tiles" plug-in intended to improve performance for those with more than one gigabyte of memory. That doesn't sound like a lot of memory at all by today's standards, but back then it was. Without realizing that's what they were called, you are probably already familiar with the concept of "tiles" in Photoshop. When you perform any kind of significant edit you can see Photoshop redrawing your display in large blocks. Those are tiles. Photoshop will perform the needed calculations for a filter or other edit on these blocks or tiles of memory one at a time, moving from one to another until the entire image has been updated. The default tile size in CS2 was a measly 132 KB so a large image would consist of quite a few tiles. When you installed the Bigger Tiles plug-in, the default increased to 260 KB but if you assigned at least a gigabyte of memory to Photoshop, the tile size jumped to a full megabyte each. This allowed Photoshop to process larger chunks of your image at a time, allowing it to get the entire job done in fewer steps and thus finishing more quickly. Some users reported great success using the Bigger Tiles plug-in but others claimed they got little if any improvement. I found it helpful and this was one of the things I always changed when installing Photoshop on a new machine. The plug-in could be installed by locating it in your standard Photoshop plug-in folder and removing a leading "~" from its file name. On Windows, it generally lived at "C:\Program Files\Adobe\Adobe Photoshop CS2\Plug-Ins\Adobe Photoshop Only\Extensions\Bigger Tiles" under the name of "~Bigger Tiles.8BX." By taking the "~" off and restarting Photoshop, the tile size change would be active. In Photoshop CS3 it moved to "C:\Program Files\Adobe\Adobe Photoshop CS3\Plug-Ins\Extensions\Bigger Tiles" but worked the same. For some reason, with Photoshop CS4 you had to hunt the file down on your installation DVD and copy it in place but it still existed and still did the same thing.
Finally, as of Photoshop CS5 you no longer have to rename some secret file of track down that file on your Photoshop DVD to change the tile size. Now you can control the tile size directly from the Preferences dialog. I guess Adobe has realized that most of us now have more than a gigabyte of memory.
Located in the Photoshop CS5 History & Cache section of the Performance tab of Preferences you'll find the same History States and Cache Levels settings we've had for the past few releases. But you'll also now find several new controls here as well. Notably, there is now a drop down setting box for the Cache Tile Size to give you direct control over the same thing the Bigger Tiles plug-in previously affected. By adjusting History States, Cache Levels and Cache Tile Size you now have a tremendous amount of control of Photoshop's memory management settings. It is still necessary to restart Photoshop for any changes here to take effect, but by iteratively tweaking these settings to fit your needs and the type of images you generally work on you should be able to coax a reasonable performance improvement from Photoshop.
In an attempt to make picking the optimum values for your situation Adobe has provided three new buttons at the top of the History & Cache settings with the cryptic names of "Tall and Thin," "Default," and "Big and Flat." Photoshop will optimize the values of History States, Cache Levels and Cache Tile Size based on which of these three buttons you click on. It's safe to assume that the Default choice lies somewhere between "Tall and Thin" and "Big and Flat," but thes other two are less clear. According to Adobe, "Tall and Thin" is intended for those who typically edit small to modest sized images with a lot of layers while "Big and Flat" is for those who often edit images with larger pixel dimensions but with fewer layers. I'm not sure I could have come up with any better names for these buttons but the ones Adobe chose sound a bit odd to me until you think about what they mean a bit but there you have it. The exact values you will end up with will vary based on your hardware configuration. Those with more powerful Photoshop workstations will see more variation in the results of the three buttons while those with more modest setups may see Photoshop pick basically the same values for History States, Cache Levels and Cache Tile Size regardless of whether they go with "Tall and Thin" or "Big and Flat."
If you've upgraded to Photoshop CS5 I encourage you to experiment some with these cache settings. You may just find that the time it takes to do so will be more than paid back with a faster, more responsive program.