D4RK3 54B3R wrote:
(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.
Are you baking the combinations of the shadows or are you just generating them and caching them at runtime? If you bake the combinations and save them into the RSC, it might solve some problems.

I tend to experience problems only when I have to generate a large number of icons at runtime (like in my experiment and in some of my projects).

Also, your icons are pretty damn large.
I imagine you'd have to get in touch with Lummox in order to fix your crashes.
I performed some tests and I can confirm that it is not the shadow renderer that causes the crashes. Loading all icons (male and female + gear) into a blank project takes up 1,485,968 kb of memory and crashes Dream Seeker consistently. By turning off the shadow combiner in Prism, it buys me a little bit more leeway because the shadow combiner creates resources that use memory (but not much).

To clarify about the shadows. It isn't really feasible to pre-render the shadows of each item. There are too many combinations of main-hand / off-hand items. For instance, I'd need versions of a male shadow with a sword, sword and shield, two swords, axe, axe and shield, etc. If shadow combiner was causing the crashes (which it isn't), I would simply make all shadows 100% opaque and use them as underlays.

[edit]Just to clarify what the problem is here, that blank project has 12mb worth of DMIs. When loaded into memory, I'm seeing approximately 1,451mb.
Page: 1 2