Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On the C++ side:
std
containers withabsl
containers whenever possible. This saves maybe 5% of the CPU.On the C# side:
SetPositionAndRotation
to change the transforms. This is supposed to be faster but I guess that it has no effect when the physics is not auto-syncing.TryGetValue
instead ofContainsKey
+Item[]
, this saves a lookup.PartModule
s of aPart
to use a vanilla iteration instead of Linq. This saves about 10% of the CPU.At this point we are reaching diminishing returns: Principia is using about 25% of the time of a frame, so any further optimization is going to be essentially invisible.
Fix #3230.