Yes, after every ~50 visits to a city the game slows down notably. Sometimes I had to go to task manager 2 or 3 times a turn in my BC Space game.
So I gather it should be possible for me or anyone to reproduce the issue by loading one of your savegames and cycling through all cities once (and maybe ending the turn and then doing it again). If I don't experience lag, it would have to come down to OS, hardware or INI settings and player options somehow. I get no lag by just running AI Auto Play (AIAutoPlay mod or Python console in the original game – same result for me either way) for 250 turns on a large map and then taking control of the biggest civ and cycling through its cities.
Most YouTubers don't seem open the city screens much. 5 hours into this video (4:55:40 to be exact)
www.youtube.com/watch?v=_B9Gv20h8uk&t=17740s
on what looks like a Huge map, the player cycles through his cities. Seems a little bit slow, but maybe not quite the 1-2 seconds that Pangaea mentioned. Well, it seems that he had barely ever opened a city screen before in that game.
That was the name, K-Mod. It's so many years ago now, but I seem to recall the author saying some of the memory leaks and UI misbehaviour had been fixed in his mod, but maybe that wasn't correct after all.
It does fix a few memory leaks in the DLL, but I don't think those were very consequential; a few MB perhaps. The changelog is extensive, but a search for "memory", "leak" or even just "performance" doesn't turn up much that could be relevant here. The download page (correctly) states that the mod features "
many technical improvements, including shorter waiting-time for AI turns, fewer OOS errors in multiplayer games, and many user-interface improvements and bug-fixes."
For memory issues with the Realism Invictus mod (which is based on K-Mod fwiw), I've seen an external tool named "Process Lasso"
suggested a while ago. Whatever that tool does, a mod could presumably also do. But it might be a different issue than what you two are describing.
Is the .exe available too for those who want to look at it, or is that a black box?
A black box pretty much. One can (somewhat) track the interactions with the gamecore DLL and with some third-party DLLs (e.g. DirectX I guess). Debugging the disassembly of the EXE itself (as described in
this guide for the Caveman2Cosmos mod) is difficult and tedious. For example, I've been trying to figure out where the EXE sets the size of the resource bubbles, but this seems like a pretty hopeless quest. Caveman2Cosmos is also where I'd start if I wanted to get the EXE to allocate less or free more memory;
this thread in particular comes to mind.