rendering: accelerate retained interaction - #74
Open
tritao wants to merge 6 commits into
Open
Conversation
tritao
force-pushed
the
stack/retained-interaction-performance
branch
5 times, most recently
from
August 22, 2026 11:14
0ec7e8f to
75c1b1b
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
2 times, most recently
from
August 22, 2026 15:57
2b2a0bc to
daa78cf
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
2 times, most recently
from
August 22, 2026 18:57
04503bd to
ea3fa59
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
from
August 22, 2026 19:48
ea3fa59 to
bd3c524
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
from
August 23, 2026 01:44
bd3c524 to
cc22141
Compare
tritao
marked this pull request as ready for review
August 23, 2026 01:46
tritao
force-pushed
the
stack/retained-interaction-performance
branch
from
August 23, 2026 02:13
cc22141 to
7edab1f
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
3 times, most recently
from
August 23, 2026 03:19
8a83ea7 to
af8b48c
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
from
August 23, 2026 09:33
af8b48c to
df541f8
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
2 times, most recently
from
August 23, 2026 11:13
6a4da3d to
7d6bffd
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
2 times, most recently
from
August 23, 2026 12:38
300668b to
03be934
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
6 times, most recently
from
August 23, 2026 15:15
5119ac0 to
5889090
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
from
August 23, 2026 17:46
5889090 to
8734242
Compare
tritao
force-pushed
the
stack/retained-interaction-performance
branch
from
August 23, 2026 21:21
8734242 to
697813f
Compare
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.
Builds on #73.
Purpose
Hover picking, selection changes, and depth-stack queries can run far more
often than the scene itself changes. Rebuilding the same interaction work or
waiting synchronously for avoidable GPU readback makes those operations scale
with the full retained frame instead of the requested interaction.
This PR prepares and reuses interaction-specific work, adds a direct
frontmost-target path for closest picks, and introduces internal asynchronous
readback machinery while preserving the existing synchronous public API.
What changed
API and fallback
SoRenderManagerremains synchronous. Backend request tokens, synchronization,and prepared interaction caches remain implementation details until an actual
consumer establishes the requirements for a public asynchronous API.
Unsupported or stale prepared work falls back to the established interaction
rendering and readback paths.
Validation
profiles.