OpenRA/OpenRA — pull request #6758 by RoosterDragon (2014-10-14 19:31:57+00:00)
Title: Create a separate SpriteFrameLoader for caching sprite frames.

Only a few classes used the LoadAllFrames method, and they all use it with a transient cache. By moving the LoadAllFrames method into a new class, we can skip the now redundant frame cache in SpriteLoader, saving on memory significantly since the frame data array can be reclaimed by the GC. This saves ~58 MiB on frames and ~4 MiB on the caching dictionary in simple tests.