Images
A typical process when loading image data is to call SE_GetImageData, allocate a new buffer, copy the data into it, and freeing the data when no longer needed.
When dealing with large images, this may not be a good approach, because these steps cause 2 image memory allocations, 2 image copy operations, and 2 deallocations.
An alternative is to take advantage of SE_Stores. Since you need one to retrieve the Image data, just keep the SE_Store around until you no longer need the image data (just make sure you don’t reuse the SE_Stores). This simple step can reduce the time to retrieve and release Images by half!
Another “gotcha” when processing large Images is using the Level 1 function SE_GetRearrangedImageData. This function allocates temporary space for its processing, and that can become an I/O/memory bottleneck when dealing with very large images.