EMSUSD-4033 - Improve object selection in large stages - #4707
EMSUSD-4033 - Improve object selection in large stages#4707AramAzhari-adsk wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Disables VP2 consolidation for mesh selection-highlight overlays to reduce selection stalls in large USD stages.
Changes:
- Marks selection-highlight render items as unconsolidated.
- Documents the performance tradeoff and rationale.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| // these participate in consolidation, OGS breaks and rebuilds consolidation across | ||
| // the entire stage (observed as a multi-second stall on large stages). Leaving them | ||
| // unconsolidated draws them individually and preserves the exact highlight visual. | ||
| _SetWantConsolidation(*renderItem, false); |
There was a problem hiding this comment.
After the stall though is performance better if all selection render items are consolidated?
There was a problem hiding this comment.
Does consolidation happen immediately in maya, in the built-in max consolidation there is a short delay (a second or so)
There was a problem hiding this comment.
the manip performance is better in case of consolidation. However the difference is negligible / acceptable, whereas the initial stall in case of consolidation is 12 seconds for a relatively large scene and it gets worse.
Without the optimization, re-consolidation happens on click.
There was a problem hiding this comment.
Sounds like a trade off we want to make
deboisj
left a comment
There was a problem hiding this comment.
My only concern is for ''after the stall'' VP responsiveness if we never consolidate the selection render items
Valid concern. Imo the stall is small enough but we'll get feedback on this. |
By default, most common render items participate in consolidation
maya-usd/lib/mayaUsd/render/vp2RenderDelegate/mayaPrimCommon.cpp
Line 457 in fe05f54
This change excludes the highlights. This makes it very quick to highlight items, but with the trade off of slower movement in very large scenes. However it is justified as the non consolidation slowdown is acceptable. The highlight selection is a common user interaction and can easily freeze the DCC for a dozen seconds. Now that is reduced to only a second or two.
For small to medium sized stages, the actions are instant.