Today I did some optimizations on Abiathar instead of adding features! These ones focused on cutting down executable size (which was over 6MB) and improving load time for projects using default graphics.
The solution to both of these was to use exported images for default graphics instead of bundling the huge EGA resources. This produced a huge speedup in project creation, even faster than loading bitmaps from disk (due to it being from memory). Though bitmaps (*.bmp) were easy to manage and quick to partition, they are huge, at least as large as those EGA resources. The fix for that was to save them in GIF format, which has a limited palette (fine for my 16 colors) and compresses heavily. Fortunately, .NET made it easy for me to make this transition by allowing the "New Bitmap(Stream)" call to load GIFs just like BMPs.
Abiathar is now only 3.6MB.
No comments:
Post a Comment