-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Poor performance while flight planning for extended periods of time around bodies with many moons #3035
Comments
(Note: this is a tracking bug opened at my request so that we don’t forget about this performance issue; it is unlikely that we will do something about this in the near term. As an example of a concrete effect, Reach’s save for the « all planets flyby » video only has a manœuvres up to July 1977, i.e., for the inner solar system trajectory—whereas there are TCMs into the early 80s—; I suspect it was impractical to plan the outer solar system TCMs within the same flight plan.) |
First thing I am noticing when investigating this: the following logic, which tries to piggyback on stock to draw only a subset of the celestial trajectories, is broken. We now try to plot the trajectory of every body, spending a while considering, e.g., the trajectory of Io while zoomed on Neptune. Principia/ksp_plugin_adapter/ksp_plugin_adapter.cs Lines 2246 to 2263 in 652152e
This is obviously disastrous in terms of performance. The stock logic was never really appropriate, and as we have just seen, relying on stock is a bit brittle; we should try to come up with our own criterion for ignoring celestials. |
|
Brought back to our attention by #4153. We use two different angular resolutions in Principia: Principia/ksp_plugin_adapter/plotter.cs Lines 158 to 161 in 68853a6
With a 60 degree FoV, that would be 1.3 arcmin on my laptop, 0.88 arcmin on childeric, 2 arcmin on belliniano (so the beefiest machine of the lot also gets the least work to do). For plotting,
This is a slightly finer resolution than the diffraction limit. It notionally corresponds to 20/8 vision. It is also finer than any screen I have. Even using the screen resolution as our angular resolution is probably overkill, but this is ridiculous and affects performance. |
For example, severe performance degradation is experienced while fine-tuning Jupiter encounters due to the amount of moon trajectories visible on-screen.
A potential solution, as first mentioned by N9Gaming on Discord, is to make trajectories hideable: https://discord.com/channels/319857228905447436/480397772248580098/837123055880503307.
The text was updated successfully, but these errors were encountered: