by LordHavoc » Sun Jan 19, 2014 4:50 am
A few of the main things you run into in the stock and nearly-stock engines:
network protocol limit : packet overflow - too many entities in pvs at once, darkplaces got rid of this limit, but in general you can expect it to happen in most engines, there may be some singleplayer-centric engines with unusually high packet sizes that reduce the problem but it can still occur.
network protocol limit : coordinate range - in most engines you are limited to having entity origins within +/-4096 coordinate range, you are free to have scenery outside this range however, and due to brush models frequently having origins at 0 0 0 you can actually have func_train entities outside the 4096 range entirely that are used for scenery, as long as they do not rotate (rotating ones will require origins to be inside the object and thus the center of the object being within 4096 coordinate range).
network protocol limit : MAX_EDICTS - in most engines this is either 640 (stock quake) or 2048 or even 8192, in darkplaces it is 32768 (and they can all be in the same room) so you aren't likely to run out under any circumstances but performance does tend to degrade past about 4000.
network protocol /renderer limit : efrags - as Spoike noted an entity can not be in more than a certain number of leafs (convex regions of the map) at one time in most engines, this can be visualized in darkplaces with r_drawportals 1 but it won't show any sort of alarms when an entity exceeds limits (as darkplaces has no efrags limitations), still you may be able to observe when too many portals (translucent "walls") are coming near your large entities which can help in finding those problem entities that other engines complain about.
network protocol limit : MAX_MODELS - requires network protocol changes to raise this limit, a fair number of engines do have those changes (in their respective custom protocols), this is 256 in stock quake and 8192 in darkplaces.
network protocol limit : MAX_SOUNDS - requires network protocol changes to raise this limit, the same engines that raise MAX_MODELS also raise this, 256 in stock quake and 4096 in darkplaces.
renderer limit: MAX_DLIGHTS - this is 32 in most engines, 256 in darkplaces, I think it won't be explicitly called out when exceeded but you can easily hit this limit on how many glowing entities (and explosion flashes/muzzleflashes) you can have at one time.
renderer limit: MAX_TEMP_ENTITIES - this is 64 in most engines, 4096 in darkplaces, it mainly affects how many lightning beams you can have going at one time (each one consumes several temp entities, depending on length).
There are various "gray flash" limits in the software quake to worry about but I assume you're not targeting software quake engines. You'll also run into -heapsize and -zone limits easily but I assume you understand those settings (again not applicable to darkplaces).
There used to be a lovely page with a table of several of these limits across various engines but I can't remember where it is.