Egg us very verbose. Thats why panda3d can load egg.pz files off the hard drive. I am pretty sure your egg.pz file would be small because egg compress well.
Collada uses:
.. bunch of vertex data ..
Egg uses:
<vertex 1 2 3>
<vertex 1 2 3>
…
bunch of vertex data
But the problem is still here. It does take a lot in memory.
If I look at the memory used:
python.exe
1 956 k
from direct.directbase import DirectStart
131 324 k (normal result)
bob = loader.loadModel('procedural_mesh_128516.egg.pz')
1 016 000 k
that result include the loading of about 50 textures, but it’s a still a little too much I think.
Now when I load the file, the first time it does
take that 800mB of memory. But I suppose that it create a bam in cache, because if I restart python and load the same file again, this time it only take about 20 mB.
and if I egg2bam the file, it’s a 20 mb file, so that should be it.
I will created the bam first.
but question : why doesn’t that extra 800mB isn’t freed somewhere ?
When memory is “freed”, it doesn’t necessarily go back to the operating system. It remains allocated to the process, even though it’s technically free memory. But it’s still available for the process to re-use, so that if you loaded another large egg file, it would just re-use that same memory, without allocating more.
i always wonder why people ask for free RAM. free memory is unused memory. better let $something use it than nothing. first when it’s full of needed and used/reserved data i’d care.