Any thoughts on MemoryPool classes for non-changing objects?

That is what many engines use for models and textures. I think that jme really needs it( On my system a jme game can only use a few megabits of memory).

It may be a little late to chime in here, but anyways…



I think this is a pretty good idea, it would be nice to be able to insure that the vertices placed in the pool cannot be changed. However, I suppose this is just a situation where the user must be careful.



I know you were experimenting with it already, what time penalties were you seeing loading a decent size model from the vertex pool?



Memory is definately becoming something of a concern, and I am very pleased to see you are interested in dealing with it.

I was using a Hashmap and I did see about 2/3 as many Vector3f’s created on just one random model (that’s without loading it 2-3 times). I think I went from 190,000 Vector3f to about 130,000 Vector3f instances, and I didn’t see any speed hit at all actually (or negligable at least). The problem was that I was actually using -more- memory. That’s because every BinaryTree node has the Vector3f plus left pointer, right pointer, and a red/black flag, along with being an object itself. A pool for Vector3f would have to use every vertex on average 2-3 times to be any memory gain, I think. If I had loaded that one model twice, or three times I would of seen less memory usage though.