Public-works profiling shows composition thrash during batch curb edits. What fix most directly cuts recomposition cost?
Select an answer to reveal the explanation.
Short Explanation
You can reduce composition thrash by surrounding the curb batch edits with an SdfChangeBlock, which defers and merges recomposition work. Renaming each prim after every write or flattening the city twin after each point adds cost, while disabling networking does not address local recomposition.
Full Explanation
Public-works profiling that shows composition thrash during batch curb edits points to surrounding the batch with an SdfChangeBlock. When edits touch many curb points, widths, or material bindings, immediate notices can trigger repeated recomposition; a change block defers and merges that work until the batch completes, reducing the profiled cost without flattening the city twin. Renaming all curb prims after each attribute write creates still more edits and worsens thrash. Permanently disabling networking on the authoring laptop may affect remote assets, but it does not address local notice-driven recomposition. Flattening the entire city twin after each curb point is extremely expensive and destroys modular composition rather than optimizing the batch. Exam caveat: If thrash comes from listeners outside Sdf, such as custom stage listeners or live viewers, pausing UI refresh may also be needed; SdfChangeBlock remains the core Sdf-level fix for bulk edits. Nested blocks must be balanced correctly in error paths. Practical check: Reproduce curb batch edits under a profiler, apply SdfChangeBlock around the loop, confirm recomposition and notice metrics drop, validate curb geometry against survey, and update public-works authoring scripts to require change blocks for multi-attribute curb updates.