Adobe Photoshop CS5 for Photographers : The Ultimate Workshop



The History panel

The History panel displays the sequence of Photoshop states recorded during a Photoshop session and its main purpose is to let you manage and access the history states recorded by Photoshop. To select a previous state, just click to select the desired history state to make it active. In Figure 1 below, I carried out a simple one-step undo by clicking on the one but last history step.

Figure 1 A previous history state can be selected by clicking on the history state name in the History panel. When the History panel is set to its default configuration, you will notice how the history states that appear after the one selected will be dimmed. When you make further edits to the image, the dimmed history states after the selected history state will become deleted (you can change this behavior by selecting Allow Non-linear History in the History panel options).

History settings and memory usage

The number of recorded histories can be set in the Photoshop Performance preferences (see Figure 2). When the maximum number of history states has been reached, the earliest history state at the top of the list will be discarded. Note that if you reduce the number of history states allowed via the Preferences, any subsequent action will immediately cause all earlier states beyond this new limit to be discarded.

Figure 2 The number of history states can be set via the Performance section of the Photoshop preferences dialog.

To set the options for the history panel, mouse down on the fly-out menu and select History Options... (see Figure 3). Here, I suggest you enable the non-linear history option. This will allow you to select a previous history state, but instead of undoing those steps between the earlier state and the latest, and deleting them, non-linear history allows you to shoot off in a new direction and still preserve all the original history states. The 'Make Layer Visibility Changes Undoable' simply makes switching layer visibility on or off a recordable step in history.

Figure 3 The History Options are accessed via the History panel fly-out menu. These will allow you to determine things like the Snapshot and other history settings.

The History cleverly makes use of the image tiling to limit any unnecessary drain on memory usage. Conventional wisdom suggested that any multiple undo feature would require vast amounts of scratch disk space to be tied up storing all the previous image states. Proper testing of History indicates that this is not really the case. It is true that a combination of global Photoshop actions may cause the scratch disk usage to rise, but localized changes will not. You can observe this for yourself – set the image status display to show Scratch Disk usage and monitor the readout over a number of Photoshop steps. The right-hand value is the total amount of scratch disk size currently available – this will remain constant, so watch the left-hand figure only as you edit an image and add more history steps.

Every Photoshop image is made up of tiled sections. When a very large image is in the process of redrawing you may just see these tiles rendering across the screen. Photoshop’s History memorizes the changes that take place in each tile only (see Figure 4). If a brush stroke takes place across just one or two image tiles, only the changes taking place in those tiles are updated. When a global change takes place such as a filter effect, the whole of the image area is updated and the scratch disk usage rises accordingly. A savvy Photoshop user will want to customize the History feature to record a reasonable number of histories, while at the same time being aware of the need to change this setting if the history usage is likely to place too heavy a burden on the scratch disk. The Figure 5 example makes the point that successive histories need not consume an escalating amount of memory. After the first adjustment layer, successive adjustment layers have little impact on the scratch disk usage (only the screen preview is being changed). For example, the healing brush work will affect only a few tiled sections at a time.

Figure 4 This picture shows the underlying tiled structure of a Photoshop image. In this example there is a width of four tiles and a height of three tiles. This is the clue to how history works as economically as possible. The History stores the minimum amount of data necessary at each step in Photoshop’s memory. So if only one or two tile areas are altered by a Photoshop action, only the data change for those tiles is recorded.

The Purge History command in the Edit Purge menu provides a useful method of keeping the amount of scratch disk memory used under control. If the picture you are working with is exceptionally large, then having lots of history states active may be wasteful and unnecessary, so you should perhaps consider restricting the number of recordable history states. On the other hand, if multiple history undos are well within your physical system limits, then make the most of it. Clearly it is a matter of judging each case on its merits. After all, History is not just there as a mistake correcting tool, it has great potential for mixing composites from previous image states.

Figure 5 The above table shows how the scratch disk usage can fluctuate during a typical Photoshop session. The opened image was 63 MB in size and 1300 MB of memory was allocated to Photoshop. The scratch disk overhead is always quite big at the beginning of each Photoshop session, but notice how there is little proportional increase in scratch disk size with each added history state.