On my system (2.13 GHz Core 2 Duo), the short range chart is pretty slow (about 40 fps, using 100% CPU). The problem is that drawStartChart
for every nearby system for every single frame, and collectively that takes an awful lot of work.
What do you think about the following alternative? Instead of recomputing everything every frame, just store the little bit of data for whichever systems are in range, and use the cached values whenever possible (which is almost always, unless the player has moved). That change drops the CPU usage for me to 45% and ups the frame rate to 75 fps (my monitor vsync rate).
I have a patch to GuiDisplayGen.m, but it's a little bit big, so I've put it here:
Bye for now,
- Yet Another Jameson