The unclear nature of the "nexus" makes it hard to make conclusions. You have to do some assumptions, and these assumptions will not always be true for all test cases. Therefore making conclusions out of different test results(under the same assumptions) will never show a stable curve. But if you can catch a pattern it could be helpful, and can be categorised under your APPROXIMATE category.

I once ran a series of tests. one of them was with an empty level and the CUBE_MDL. An ent_crate, ent_remove/ptr_remove test. I could not find that pattern because i do not know what does engine do under the hood. I had my task manager setup like this: http://imageshack.us/a/img833/5062/taskmgr.png
private delta shows newly allocated/released amount of memory between previous taskmgr update and the last update.

I do not have exact number any more but creating first entity costed around 350kb, this, I guess because of the mesh and other shared portions of data, then subsequent entity creations SOMETIMES costed 4KB, which is, I assume memory required for the ENTITY pointer and the ENTITY struct(skills,flags,other pointers in the struct) itself. I say "sometimes" because it's not always the case, sometimes delta remains 0, and the total does not change. That could be because that the between task manager updates, the engine releases 4KB memory from somewhere else and allocates new memory for the new entity OR does not release that memory at all and uses it for the entity. This i guess where the nexus comes in to play. Altough a new entity is ent_created no new memory is allocated. It is also same for other way around, ent_removing an entity sometimes does not make any change in the value that is seen on the task manager. Now an interesting part is that when you remove a couple of entities and see no change in memory, there is a couple of different things that can happen:

1. waiting a while releases some memory which is not generally 4kb*ent_removed entity count(it may be greater or less than that).
2. waiting and after seeing there is no change in memory:
-->2.a. releasing an entity more or a couple more entities release some amount of memory. Amount of it seems like related to previously released entities plus the ones you just released(the ones that looked like there was no change in memory)
-->2.b. after removing entities and waiting and seeing that there is no change in memory, ADDING another entity sometimes suddenly releases some memory.


All I can make out of this that is that nexus and/or engine releases and allocates memory in certain chunks.

Last edited by Quad; 10/16/12 14:42.

3333333333