I'm having frame rate problems on my laptop, and I was thinking the animals were the problem. So I did some testing, and I would like the share this single experiment. The experiment was done on my main computer with a 'unlimited' FPS cap.
So this is just one experiment, - the results may be flawed due to a group of hiding goblins, but the results may still prove interesting for those working with lots of animals.
These experiments happened in 0.31.25, a small world with temperature and weather on, - and animals were hurt very much in the end.
Startup:To generate a lot of dogs I set up a boring secure fort with 28 female dogs and 2 males: FPS 551.
Next spring: Puppies!!!! FPS 495
Experiment with stones: I wanted to have a long path betwen the holding chamber and the meeting zone, so I dug out a very long path. This did create a lot of idle stone. FPS 242
Dumping and smashing the stone: FPS 340
I don't know where the extra 100 FPS came from, but smashing the stone didn't help.
Sub-conclusion: I can't support the hypothesis that idle stones hurt the FPS, - at least not when it's 'just' about 2000.
Final test:Running free: 290
Untrained pastured: 408
Not pastured - No path possible: 260
Doors unlocked, but not pet passable : 68
Only long path allowed : 42
<
Trained war dogs:Running free and 'unasigned' (i.e. they follow their trainers) : 242
Pastured with path out : 270
No path out: about 300
Free, but assigned to 1 dwaf: 270
Atomsmashing all dogs : FPS 400.
Conclusion(?) The picture is not clear, - most of the deviations may be due to other factors than the dogs.
You should apparently never have animals behind 'unlocked, but not pet-passable' doors. It seems like the animals will find a (dwarf) valid path back to the meeting zone and start walking, - they will then hit the door they can't go through and try to repath, - finding the (dwarf) valid path ect.
Otherwise my only result is that pasturing is generally good and free running is bad. So I plan to have even assigned war dogs put in a pasture, and then put the pasture to inactive whenever I need the dogs 'unleashed'.