-
-
Notifications
You must be signed in to change notification settings - Fork 21.9k
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
Optimize Path3DGizmo mesh generation #83741
Optimize Path3DGizmo mesh generation #83741
Conversation
How much did performance improve in your tests? |
After experimenting more with the |
Let us know when this is ready for review. |
It's ready now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally, it works as expected (gizmo appearance is identical to before, and editing the gizmo still looks correct).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Thanks for following up
Thanks! |
Optimizes the way Path3d editor preview meshes are generated by avoiding unnecessary reallocations and COW, as suggested by AThousandShips in #83698 (comment).
Also fixes a bug where the function would reach outside of the
frames
array when generating_collision_segments
.The function itself is bottlenecked mainly by the
sample_baked
function and as such the resulting times vary between 3.5s and 5.0s.As for the changes with the modified part of the function:
Build: editor x64
--production=yes
&debug_symbols=yes
Path3D with baked length of 26744.5: