You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is hitting about 6ms in my profile captures. I have about 1000 objects with orbits (mostly asteroids, but this isn't a crazy number if you have a lot of debris or are playing Galaxies Unbound). This code skips the heavyweight work when the map mode isn't open, but really we should just disable the updates on all these objects until the map or tracking station is opened.
(I'm working on this one)
The text was updated successfully, but these errors were encountered:
Recap of the discussion in the closed PR : I don't think it's even worth it to disable MapObject instances. The base class has actually no OnLateUpdate() implementation, only ScaledMovement is doing something, and we can't disable those.
Profiling with ~54 scaledspace objects (stock bodies + a bunch of vessels and asteroids) gives the following results :
This is 0.01 ms of gains for 54 objects, so extrapolating a bit, even for a game with 1000 scaledspace objects, that's less than 0.2 ms avoided (and probably much less in a non-debug game, remember that all managed runtime optimizations are disabled here).
The only significant gains are from bailing out early of OrbitRendererBase.LateUpdate() :
Given that disabling MapObject instances is inherently risky, I think I will only implement early bail-out in OrbitRendererBase.LateUpdate(), as this account for 99% of the perf gains and is quite safe to do.
This is hitting about 6ms in my profile captures. I have about 1000 objects with orbits (mostly asteroids, but this isn't a crazy number if you have a lot of debris or are playing Galaxies Unbound). This code skips the heavyweight work when the map mode isn't open, but really we should just disable the updates on all these objects until the map or tracking station is opened.
(I'm working on this one)
The text was updated successfully, but these errors were encountered: