Skip to content

rendering: reuse retained plan and resource work - #78

Open
tritao wants to merge 2 commits into
stack/retained-incremental-updatesfrom
integration/retained-performance-wip
Open

rendering: reuse retained plan and resource work#78
tritao wants to merge 2 commits into
stack/retained-incremental-updatesfrom
integration/retained-performance-wip

Conversation

@tritao

@tritao tritao commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Builds on #72.

Purpose

An incremental update can patch retained command content successfully while
leaving render-plan ordering and GPU geometry resources unchanged. Treating
every content revision as if it invalidated all derived work still forces plan
construction and backend resource validation on otherwise cheap transform or
material edits.

This PR consumes #72's explicit invalidation domains. It preserves a render
plan when planning semantics did not change and skips GPU resource validation
when resource identity and revisions remain valid.

What changed

  • Reuse render plans for eligible opaque transform and non-opacity legacy
    material updates.
  • Preserve validated GPU resources across dynamic state-only changes.
  • Keep plan and resource revisions independent from the general content
    revision.
  • Extend mutation benchmarks with the backend phases needed to prove which
    derived work was skipped.

Safety and ownership

This layer does not classify mutations. It relies on the invalidation result
produced by SoRetainedUpdater in #72. Transparent ordering, geometry,
visibility, opacity, pick topology, and structural changes remain
conservative and invalidate the derived work they can affect.

Performance

For 50,000 shared-recipe occurrences on the tested Intel/Mesa system,
transform and material update frames improved from roughly 41–46 ms to
16–18 ms. Eligible samples report zero plan-construction time and less than
0.001 ms of GPU-resource validation.

These measurements describe one controlled machine. Revision counters and
skipped-phase assertions are the deterministic contract.

Validation

  • Full core-only and LegacyGL-enabled Coin test suites.
  • Focused hardware smoke, interaction, and mutation benchmark modes.
  • Parent GUI and Pivy build, link, and runtime import checks.

Stack note

This PR supersedes #77. GitHub marked #77 merged during an earlier ownership
restack because its rewritten head became an ancestor of a temporary base; it
was not merged into the repository's default branch.

@tritao tritao changed the title integration/retained performance wip rendering: reuse retained plan and resource work Aug 23, 2026
@tritao
tritao force-pushed the integration/retained-performance-wip branch 2 times, most recently from 1129b0b to e81e91b Compare August 23, 2026 03:00
@tritao
tritao force-pushed the integration/retained-performance-wip branch from e81e91b to 5ee4ffb Compare August 23, 2026 03:09
@tritao
tritao force-pushed the integration/retained-performance-wip branch 2 times, most recently from 7f43d01 to b7dbfe1 Compare August 23, 2026 09:33
@tritao
tritao force-pushed the integration/retained-performance-wip branch from b7dbfe1 to aee884a Compare August 23, 2026 10:09
@tritao
tritao force-pushed the integration/retained-performance-wip branch from aee884a to 3a1b2e3 Compare August 23, 2026 11:13
@tritao
tritao force-pushed the integration/retained-performance-wip branch from 3a1b2e3 to 758c053 Compare August 23, 2026 12:26
@tritao
tritao force-pushed the integration/retained-performance-wip branch 2 times, most recently from 0f7d0f3 to 789039d Compare August 23, 2026 13:14
@tritao
tritao force-pushed the integration/retained-performance-wip branch from 789039d to b6da1af Compare August 23, 2026 17:46
@tritao
tritao force-pushed the integration/retained-performance-wip branch from b6da1af to e136b0d Compare August 23, 2026 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant