Optimise VectorLine camera projection for improved Map View performance#281
Merged
Conversation
Halbann
commented
Oct 31, 2024
gotmachine
reviewed
Oct 31, 2024
gotmachine
reviewed
Oct 31, 2024
gotmachine
reviewed
Oct 31, 2024
gotmachine
reviewed
Oct 31, 2024
Contributor
|
I would recommend validating your results by comparing them to the original method results. KSPCommunityFixes/KSPCommunityFixes/Performance/FlightIntegratorPerf.cs Lines 684 to 729 in 93b57a1 |
- Check against frame count - Add viewport struct - Remove vector allocations
Halbann
commented
Nov 2, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Orbit rendering takes up a significant majority of the frame time with a large number of orbit lines visible in the Map View, which is mainly caused by camera projection done by VectorLine.
This patch improves performance by caching the camera's projection matrix multiplied with its view matrix once per frame, and replacing calls to different camera projection functions in VectorLine with our cached versions.
Will write a full description with some benchmarking results when the patch is more complete.