upvote
I haven't played since the GUI release, but in the past you definitely had to set a fortress population limit to prevent FPS death.

Also, assuming DFhack still exists, you can try using it to clean up the messes and splatter which can bring it down a decent amount.

Fortress design may also have an impact on FPS from pathfinding according to some, but I had limited success in improving FPS through more optimized pathfinding designs, and the number of entities on the map still seemed like the biggest factor.

reply
Try the game again, the performance has improved significantly. One major problem that was affecting most players were the line–of–sight calculations. Every person and animal in the game has an opinion of every other, and can get mood changes simply from seeing people (or animals) that they like or dislike. And that opinion is both based on the history of interactions between them as well as other factors like consanguinity. So every time someone moves the game has to check who they can see, and for every person (or animal) that they can see it has to check to see if they are related, and if so to what degree. Guests, invaders, monsters, zombies, ghosts, sneaks, villains, etc all have their effects.

The fundamental O(n²) behavior remains, but caching has greatly improved performance for typical forts. They also improved cache locality and refined the exact set of conditions that affect mood. They also parallelized this specific part of the code, though I believe you have to enable that in the options.

You can also improve performance by making changes to your fort. Primary amongst these is simply to reduce the number of people and animals on the map. Don’t keep 50 sheep and 100 cats and 100 dogs and so on. Cut those numbers severely. In the mean time use cages. Caged animals in small rooms behind closed doors don’t see very many people in any given frame, so the cost goes down. Plus you can sell the cages with the animals in them, which is nicer than simply butchering all of your puppies and kittens. Kick out some of the guests too. If you have public taverns, libraries, and/or temples with guests in them then either close them down or make them smaller. Focus on quality over quantity. (Actually for taverns and I guess temples I still recommend having a large room with a big square area with a nice floor and no furniture so that everyone can dance. If you haven’t seem them dance then you have been missing out!)

You can also consider changing the layout of your fortress. I don’t recommend going too far down this road, but even small changes can have large effects. Long corridors full of people are the most expensive, so try breaking line of sight using doors or corners. Put things on different floors instead of along a single long corridor. Naturally some players experimented with zig–zag corridors so that nobody can see more than a tile or two in any direction, which works, but of course that results in completely alien fortresses that feel terrible to the player.

reply