Brendan wrote:Cham wrote:I have the impression that Celestia is the most heavily demanding piece of software ever wrote.
maxim wrote:It's simply not very optimized. I think the initial design didn't cover the current usage load.
What optimizations could be made and where?
The easiest place for me to help out may be loading addons.
Brendan
Well /culling/ of objects is the main issue.
Quite some time ago I spent weeks scanning through the code of render.cpp. Since there are so many objects to render, culling is crucial. For certain configurations I managed to get speed-ups by a factor of 30!
The frustration is due to the fact that any objects outside the field of view need not be rendered. Yet, in order to find out whether an object (e.g. an asteroid) is outside the FOV, one needs to solve Kepler's equation first. That takes time...
I devised all sorts of approximations thereof. Yet due to our /exponential/ zooming, those have a tendency to break down easily...
This is really tedious and most delicate matters. So,
at some point, I gave up, well aware that there is still much room for further work...
Bye Fridger