Skip to content

benchmarks: cover retained renderer workloads - #75

Open
tritao wants to merge 15 commits into
stack/retained-interaction-performancefrom
stack/retained-workload-coverage
Open

benchmarks: cover retained renderer workloads#75
tritao wants to merge 15 commits into
stack/retained-interaction-performancefrom
stack/retained-workload-coverage

Conversation

@tritao

@tritao tritao commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Builds on #74 and completes the workload/contract coverage for the current
retained-performance stack.

Purpose

The earlier benchmark foundation provides measurement tools, but performance
contracts need scenes that resemble the renderer's important scaling cases:
large incremental edits, repeated geometry, staged assemblies, selection, and
picking. Without shared workload definitions, two renderer paths can appear
comparable while doing different semantic work.

This PR expands the shared workloads and turns the architectural expectations
of the optimization stack into deterministic, non-timing assertions. It adds
coverage and diagnostics rather than another renderer optimization.

What changed

  • Add focused incremental mutation workloads and batch-size curves.
  • Model expanded, shared-source, recipe-based, and staged assemblies.
  • Add closest-pick, depth-stack, hover-style refresh, and selection scaling
    workloads.
  • Report visual submission phases and ordered-submission opportunities.
  • Share the same scenes between benchmarks, parity tests, and the workload
    viewer.
  • Document how to run, pin, compare, and interpret benchmark results.

Performance contracts

Wall-clock results remain informational. Tests instead assert properties such
as whether an eligible edit avoided a full draw-list rebuild, whether plan or
resource revisions changed, whether application-owned framebuffers were
preserved, and whether all renderer paths produced equivalent output.

These contracts make later performance changes reviewable without depending
on noisy CI timing thresholds.

Validation

  • Mutation and interaction curves across compatibility and core profiles.
  • Workload parity and interactive-viewer smoke coverage.
  • Cache-invalidation and application-owned framebuffer invariants.
  • Workload suite exercised by the full top-stack platform CI and CodeQL run.

@tritao tritao changed the title stack/retained workload coverage benchmarks: cover retained renderer workloads Aug 22, 2026
@tritao
tritao force-pushed the stack/retained-workload-coverage branch 2 times, most recently from bcdf4b4 to 4d5b25f Compare August 22, 2026 10:10
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 4d5b25f to f4bf2c5 Compare August 22, 2026 10:25
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from f4bf2c5 to 12854ca Compare August 22, 2026 10:38
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 12854ca to f632c47 Compare August 22, 2026 10:49
@tritao
tritao force-pushed the stack/retained-workload-coverage branch 3 times, most recently from 2ce9ab0 to fcd432f Compare August 22, 2026 13:47
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from fcd432f to 657c951 Compare August 22, 2026 15:57
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 657c951 to 167b9a2 Compare August 22, 2026 18:51
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 167b9a2 to 0052bf1 Compare August 22, 2026 18:57
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 0052bf1 to 58d328f Compare August 22, 2026 19:48
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 58d328f to 921ebce Compare August 23, 2026 01:44
@tritao
tritao marked this pull request as ready for review August 23, 2026 01:46
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 921ebce to 4716b37 Compare August 23, 2026 02:13
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 4716b37 to 7edf3d3 Compare August 23, 2026 03:00
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 0c48350 to fb01816 Compare August 23, 2026 13:43
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from fb01816 to 802019b Compare August 23, 2026 14:07
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 802019b to 0688372 Compare August 23, 2026 14:51
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 0688372 to 281bc82 Compare August 23, 2026 15:02
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 281bc82 to 2126502 Compare August 23, 2026 15:15
@tritao
tritao force-pushed the stack/retained-workload-coverage branch from 4ef80b5 to 0ce44df Compare August 23, 2026 17:46
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