-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Parallel Mesh Collection #22297
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
base: main
Are you sure you want to change the base?
Parallel Mesh Collection #22297
Conversation
|
CI failures are real, but should be easy to fix. |
# Objective - Add a stress test that exercises the 3d mesh pipeline for dynamic scenes. - Large static scenes like caldera hotel don't expose performance issues when many meshes are moving. - Give us a way to benchmark PRs like - #22297 - #22281 - #22226 ## Solution - Make a 3d version of `bevymark`, sticking to the existing patterns as closely as possible. ## Testing <img width="1072" height="684" alt="image" src="https://github.com/user-attachments/assets/41214ba9-ffad-471d-a320-1f007490dead" /> --------- Co-authored-by: Carter Anderson <[email protected]>
|
@alice-i-cecile g2g now |
|
Added to the milestone as it seems about equivalent to my others perf PRs that were also added. |
pcwalton
left a comment
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.
The logic looks fine, but I think with some different factoring this would be easier to maintain and check. I'm not 100% sure the refactoring is viable, but I'd like to see if we can try.
pcwalton
left a comment
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.
OK, I love this. This will help so much with making other parts of the system parallel, and addons and apps should be able to use this for increased parallelism too. In fact, it's essentially a big upgrade for the ECS, allowing easy parallelism in situations where par_iter() on a query isn't enough.
Thanks a bunch for taking the time to refactor it!



Objective
collect_meshes_for_gpu_building, a bottleneck for scenes with many moving meshes.Solution
Testing
bevymark_3dstress test for benchmarking dynamic 3d mesh scenes. This is not currently covered by our stress tests. Bevymark 3D #22298