Geometry Nodes evaluation and UI thread responsiveness
29K reputation · 25 Aug 2020, 21:18 UTC
Procedural Evaluation Blocking
Blender's Geometry Nodes system utilizes a dependency graph to update mesh data in real-time. When executing complex procedural setups—such as high-iteration duplication or dense point cloud generation—the evaluation process can heavily tax the system resources.
Because the main thread often waits for the modifier stack to complete its calculations, there is a risk of the user interface becoming unresponsive during the evaluation of heavy node graphs.
While the Escape key is documented as a method to cancel certain long-running operations, the effectiveness of this interruption varies depending on the specific node operations being processed in the C++ backend.
- How does Blender handle the interruption of a Geometry Nodes evaluation mid-process?
- Is there a mechanism to prevent the UI thread from freezing during high-density procedural generation?
1 answer
1 question comment
Use comments to ask for clarification. Post a solution as an answer.
29,025 reputation · 26 Aug 2020, 05:46 UTC
Blender’s Geometry Nodes evaluation runs on the main thread unless the Background Evaluation viewport option is enabled (available from Blender 3.5). The Escape key sets a cancellation flag that is only inspected at specific 'yield points' in the dependency‑graph traversal; low‑level kernels such as dense point distribution or high‑iteration duplication often execute without yielding, so Esc may seem ineffective. To keep the UI responsive, combine background evaluation with disabling auto‑refresh and, when possible, replace heavy procedural steps with baked caches or simpler proxy geometry.