I read through most of this thread, and paid attention but didn't understand many of the parts when y'all got a bit more technical...
To put what I think I understand in layman's terms:
Every time a check is made to see what Dwarf Child A can see, it checks against every creature that has ever existed in the fortress, as opposed to only those that are still alive, present, and reasonable to consider.
Which means if you had 200 ducks, they'd slow down line of sight checks because the game is both checking to see if each of those ducks can see anything and everything else has to check to see if they can see each of those ducks.
Then, when you slaughter them it will help a bit (we no longer have to check if the 200 ducks can see anything) but would still leave a permanent dent because 50 years later Dwarf A (now an adult) will still be considering whether it can see each one of those 200 long-dead ducks whenever it checks to who it can see.
It sounded like there were several different options on how to fix this - from pruning the list of inactive creatures, to creating a new list specifically for these kinds of checks that only contains the active creatures from the original complete list - but right now, it sounds like having fewer creatures *ever* within your fortress is the best way to block FPS slowdown, rather than worrying as much about how many are there at any given time?
TBH it's not something I'm overly concerned about as I can't recall having any FPS-death forts aside from ones that were already dying from flooding
My forts usually 'die' because I embarked in a rather suicidal manner, screwed up something significant, or wanted to try something different before I even got that far.
But I am always curious about the reasoning behind these issues whenever I happen to be made aware of them