Skip to content

Require measured WebGPU frame completion and reject missing performance data - #409

Merged
qqrm merged 12 commits into
mainfrom
codex/measured-webgpu-performance-2026-10-15
Oct 15, 2026
Merged

qqrm merged 12 commits into
mainfrom
codex/measured-webgpu-performance-2026-10-15

Conversation

@qqrm

@qqrm qqrm commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

The performance workflows passed with no FPS samples; timing ignored render errors and counted submission without waiting for GPU completion. This batch requires real completed-frame measurements and fails CI on absent/invalid data or a per-workload median regression over 30%.

  • Run deterministic 1k/50k/1m source-candle workloads with production LOD, 10 warmup frames and 5 x 30 measured frames per case. Await GPU readback completion and reject no-op renders, invalid inputs and GPU errors.
  • Measure a pinned reviewed reference and the candidate on the same hosted runner, using identical browser, compiler and SwiftShader settings. Keep separate logs/sample sets and record both code SHAs plus environment provenance. Cross-host absolute calibration remains historical evidence only.
  • Require the reusable read-only benchmark in ci-gate; remove the duplicate workflow, reject missing/invalid baselines, and refresh compatible cache/setup-node pins.

Validation: formatting, locked all-feature checks, strict Clippy, actionlint and 10 Python regression tests passed. Hosted CI 38682129385 passed on ed16cfc: 117 browser Rust, 1 Node Rust, 7 Playwright, 10 Python tests; reference and candidate each passed 2 GPU tests and produced all 15 samples. Paired median changes were -0.01%, +9.09%, +0.61%; all security and CodeQL checks passed. Local cargo test builds WASM but cannot execute it directly on native Windows, so runtime execution uses hosted browsers.

Scope: cached LOD chart throughput with readback overhead on software SwiftShader. Physical GPU/display FPS, initial loading and live-update cost are not established. PR #407 contains additional major dependency migrations and is not superseded.

Code: F:tests/performance_limit.rs; F:scripts/parse_perf_log.py; F:scripts/compare_fps.py; F:.github/workflows/benchmark.yml; F:.github/workflows/PIPELINES.md.

@qqrm
qqrm marked this pull request as ready for review October 15, 2026 04:22
@qqrm
qqrm merged commit 7425a27 into main Oct 15, 2026
16 checks passed
@qqrm
qqrm deleted the codex/measured-webgpu-performance-2026-10-15 branch October 15, 2026 04:38
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