I guess basically it's got to keep track of what's in every square within a certain proximity of the character. That's underground too. Especially upon first loading them all, the game chugs. Also I'm not sure how efficiently it's coded. The game generates the areas as you explore, so any time I go to a new area it slows down a bit.