(I've even dealt with DMIs that are 5mb individually
Before compression, all of my file sizes are over 5mb. Because DMIs are loaded into memory uncompressed, the compression is basically a moot point. My icons are taking up roughly 100 mb a piece in memory.
Could there be another source for your crashes? How big are your atoms exactly?
I suspect that the shadow renderer could be causing the crashes, if it isn't the DMI's directly. I have not tested the crashes in a blank project yet, so it's possible. The shadow render basically just takes any gear that would affect a player's shadow (mainly just the weapons) and combines the shadow of the item with the shadow of the player. It adds the two shadow icons together and then changes the opacity. I do this in order to avoid the double opacity issue that SuperAntX notes in this thread: http://www.byond.com/developer/forum/?id=736183
The code itself is simple and behaves reliably until memory usage is high. If the shadow renderer is causing the crash, then memory usage is at least supplementing the crash, because crashes do not occur with or without the shadow renderer until after about 580 mb. I'll do some more tests later.
Either way, the memory usage of DMI's is still unacceptable for me at this time.
To give an example, one character with one full set of gear being displayed on the map is 580 mb. This is for one gender. Double that if 2 players are being displayed with the exact same gear but have different genders.
What will happen if I have 4-5 players on the same map with different gear. While I don't intend for Prism to be an MMORPG in any traditional sense, I do anticipate guilds forming groups of 20 people and participating in guild raids. Therefor, I expect a server in Prism to be able to handle about 20 people. There will be a social server, but there will be no "action" there. On this server I can load a special set of icons for players, ones that do not include combat animations and what not.
I'm very concerned that the memory usage of Prism will not be practical in a multi-player environment.
That's very strange and distressing. In the projects where I used rendered graphics (isometric and non isometric), I've had fairly large animations... up to 16 frame animations in up to 72 directions. One of these games even made very heavy use of runtime-generated graphics. I have never had any of these games crash regardless of how many objects are on the screen at once, and I've never encountered your problem of crashing because of DMI size (I've even dealt with DMIs that are 5mb individually, which I imagine none of yours are).
Could there be another source for your crashes? How big are your atoms exactly?