Use threads for baking navigation mesh inside editor #90508
Merged
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.
Enables threaded navigation mesh baking inside the editor.
Closes #90120
The baking with threads inside the editor was disabled because especially the SceneTree caused crashes in the past.
Now that the problematic parsing step and the baking step are split and a few new guards exist the baking can run on a thread again.
Note that there are still editor freezes from the parsing process with this as that needs to stay on the main-thread due to the SceneTree and nodes.
Longer freezes are primarily caused by the RenderingServer when visual meshes are parsed because the RenderingServer needs to shuffle all that Mesh data from the GPU back to the CPU.
Use collision shapes as source geometry instead of visual meshes to avoid most issues!