Which is best in this scenario, Base64 or static images?
<p>Part of my application Makes heavy use of image manipulation. Cropping, filters etc. using ajax posts and image processing server side using a variety of methods. Every manipulation action that the user takes creates a physical image without deleting the original in order to allow an 'undo' system  giving the user the ability to revert his image back to any previous point in time.</p>

<p>All these 'temporary' images are removed via a post to the server when a user finishes their session or closes their browser.</p>

<p>For modern browsers we will be extending the image manipulation capabilities using html5. Using canvas gives us the ability to perform all of these image manipulations client side without ever creating additional static images by encoding and dynamically embedding base64 data. </p>

<p>My concern is the 'undo' system. With the static fallback method we store store an array of objects which contains the links to the static images. This gives the complete undo functionality. However if we do this all clientside then this array will have to actually contain copies of the base64 data for each 'undo' point For each image that the user is manipulating (a typical use case might be 20 original images each with 4-5 undo points).</p>

<p>Before I spend a couple of days prototyping this I was hoping someone might have some comments regarding this method. Is it a good idea? Bad idea? Is storing a huge data object of base64 images a bad idea from a browser performance and memory usage perspective?</p>

<p>Any thought are welcome, thanks in advance.</p>
