It's not clear what you mean by this... I thought Dilvish was talking about the in-game objects list. Objects your empire knows are destroyed can be removed from this list.Nagilum wrote:I disagree, the obvious thing to do would be to remove destroyed objects.
Or if you mean remove them from the universe info sent to all players, that would give an empire information that it shouldn't have according to the visibility rules.
It likely does, but probably the number of destroyed ships is less of an issue than grown in the number of existing ships.The reason I brought it up is that I'm wondering if that accumulation of ships contributes to the decrease in speed.
Here's where you're wrong or not considering everything relevant...I still don't understand how the game can keep the CPU busy for _several seconds_ when I just select a different ship. The numbers being displayed have either been calculated during the turn or are the result of a handful of simple equations.
The slowdowns when selecting ships are generally going to be partly due to estimating populations on planets for the species with the selected ship. This is not done between turns; it's only done in the client when it needs to display that information.
There are well more than a "handful" of effects being applied to objects to determine their meter values. species.txt is almost 3000 lines long, and that's with a bunch of macros being used repeatedly to reduce the file size.
It's also a bit tricky to make sure only the necessary objects' meters get updated. It's likely re-estimating a bunch of unnecessary meters when selecting ships.
The calculations are also not necessarily simple. Much of the time is spent figuring out what objects to act on, rather than just acting on them. (This is an area where having lots of previously-visible ships in the player's view of the universe could slow things down...). The conditions that select those objects can be complicated, and if not written / scripted properly, can be quite slow to evaluate.
Another issue is just updating the UI. Apparently some systems just aren't very fast at allocating memory for a bunch of new screen widgets to store their info, so if that has to be done repeatedly to refresh the UI, it can take a long time. Until some recent changes, the biggest contributor to UI lag in many cases was allocating the memory to display the ship and fleet data in the fleets window. This has since been tweaked so the memory is only allocated when an individual panel is displayed, rather than allocating memory for all panels in the window (which could be hundreds for big fleets).
You might try closing the sidepanel before changing fleet selections, as this reduces the need for meter updating to be done to keep the UI updated.
I never see .9s for the number of ships stat. From 1 to 10, it's always .0....if I have three ships in a fleet the fleet will show "2.9" and similar for invading the game will show "7.9" when it should show "8" for example?
The UI widget is built to handle floating point data, and was reused for displaying an integer value. The number of ships is (I think) calculated as an integer, but gets treated like a float when passed into the number formatting function by the widget's code.Why use floating point for integer type data in the first place?