-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
0.19 Performance Regression #24448
Copy link
Copy link
Closed
Labels
A-RenderingDrawing game state to the screenDrawing game state to the screenC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorC-PerformanceA change motivated by improving speed, memory usage or compile timesA change motivated by improving speed, memory usage or compile timesP-RegressionFunctionality that used to work but no longer does. Add a test for this!Functionality that used to work but no longer does. Add a test for this!S-Waiting-on-SMEThis is currently waiting for an SME to resolve something controversialThis is currently waiting for an SME to resolve something controversial
Description
Metadata
Metadata
Assignees
Labels
A-RenderingDrawing game state to the screenDrawing game state to the screenC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorC-PerformanceA change motivated by improving speed, memory usage or compile timesA change motivated by improving speed, memory usage or compile timesP-RegressionFunctionality that used to work but no longer does. Add a test for this!Functionality that used to work but no longer does. Add a test for this!S-Waiting-on-SMEThis is currently waiting for an SME to resolve something controversialThis is currently waiting for an SME to resolve something controversial
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Done
Bevy version
Relevant system information
1.97.0-nightly (4d1f98451 2026-05-15), but I did briefly test1.95.0 (f2d3ce0bd 2026-03-21)and the performance was similar.What's performing poorly?
I went from stable 60fps in both dev and release builds to ~25fps in dev and ~45fps in release.
My project is a voxel engine where meshes are generated from the voxel grid. However, I am taking these measurements when nothing is happening (after the meshes initially load, I have very little code running).
Source code is available here, with a
0.19branch that just updates and patches deps. The world will not render until the camera is moved for some reason, so pressMto lock the cursor and move it a little.Before and After Traces
I have tried to do some profiling, but I don't really know what I'm looking for. Some regressions that looked notable are:
schedule{Render}sub app{RenderExtractApp}schedule{PostUpdate}system{prepare_preprocess_bind_groups}If anyone has any ideas as to what to look for, I am happy to do more profiling. Otherwise, the full traces are here:
I also tried to do a frame capture in XCode, but XCode just crashes.