Repository navigation
Keep instance segmentation refreshes fast with many annotated components - #168
Merged
WouterJansen merged 1 commit intoOct 5, 2026
Merged
Conversation
Each refresh hid every annotation component again in every camera's scene and lighting captures and the player's view with AddUnique, which is quadratic, and never dropped destroyed components; UpdateAnnotation- Components also searched its list for every component. With thousands of annotated meshes a refresh took tens of milliseconds to seconds of game thread time. - Hiding uses a set (linear) and drops destroyed components. - The annotator remembers the components added since the previous refresh, and cameras hide only those; refresh serial numbers make a camera that is new, or missed a refresh, hide all of them instead. The player's view is updated once per refresh rather than once per camera. - UpdateAnnotationComponents looks components up in a set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JmWqXFCY6vDdpRe4VHoaQX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Instance segmentation refreshes get slow with many annotated meshes: each refresh re-hid every annotation component in every camera's scene and lighting captures and the player's view with
AddUnique(quadratic), never dropped destroyed components, andUpdateAnnotationComponentssearched its list for every component.Found in HERCULES (a Cosys-AirSim fork, UE 5.8.3) with ~25k annotated streamed map tiles, where a refresh took ~48 ms of game-thread time; afterwards segmentation images were unchanged and the stutter gone. This tree's version also hides the lighting capture; built from it with UE 5.8.3 (Windows), segmentation images in Blocks render as before.
🤖 Generated with Claude Code