Skip to content

perf(core): PRD-564 retain render targets across scale changes - #489

Draft
jonit-dev wants to merge 58 commits into
developfrom
perf/prd564-resolution-subrect
Draft

jonit-dev wants to merge 58 commits into
developfrom
perf/prd564-resolution-subrect

Conversation

@jonit-dev

@jonit-dev jonit-dev commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Resolution-scale changes retain render-target capacity while generated render source samples the active rectangle. Unsupported stages retain ordinary resizing and report refusal.

PRD-564: 4/5 phase boxes (75%), AC-2 complete, AC-1 open. Draft; not ready to merge.

Current source 1664a981 passes 87 focused scaler tests, workspace typecheck and core build. Selected browser/desktop conformance passes with 300 native frames and zero pixel/perceptual difference. Both parity CLIs exit 2 because 107 unselected rows are blocked; this is not full native qualification.

Current product source 1664a981, synced at clean checkout 21c5d5548, passes full Vitest: 780 files, 10,669 tests, 4 files/49 tests skipped, exit 0 in 591.21 seconds. Workspace typecheck and lint pass; lint reports 1,482 warnings and no errors. The initial laptop launch exited 75 at 97°C before tests ran; the completed suite is pr489-scalersuite-cool, launched after cooldown.

Latest baseline scheduler-qualified-baseline-host24-isolated-v1-1664a981 records all 279 frames on the RTX 2080 under atomic CPU reservation and supported, reversible DPMS screen-off. Baseline, run, ownership collector, scheduler decode and acknowledged recorder status all exit 0; Nsight profile/stop/export exit 0. The selected CPUs 10/11/22/23 have zero scheduler gaps or LOST reports. Timing remains UNQUALIFIED: the all-CPU trace contains distinct duplicate native scheduler records on CPUs 2/12/16, breaking its required continuity. No record is discarded or deduplicated.

A separate GPU diagnostic independently rejects the capture: Brave GPU PID 3172818 overlaps all three measured contexts (13.460/34.068/36.257 ms conservatively), with further terminal and desktop GPU activity. Per-context clock intersections are valid, with a 1.600 µs host clock envelope. Earlier clock and owned-thread migration proof defects were repaired without changing frame measurements or thresholds, but those repairs cannot erase the observed foreign GPU work. No raw timing is used to select continuation or decline, and no candidate timing pass is claimed.

Independent cleanup exits 0 and verifies both displays ON, original KDE panel/show-desktop state restored, root CPUs 0–23, owned CPU scope/client absent, and no restoration failures. All owned collectors have stopped and administrator authentication was invalidated. The original four-CPU recorder is restored for any future prospective cohort. A proposed temporary console switch failed independent safety review before any live action: delayed activation after a timeout could defeat bounded desktop restoration. That route was not run; the prior tested guardian is restored. The remaining doubtful assumption is that screen-off makes the desktop GPU quiet. Another unchanged capture is not a remedy, and the exact RTX 2080 gate cannot be moved to the Intel laptop.

Published screenshots and metrics retain their recorded-source scope: independent NEUTRAL visual preservation, with nonzero pixel differences.

Still required: a qualified original baseline and its unchanged continuation/decline decision, candidate timing if continuation is earned, current-head required CI qualification, and PRD completion before merge-queue submission. Further affinity-only captures stop; another loaded capture is not a remedy. Actual CPU/GPU isolation must be established before another timing decision.

@jonit-dev jonit-dev added the prd:0% PRD implementation has no verified phase yet label Oct 11, 2026
@jonit-dev

jonit-dev commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

PRD-564 final visual comparison (controller 7d886e7bf)

Fresh read-only final visual judge: NEUTRAL for all four before/after pairs and overall. Appearance is preserved; no visible regression or pose mismatch was found. This is not a runtime-performance verdict or a claim of completed acceptance. The owner-rule decision on NEUTRAL is pending.

Two runs per arm, same starter pose after 240 simulation ticks, 1280×720, hardware browser WebGPU (NVIDIA Turing). AFTER captures asserted the retained-target path was active. Images are immutable on the orphan prd-564-screenshots branch.

Pair Before After
Scale 1.0, run 1 Before 1.0 run 1 After 1.0 run 1
Scale 0.72, run 1 Before 0.72 run 1 After 0.72 run 1
Scale 1.0, run 2 Before 1.0 run 2 After 1.0 run 2
Scale 0.72, run 2 Before 0.72 run 2 After 0.72 run 2

All nine forced steps allocated zero texture bytes and built zero pipelines. Timing acceptance remains open: two steps exceeded following-frame p95. Current-source native parity is queued; final CI remains unverified. The blind visuals:ab result has MDE 0 and equal scores, so it is INDETERMINATE rather than proof of improvement.

@jonit-dev jonit-dev added prd:75% PRD phases in, acceptance open and removed prd:50% PRD half the phases verified labels Oct 14, 2026
@jonit-dev

Copy link
Copy Markdown
Contributor Author

PRD-564 final visual preservation proof: independent read-only judge NEUTRAL for both scale0.72 pairs and the scale1 run1 control; overall NEUTRAL. No visible crop, stale borders, effect displacement, pose change or clarity regression. The current owner rule accepts NEUTRAL for appearance-preserving performance work.

Both arms assert actual high quality and use the same static-grain override (intensity0.0039), 240 simulation ticks, headed hardware NVIDIA Turing WebGPU and 1280×720 screenshots. Scale0.72 uses ordinary922×518/inactive BEFORE and retained1280×720/active AFTER. Run1 uses live RAF; run2 uses frozen RAF in both arms. Shader times differ across contexts; this does not claim identical pixels or a numerical threshold pass.

BEFORE source 11b0a70cf SHA256 502ba75647b59067fe6aac1174faf2cad0b82c763d0bd988f313b30b1cd78099; AFTER ae0405096 SHA256 9d87d65b64c6d634bfaf17e3b096c20f5630d7fa80963473e86e9747ce207a63, unchanged by fixture-only 085595ed2. Source and live-quality/path receipts accompany the images in the screenshot commit.

Pair BEFORE AFTER
Scale0.72 run1 BEFORE 0.72 run1 AFTER 0.72 run1
Scale0.72 run2 BEFORE 0.72 run2 AFTER 0.72 run2
Scale1 run1 BEFORE 1 run1 AFTER 1 run1

Actual raw-image compareCaptures() results (unequal RGBA pixel ratio / mean CIELAB deltaE): scale0.72 run1 0.6473828125 / 0.497017760; run2 0.6477582465 / 0.497420701; scale1 run1 0.1356879340 / 0.089608370. Metrics supplement the visual verdict; visuals:ab quality-score INDETERMINATE/MDE is not pixel equality. Timing acceptance and final CI remain separate unfinished work.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prd:75% PRD phases in, acceptance open

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant