CESIUM_primitive_outline performance
Description
This commit only change the execution order of PrimitiveOutlineGenerator.updateAttribute.
This can fix performance issues with GLTF extension CESIUM_primitive_outline.
before
after
Issue number and link
Cesium after 1.96 had low performance with GLTF extension CESIUM_primitive_outline #12077
Testing plan
Author checklist
- [x] I have submitted a Contributor License Agreement
- [x] I have added my name to
CONTRIBUTORS.md - [x] I have updated
CHANGES.mdwith a short summary of my change - [ ] I have added or updated unit tests to ensure consistent code coverage
- [ ] I have updated the inline documentation, and included code examples where relevant
- [x] I have performed a self-review of my code
Thank you for the pull request, @MingFanZhu!
:white_check_mark: We can confirm we have a CLA on file for you.
Thanks for the PR @MingFanZhu.
@jjhembd Could you please review this PR?
Hi @MingFanZhu, sorry for the delayed follow-up. I think this looks good overall, I just have 2 questions:
- Can you explain why this change improves the performance?
- Do you have a Sandcastle example you can share, so that I can verify the performance improvement on my machine?
Thanks for your contribution!
Thank you for your reply For the first point, in fact, I only made modifications based on version 1.96 and did not carefully track the impact of this code. I have prepared a data on Cesium ion, and here is an example of loading this data. I have not found a way to switch between Cesium versions. Perhaps you need to prepare Cesium1.96 and Cesium1.97 in your local environment to load this data. Example URL:https://sandcastle.cesium.com/#c=bZJRb9MwFIX/ipWnTkJOSjsoopuoEikka1LK0o5OkZDr3K6mjl1spyFB/HecphMD8WBZ1/c7x9dHdl0UKiIM8kGzqozvEaEUtEZGokZWCjEpENEajM5Fz+BIClzAjlTczM5wJg8g0A3KHWji/TakbMHiaNVGw5RFOhKfr6kfvYkOxy9rP36HLfS9CA8WssC35XgR2OV7TRJEr+fZ0kuCxCwe1ofUH5bpw9JL28d9Gux5Um7Y3I+Pj9YsaekoaWc6Kvm+6OpsU6fZql5kiZeOPByHDQ1mk1lAVut2O5l/+irM6WMM4Ti527Dd1gth+fauqn8sJ7nzPhdUCm3QiUENyr5EQH1JBK/PZ4Pcoefal8IQJkDlzpXV5cKoBv3MBUK9hWEcbFrWg9SEPeeK+20UZH0b75QsbY6zLtmoGIyuJ5PhaNw5ossUWFMQgI+KlcywE2hMimJwse/B/oYL3kpZZvIl8AtRYugeDUApqa7+TCk5YC6fLucdmQvnlTPVpuFw21EfWHmUyqBK8QHGroHyyIkB7W4rerDjU6073dR9lkwLdkKsuPlPTIhy+4FsZ1dxfs9ayJ3bqWv5v2RckoKJp8UJFCeNRboxpvvh7bxvYIynri27S//VGin5lqgXvr8B