Handling large crowds?


01-07-2009 16:42:54

I've been working on a simulation program that needs to handle a large number of "people" (simple models) moving around within a scene. I haven't been able to hit upon any means of actually handling such large numbers of identical models in order to reduce the number of batches and improve the FPS. The number of entities I need to handle (even if they all use the same mesh/model) range from 10,000 to 1,000,000+.

I realize I am not going to be getting spectacular FPS by any means with that large a number of individual moving "people", but, currently, with a 40,000 person model I am getting dragged down to 20-30 FPS from 800 to 1000 FPS with just the scene and no people. Currently, each person is it's on individual entity attached to a scene node which means there are a vast number of batches (equal to the number of people) that are having to be handled. Any suggestions on an alternative means to handle such a scenario that will reduce the number of batches and/or improve the FPS?


02-07-2009 19:49:05

I can't help with the answer but I would suggest you post this in the main forums as it's ORGE rendering related and there are alot more experts in there. One thing I know you can do is use billboards for objects far away but it depends on the scene you are generating


13-07-2009 22:58:24

Do you use LOD? It can speed it a lot up, but 100 000+ people is really much to have some high fps.
Maybe you could "group" more persons that are very far into one object - billboards could work well or you can try simple objects like boxes (for example in pc game gothic there were forrests in large distance only drawn as box-like meshes textured by forrest texture.