NefariousDevelopment wrote:
Hey D4RK3,
Prism's memory consumption is already pushing about 580mb when crashes start occurring. The computer I'm testing this on has 8gb of ram. I'm at a loss because I don't know what's worse: the fact that my <20mb worth of DMIs are taking 580mb of RAM or that Dream Seeker is crashing due to the memory consumption. I have 8gb of ram, but I don't expect the players of Prism to have 8gb of ram.

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?
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